ShardingSphere 分布式數(shù)據(jù)庫簡介
Apache ShardingSphere 是一個開源的分布式數(shù)據(jù)庫,它還有一個用戶和開發(fā)人員需要的生態(tài)系統(tǒng),為之提供了定制和云原生的體驗。
Apache ShardingSphere 是一個開源的分布式數(shù)據(jù)庫,它還有一個用戶和開發(fā)人員需要的生態(tài)系統(tǒng),為之提供了定制和云原生的體驗。在加入 Apache 基金會的三年里,ShardingSphere 核心團隊與社區(qū)一起努力工作,創(chuàng)建了一個開源的、強大的、分布式的數(shù)據(jù)庫和一個支持性生態(tài)系統(tǒng)。
ShardingSphere 并不完全符合業(yè)界通常的簡單分布式數(shù)據(jù)庫中間件解決方案的模式。ShardingSphere 重新創(chuàng)建了分布式可插拔系統(tǒng),使實際的用戶實施方案得以蓬勃發(fā)展,并為社區(qū)和數(shù)據(jù)庫行業(yè)貢獻(xiàn)有價值的解決方案。
ShardingSphere 的目標(biāo)是 Database Plus 概念。
Database Plus
Database Plus 的出發(fā)點是在零散的數(shù)據(jù)庫基本服務(wù)之上建立一個標(biāo)準(zhǔn)層和生態(tài)系統(tǒng)層。統(tǒng)一的、標(biāo)準(zhǔn)化的數(shù)據(jù)庫使用規(guī)范為上層應(yīng)用提供了保障,盡可能的減少了企業(yè)因底層數(shù)據(jù)庫碎片化而面臨的挑戰(zhàn)。為了連接數(shù)據(jù)庫和應(yīng)用,它使用了流量和數(shù)據(jù)的渲染和解析。它為用戶提供了增強的核心功能,如分布式數(shù)據(jù)庫、數(shù)據(jù)安全、數(shù)據(jù)庫網(wǎng)關(guān)和壓力測試。
ShardingSphere 為 Database Plus 使用了可插拔的內(nèi)核架構(gòu)。這意味著模塊化,這為用戶提供了靈活性。它有幾個不同的層:
- 基礎(chǔ)層: 提供各種訪問終端和訪問形式,滿足用戶在不同場景下的需求。
- 插件層: 通過實現(xiàn)可擴展性提供基礎(chǔ)設(shè)施支持。
- 功能層: 提供各種滿足用戶需求的功能插件,使用戶在選擇和組合插件時具有高度的靈活性。
- 產(chǎn)品層: 這是終端用戶看到的層。這為他們提供了面向行業(yè)和特定場景的產(chǎn)品。換句話說,它為用戶提供了適合他們所做的任何工作的工具。
Database Plus platform
(Trista Pan, CC BY-SA 4.0)
用 DistSQL 進(jìn)行標(biāo)準(zhǔn)化的集群管理
Apache ShardingSphere 采用獨特的 SQL 方言 DistSQL(分布式 SQL)來連接 ShardingSphere 生態(tài)系統(tǒng)的所有元素。作為 ShardingSphere 分布式數(shù)據(jù)庫生態(tài)系統(tǒng)的標(biāo)準(zhǔn)交互語言,DistSQL 允許用戶使用一個 SQL 命令來創(chuàng)建、修改或刪除分布式數(shù)據(jù)庫表或?qū)ζ溥M(jìn)行加密或解密。DistSQL 還支持分布式調(diào)度管理。
DistSQL
(Trista Pan, CC BY-SA 4.0)
多訪問終端
ShardingSphere JDBC 和 ShardingSphere Proxy 經(jīng)過兩年的打磨和測試,目前已經(jīng)可以投入生產(chǎn)。許多社區(qū)用戶提供了相關(guān)的生產(chǎn)社區(qū)案例。
多虧共享核心架構(gòu),以及不同的 ShardingSphere 適配器,如果用戶的生產(chǎn)環(huán)境需要,可以選擇混合適配器部署(如下圖所示)。
Hybrid deployment
(Trista Pan, CC BY-SA 4.0)
分布式治理
在 ShardingSphere 生態(tài)系統(tǒng)中,計算和存儲是分開的,因此具備對數(shù)據(jù)庫進(jìn)行分布式治理的能力,所以你可以維護(hù)許多存儲節(jié)點、計算節(jié)點,實施斷路器,并確保高可用性。
Distributed governance
(Trista Pan, CC BY-SA 4.0)
使用 Grafana 監(jiān)控
ShardingSphere 也有狀態(tài)指標(biāo)來監(jiān)控你的基礎(chǔ)設(shè)施。代理動態(tài)加載機制為你提供了指標(biāo)和跟蹤指標(biāo),方便您將 APM 系統(tǒng)與 Grafana 儀表板集成。
Grafana dashboard
(Trista Pan, CC BY-SA 4.0)
分布式社區(qū)的分布式數(shù)據(jù)庫
社區(qū)正在繼續(xù)優(yōu)化 ShardingSphere,并整合新的想法和行業(yè)場景。社區(qū)構(gòu)建了它,而開發(fā)的主要動力之一是用戶反饋。這是開源的一個特點,但也是這個團隊的實踐方法。ShardingSphere 社區(qū)的核心團隊成員很樂意指導(dǎo)任何對開源感興趣的人,并為有興趣幫助開發(fā)的學(xué)生提供實踐問題。團隊也希望有新的朋友或貢獻(xiàn)者加入社區(qū),促進(jìn)思想的開放交流,創(chuàng)造一個真正的全球開發(fā)者社區(qū)。