標籤:
mysql cluster是基於ndb儲存引擎。
整體分為三大部分,管理節點,儲存節點,sql節點。
管理節點用於管理整個叢集;儲存節點及ndb節點,用來儲存資料;sql節點則負責接收用戶端的sql請求。
mysql cluster 特性如下
| 效能和擴充能力 |
| 自動分區 |
資料庫自動、透明地分佈於低成本的商用服務器上,這樣無需更改應用程式即可以向外擴充的方式增加讀寫查詢的能量。 |
| 多主複製 |
每個資料節點都可以接受寫操作。這項功能與自動分區功能相結合,提供了非常高的寫操作擴充能力。 |
| 分布式跨分區 JOIN |
適應性查詢本地化將 JOIN 操作下放到資料節點,這樣它們就可以並行地在多個本機資料副本上執行。 |
| 即時響應 |
記憶體中的表和索引非同步重新整理到磁碟並綁定到 CPU 線程,低延遲。 |
| 開發人員 API 和資料模型 |
| SQL |
MySQL Server 針對叢集提供一個標準的 SQL 介面,可通過所有標準 MySQL 連接器(如 JDBC、ODBC.NET 等)串連各種 Web 開發語言和架構。 |
| 使用 Memcached 的 NoSQL |
原生索引值訪問,繞過 SQL 層訪問 存於數據節點中的數據,用於結構和非結構的資料存放區。 |
| 使用 JavaScript 和 node.js 的 NoSQL |
支援通過伺服器端JavaScript繞過 SQL 層直接存取存於資料節點中的資料,以加速資料的查詢和維護 |
| 使用 C++ 的 NoSQL |
原生 C++ 訪問,繞過 SQL 層可獲得極低的延遲 |
| 使用 Java 和 JPA 的 NoSQL |
原生 Java 和 JPA 訪問,繞過 SQL 層訪問企業、Web 和電信服務 |
| 使用 REST 的 NoSQL |
原生 HTTP/REST 訪問,使用 Apache mod_ndb 繞過 SQL 層 |
| 結構和非結構式的資料模型 |
預設使用完全結構化的關係資料模型。使用 Memcached API,每個索引值都寫入相同的表中,每個索引值對預設儲存在一行中,也可以配置為寫入多個現有表中。 |
| 99.999% 的可用性和資料完整性 |
| 符合 ACID 要求、事務型 |
MySQL Cluster 全面支援 ACID(獨立性、一致性、隔離性、持久性)事務。 |
| 外鍵約束(Constraint) |
MySQL Cluster 自動在表間實施參照完整性。 |
| 分布式、無共用架構 |
叢集中的每個節點都是冗餘的,可以放在單獨的主機上,從而確保在發生進程、硬體或網路故障時的持續可用性。 |
| 無單點故障 |
每個節點都有自己的磁碟和記憶體,因此消除了共用組件(如儲存)帶來的故障風險。 |
| 同步複製 |
每個資料節點內的資料都同步複製到至少一個其他節點上。如果某個節點發生故障,至少有另一個資料節點儲存著相同的資訊。 |
| 亞秒級自動故障切換 |
MySQL Cluster 的心跳機制可立即檢測到任何故障,並自動故障切換到叢集中的其他節點,通常在一秒鐘內完成,不會中斷提供給用戶端的服務。 |
| 自我修複式恢複 |
故障節點能自動重新啟動並在重新加入叢集前與其他節點重新同步,從而實現自我修複,此過程對應用程式完全透明。 |
| 跨地區複製 |
將一個叢集從一個資料中心複製到另一個資料中心,從而實現災難恢複並降低網路延遲的影響。每個叢集都能接受寫操作,並在內部處理衝突,從而確保叢集間的一致性。 |
| 多網站叢集 |
資料節點可以分散到多個資料中心,因此發生節點故障時可以在不同網站之間同步複製並進行自動故障切換。 |
| 聯機操作 |
| 聯機模式更新 |
支援聯機添加列和表,以及聯機添加和刪除索引。 |
| 聯機擴充 |
可以按需向正在啟動並執行叢集添加節點以提高效能和容量。可以向叢集中動態添加應用節點,也可以從叢集中動態刪除應用節點,非常靈活。 |
| 聯機維護 |
支援線上對底層硬體、作業系統和 MySQL Cluster 進程的升級和補丁安裝。 |
| 聯機備份 |
備份檔案是資料庫的一致的叢集範圍快照,可以存檔並複製到安全的遠程位置。 |
| 部署靈活性 |
| 虛擬機器部署 |
可以在內部平台和雲平台上部署虛擬機器環境。 |
| 記憶體中和基於磁碟的表 |
表可以配置為只能在記憶體中管理(完全記錄並重新整理到到持久儲存中)或儲存在磁碟上。 |
| 商用硬體 |
可以用本機存放區在商用硬體間擴充 MySQL Cluster。無需共用磁碟。 |
| 安全和審計 |
| MySQL 企業級安全性* |
為串連到叢集的 MySQL Server 提供了隨時可用的外部身分識別驗證模組,使其可以輕鬆整合到現有安全基礎架構中。 |
| MySQL 企業級審計* |
提供了一個簡單易用、基於策略的審計解決方案,可協助組織實施更加嚴格的安全控制和滿足法規要求。 |
| 管理和監視 |
| MySQL Cluster Manager* |
MySQL Cluster Manager 可自動完成常見管理工作,從而簡化了 MySQL Cluster 資料庫的建立和管理。 |
| MySQL Enterprise Monitor* |
使您能夠瞭解叢集健全狀態的概況,在潛在問題對系統造成影響前發出警報。 |
* 僅在 MySQL Cluster 電訊廠商級版本中提供。
注意事項:
1、主鍵和索引儲存在記憶體: 每個NDB表必須有一個主鍵。如果在建立表時使用者未定義主鍵,NDB Cluster儲存引擎將自動產生隱含的主鍵。(注釋:該隱含 鍵也將佔用空間,就像任何其他的表索引一樣。由於沒有足夠的記憶體來容納這些自動建立的鍵,出現問題並不罕見)。
問題:
1、因主鍵和索引儲存在記憶體,當記憶體沒有足夠的容量容納時,就會出問題。
2、使用較少
3、文檔和參考資料
4、有問題不易修改
5、佔用磁碟空間大,記憶體大
mysql cluster 整理筆記