您好,登錄后才能下訂單哦!
官網地址: http://shardingsphere.io/
ShardingSphere是一個分布式數據庫中間件解決方案的開源項目,包含了3個獨立的產品,分別為Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar.它們一起提供了數據分片、分布式事務和數據庫編排等功能,適用于Java同構、異構語言和本地云等多種情況。
為了合理利用分布式系統中數據庫的計算和存儲能力,ShardingSphere將自己定義為中間件,而不是一種全新的數據庫類型。關系數據庫作為許多企業的基石,仍然占據著巨大的市場份額。因此,在現階段,我們更傾向于關注它的增量而不是完全顛覆。
Sharding-JDBC將自己定義為一個輕量級Java框架,它在Java JDBC層提供額外的服務。
由于客戶端直接連接到數據庫,它以jar的形式提供服務,不需要額外的部署和依賴。
它可以看作是一種增強的JDBC驅動程序,完全兼容JDBC和各種ORM框架。
適用于任何基于Java的ORM框架,如JPA、Hibernate、Mybatis、Spring JDBC模板或JDBC的直接使用。
基于任何第三方數據庫連接池,如DBCP, C3P0, BoneCP, Druid, HikariCP。
*支持任何類型的數據庫JDBC標準:符合MySQL,Oracle和PostgreSQL狀態"置疑"。
Sharding-Proxy將自己定義為一個透明的數據庫代理,提供一個封裝數據庫二進制協議以支持異構語言的數據庫服務器。
對DBA更友好的是,現在提供的MySQL版本可以使用任何一種與MySQL協議兼容的客戶端訪問(如MySQL命令客戶端、MySQL Workbench等)來操作數據。
對應用程序完全透明,可以直接作為MySQL使用。
適用于任何一種兼容MySQL協議的客戶端兼容。
Sharding-Sidecar (TBD)將自己定義為Kubernetes或Mesos環境的云本地數據庫代理,負責以DaemonSet的形式對數據庫的所有訪問。通過分散化和零成本的解決方案,它提供了一個與數據庫交互的網格層,即,數據庫網格,又稱數據庫網格。
Database Mesh強調如何將分布式數據庫訪問應用程序與數據庫連接起來。它專注于交互,有效地組織混亂的應用程序和數據庫之間的交互。使用database Mesh訪問數據庫的應用程序和數據庫會形成一個大的網格系統,只需要將它們放到相應的位置即可。它們都是由網格層控制的。
Sharding-JDBC | Sharding-Proxy | Sharding-Sidecar | |
---|---|---|---|
Database | Any | MySQL | MySQL |
Connections Cost Number | High | Low | High |
Heterogeneous Language | Java Only | Any | Any |
Performance | Low loss | Relatively High loss | Low loss |
Decentralization | Yes | No | No |
Static Entry | No | Yes | No |
Sharding-JDBC采用分散式架構,適用于Java開發的高性能輕量級OLTP應用;
sharding - proxy提供靜態入口和異構語言支持,適用于OLAP應用和分片數據庫的管理和運行情況。
ShardingSphere是一個生態球,由多個端點組成。ShardingSphere通過一個注冊中心對sharding - jdbc和sharding - proxy的混合使用和統一的sharding策略,可以構建適用于各種情況的應用系統。
架構師可以更自由地將系統體系結構調整為最適合當前業務的體系結構。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。