這是 HPC 還是 HA mySQL 集群?
有人可以告訴我這是高性能計算還是高可用性 mySQL 集群?
有一張設置圖。
這是
config.ini
他們談論的一部分[ndbd default] NoOfReplicas=2 # Number of replicas
NoOfReplicas
確定我是否擁有 HPC 或 HA 集群是否正確理解?
使用該頁面上所示的設置,您可以獲得 HPC 和一些 HA 元素。如果其中一個 NDBD 伺服器發生故障,SQL 伺服器將連接到另一個伺服器,並且通常無需干預即可繼續執行。如果其中一個 SQL 伺服器發生故障,應用程序必須知道連接到另一個 SQL 伺服器(或需要有一個抽象層)才能維持 HA。
副本用於跨伺服器的冗餘,這反過來可以提供更高的可用性。副本的數量與分區中的伺服器數量直接相關,這些伺服器可能會在不使 MySQL Cluster 離線的情況下發生故障。
分區將跨伺服器拆分處理,這反過來可以提供更高的性能。分區的數量與查詢 MySQL Cluster 的伺服器數量直接相關。
讓我看看我能不能說清楚。如果您有兩個具有兩個副本的伺服器,則寫入性能可能會降低,因為必須複製數據。在這兩種情況下,無論是單個副本還是兩個副本,讀取性能都可能會提高,因為有兩個分區(兩個伺服器)來拆分查詢。
MySQL Cluster 不提供 MySQL Server 前端的冗餘,因此它不是一個開箱即用的即時 HA 解決方案。您將需要應用程序邏輯來定位可用的 SQL 伺服器,或者您將需要服務監控/網路邏輯來切換出故障的 SQL 伺服器並具有該功能。(您也可以嘗試直接在應用程序伺服器上安裝 MySQL 伺服器前端。)
此外,MySQL Cluster 的性能影響或好處將根據您的應用程序使用數據庫的方式以及存在的瓶頸而有所不同。從本地套接字切換到網路連接會增加延遲。對記憶體數據的簡單查詢將成為 SQL 伺服器的瓶頸。另一方面,受處理器或我的磁碟 I/O 約束的某些處理將受益匪淺。了解 MySQL Cluster 對您的應用程序的確切性能影響或好處的最佳方法可能只是對其進行測試。