比較常見的包括:
cobar
tddl
atlas
sharding-jdbc
mycat
cobar
阿里 b2b 團隊開發和開源的,屬於 proxy 層方案,就是介於應用伺服器和資料庫伺服器之間。應用程式通過 jdbc 驅動訪問 cobar 集群,cobar 根據 sql 和分庫規則對 sql 做分解,然後分發到 mysql 集群不同的資料庫例項上執行。早些年還可以用,但是最近幾年都沒更新了,基本沒啥人用,差不多算是被拋棄的狀態吧。而且不支援讀寫分離、儲存過程、跨庫 join 和分頁等操作。
tddl
**團隊開發的,屬於 client 層方案。支援基本的 crud 語法和讀寫分離,但不支援 join、多表查詢等語法。目前使用的也不多,因為還依賴**的 diamond 配置管理系統。
atlas
360 開源的,屬於 proxy 層方案,以前是有一些公司在用的,但是確實有乙個很大的問題就是社群最新的維護都在 5 年前了。所以,現在用的公司基本也很少了。
sharding-jdbc
噹噹開源的,屬於 client 層方案。確實之前用的還比較多一些,因為 sql 語法支援也比較多,沒有太多限制,而且目前推出到了 2.0 版本,支援分庫分表、讀寫分離、分布式 id 生成、柔性事務(最大努力送達型事務、tcc 事務)。而且確實之前使用的公司會比較多一些(這個在官網有登記使用的公司,可以看到從 2017 年一直到現在,是有不少公司在用的),目前社群也還一直在開發和維護,還算是比較活躍,個人認為算是乙個現在也可以選擇的方案。
mycat
基於 cobar 改造的,屬於 proxy 層方案,支援的功能非常完善,而且目前應該是非常火的而且不斷流行的資料庫中介軟體,社群很活躍,也有一些公司開始在用了。但是確實相比於 sharding jdbc 來說,年輕一些,經歷的錘煉少一些。
分庫分表中介軟體shardingSphere
1 支援分類 sharding jdbc 偏應用 靈活。sharding proxy 偏db,sql透明。2 用zookeeper配合sharding proxy完成資料理,實現配置註冊中心。3 預設的事務級別是local 支援三種 local xa 剛性事務 base 4 xa兩階段提交,預提交到...
分庫分表中介軟體Mycat配置詳解
目錄 mycat介紹 server.xml schema.xml rule.xml mycat是乙個開源的分庫分表中介軟體。mycat的前身是阿里的cobar。用於在多個資料庫上的表通過mycat 連線,實現一張或者多張分庫或分表的大表資料根據定義的分片規則聚合展示。學習mycat主要是學習myca...
分庫分表的中介軟體和遷移方案
單機mysql帶來的問題 1 mysql單機,扛不住併發 2 mysql單機磁碟容量快滿 3 mysql單錶資料量太大,sql執行越跑越慢 利用分庫分表將單機拆分成多機,帶來的好處。1 可承受的併發增加數倍 2 磁碟容量增加數倍,使用率降低 3 單錶資料量縮小,sql語句執行速度加快。資料庫中介軟體...