ShardingSphere是一套開源的分布式數(shù)據(jù)庫中間件解決方案組成的生態(tài)圈。
它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(計劃中)這3款相互獨立的產(chǎn)品組成,shardingSphere定位為關(guān)系型數(shù)據(jù)庫中間件。
1. Sharding-JDBC
Sharding-JDBC是Sharding-Sphere的第一個產(chǎn)品,也是Sharding-Sphere的前身,是當(dāng)當(dāng)網(wǎng)開源的一個產(chǎn)品。定位為輕量級的Java框架,在Java的JDBC層提供額外服務(wù)。 它使用客戶端直連數(shù)據(jù)庫,以jar包形式提供服務(wù),無需額外部署和依賴,可理解為增強版的JDBC驅(qū)動,完全兼容JDBC和各種ORM框架。

image.png
2.Sharding-Proxy
Sharding-Proxy是Sharding-Sphere的第二個產(chǎn)品。 它定位為透明化的數(shù)據(jù)庫代理端,提供封裝了數(shù)據(jù)庫二進制協(xié)議的服務(wù)端版本,用于完成對異構(gòu)語言的支持。 Sharding-Proxy屏蔽了底層的分庫分表,您可以像使用一個簡單的數(shù)據(jù)庫一樣來操作分庫分表的數(shù)據(jù)。

image.png
3.Sharding-Sidecar(TBD)
定位為Kubernetes或Mesos的云原生數(shù)據(jù)庫代理,以DaemonSet的形式代理所有對數(shù)據(jù)庫的訪問。 通過無中心、零侵入的方案提供與數(shù)據(jù)庫交互的的嚙合層,即Database Mesh,又可稱數(shù)據(jù)網(wǎng)格。