ShardingSphere 分散式資料庫簡介
Apache ShardingSphere 是一個開源的分散式資料庫,它還有一個用戶和開發人員需要的生態系統,為之提供了定製和雲原生的體驗。在加入 Apache 基金會的三年里,ShardingSphere 核心團隊與社區一起努力工作,創建了一個開源的、強大的、分散式的資料庫和一個支持性生態系統。
ShardingSphere 並不完全符合業界通常的簡單分散式資料庫中間件解決方案的模式。ShardingSphere 重新創建了分散式可插拔系統,使實際的用戶實施方案得以蓬勃發展,並為社區和資料庫行業貢獻有價值的解決方案。
ShardingSphere 的目標是 Database Plus 概念。
Database Plus
Database Plus 的出發點是在零散的資料庫基本服務之上建立一個標準層和生態系統層。統一的、標準化的資料庫使用規範為上層應用提供了保障,儘可能的減少了企業因底層資料庫碎片化而面臨的挑戰。為了連接資料庫和應用,它使用了流量和數據的渲染和解析。它為用戶提供了增強的核心功能,如分散式資料庫、數據安全、資料庫網關和壓力測試。
ShardingSphere 為 Database Plus 使用了可插拔的內核架構。這意味著模塊化,這為用戶提供了靈活性。它有幾個不同的層:
- 基礎層: 提供各種訪問終端和訪問形式,滿足用戶在不同場景下的需求。
- 插件層: 通過實現可擴展性提供基礎設施支持。
- 功能層: 提供各種滿足用戶需求的功能插件,使用戶在選擇和組合插件時具有高度的靈活性。
- 產品層: 這是終端用戶看到的層。這為他們提供了面向行業和特定場景的產品。換句話說,它為用戶提供了適合他們所做的任何工作的工具。
![Database Plus platform](/data/attachment/album/202112/19/093417nusufvjmqcjqzqce.png "Database Plus platform")
(Trista Pan, CC BY-SA 4.0)
用 DistSQL 進行標準化的集群管理
Apache ShardingSphere 採用獨特的 SQL 方言 DistSQL(分散式 SQL)來連接 ShardingSphere 生態系統的所有元素。作為 ShardingSphere 分散式資料庫生態系統的標準交互語言,DistSQL 允許用戶使用一個 SQL 命令來創建、修改或刪除分散式資料庫表或對其進行加密或解密。DistSQL 還支持分散式調度管理。
![DistSQL](/data/attachment/album/202112/19/093417yjnnnmpzdf4qaxxp.png "DistSQL")
(Trista Pan, CC BY-SA 4.0)
多訪問終端
ShardingSphere JDBC 和 ShardingSphere Proxy 經過兩年的打磨和測試,目前已經可以投入生產。許多社區用戶提供了相關的生產社區案例。
多虧共享核心架構,以及不同的 ShardingSphere 適配器,如果用戶的生產環境需要,可以選擇混合適配器部署(如下圖所示)。
![Hybrid deployment](/data/attachment/album/202112/19/093418arfmz8sfjw63ubbx.png "Hybrid deployment")
(Trista Pan, CC BY-SA 4.0)
分散式治理
在 ShardingSphere 生態系統中,計算和存儲是分開的,因此具備對資料庫進行分散式治理的能力,所以你可以維護許多存儲節點、計算節點,實施斷路器,並確保高可用性。
![Distributed governance](/data/attachment/album/202112/19/093418hua4d4tde5plpild.png "Distributed governance")
(Trista Pan, CC BY-SA 4.0)
使用 Grafana 監控
ShardingSphere 也有狀態指標來監控你的基礎設施。代理動態載入機製為你提供了指標和跟蹤指標,方便您將 APM 系統與 Grafana 儀錶板集成。
![Grafana dashboard](/data/attachment/album/202112/19/093419w151o5bobosvhoaq.png "Grafana dashboard")
(Trista Pan, CC BY-SA 4.0)
分散式社區的分散式資料庫
社區正在繼續優化 ShardingSphere,並整合新的想法和行業場景。社區構建了它,而開發的主要動力之一是用戶反饋。這是開源的一個特點,但也是這個團隊的實踐方法。ShardingSphere 社區的核心團隊成員很樂意指導任何對開源感興趣的人,並為有興趣幫助開發的學生提供實踐問題。團隊也希望有新的朋友或貢獻者加入社區,促進思想的開放交流,創造一個真正的全球開發者社區。
via: https://opensource.com/article/21/12/apache-shardingsphere
作者:Trista Pan 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive