列舉一些比較常見的,簡單介紹一下:
sharding-jdbc(當(dāng)當(dāng))
TSharding(蘑菇街)
Atlas(奇虎360)
Cobar(阿里巴巴)
MyCAT(基于Cobar)
TDDL(淘寶)
Vitess(谷歌)
1 sharding-jdbc
首先,第一個,可能也是最常見最常用的,Sharding-JDBC,這個是最早的名字,現(xiàn)在已經(jīng)發(fā)展成為ShardingSphere,生態(tài),詳細(xì)介紹及使用方法請移步:Sharding-JDBC介紹及實(shí)踐
2 TSharding
用于蘑菇街交易平臺的分庫分表組件,很少的資源投入即可開發(fā)完成,支持交易訂單表的Sharding需求,分庫又分表,支持?jǐn)?shù)據(jù)源路由,支持事務(wù),支持結(jié)果集合并,支持讀寫分離。
3 Atlas
基于MySQL-Proxy上二次開發(fā)的,主要支持兩個特性:分表和讀寫分離,但是分表的話只支持單庫多表,即事實(shí)上是不支持分布式分表的,所有分表都在同一個庫中。
4 Cobar
阿里的關(guān)系型數(shù)據(jù)的分布式處理系統(tǒng),以proxy的形式位于前臺應(yīng)用和實(shí)際數(shù)據(jù)庫之間,對前臺的開放的接口是mysql通信協(xié)議。將前臺SQL語句變更并按照數(shù)據(jù)分布規(guī)則轉(zhuǎn)發(fā)到合適的后臺數(shù)據(jù)分庫,再合并返回結(jié)果,模擬單庫下的數(shù)據(jù)庫行為。
5 MyCAT
實(shí)現(xiàn)了 MySQL 協(xié)議 的服務(wù)器,前端用戶可以把它看作是一個數(shù)據(jù)庫代理,用 MySQL 客戶端工具和命令行訪問, 而其后端可以用 MySQL 原生協(xié)議與多個 MySQL 服務(wù)器通信,也可以用 JDBC 協(xié)議與大多數(shù) 主流數(shù)據(jù)庫服務(wù)器通信,其核心功能是分庫分表。配合數(shù)據(jù)庫的主從模式還可實(shí)現(xiàn)讀寫分離。
6 TDDL
主要解決了分庫分表對應(yīng)用的透明化以及異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)復(fù)制,它是一個基于集中式配置的 jdbc datasource實(shí)現(xiàn),具有主備,讀寫分離,動態(tài)數(shù)據(jù)庫配置等功能。文章來源:http://www.zghlxwxcb.cn/news/detail-690037.html
7 Vitess
是Youtube開源的數(shù)據(jù)庫擴(kuò)展及高可用方案,已經(jīng)用于生產(chǎn)環(huán)境,功能強(qiáng)大,但是構(gòu)架復(fù)雜,部署及運(yùn)維成本較高。文章來源地址http://www.zghlxwxcb.cn/news/detail-690037.html
到了這里,關(guān)于Java中支持分庫分表的框架/組件/中間件簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!