Sharding-JDBC v1.4.0 發布,?增強版JDBC驅動
Sharding-JDBC
直接封裝JDBC API
,可以理解為增強版的JDBC
驅動,舊代碼遷移成本幾乎為零:
- 可適用于任何基于
java
的ORM
框架,如:JPA
,Hibernate
,Mybatis
,Spring JDBC Template
或直接使用JDBC
。 - 可基于任何第三方的數據庫連接池,如:
DBCP
,C3P0
,BoneCP
,Druid
等。 - 理論上可支持任意實現
JDBC
規范的數據庫。雖然目前僅支持MySQL
,但已有支持Oracle
,SQLServer
,DB2
等數據庫的計劃。
Sharding-JDBC
定位為輕量級java
框架,使用客戶端直連數據庫,以jar
包形式提供服務,未使用中間層,無需額外部署,無其他依賴,DBA
也無需改變原有的運維方式。SQL
解析使用Druid
解析器,是目前性能最高的SQL
解析器。
Sharding-JDBC
功能靈活且全面:
- 分片策略靈活,可支持
=
,BETWEEN
,IN
等多維度分片,也可支持多分片鍵共用。 SQL
解析功能完善,支持聚合,分組,排序,Limit
,OR
等查詢,并且支持Binding Table
以及笛卡爾積的表查詢。
Sharding-JDBC
配置多樣:
- 可支持YAML和Spring命名空間配置
- 靈活多樣的
inline
方式
以下是常見的分庫分表產品和Sharding-JDBC
的對比:
功能 | Cobar | Cobar-client | TDDL | Sharding-JDBC |
---|---|---|---|---|
分庫 | 有 | 有 | 未開源 | 有 |
分表 | 無 | 無 | 未開源 | 有 |
中間層 | 是 | 否 | 否 | 否 |
ORM支持 | 任意 | 僅MyBatis | 任意 | 任意 |
數據庫支持 | 僅MySQL | 任意 | 任意 | 任意 |
異構語言 | 可 | 僅Java | 僅Java | 僅Java |
外部依賴 | 無 | 無 | Diamond | 無 |
整體架構圖
更新日志
功能提升
自動生成鍵實現,包含
- ISSUE #162 分布式主鍵算法實現
- ISSUE #163 獲取自增序列jdbc接口實現
- ISSUE #171 sharding-jdbc-core配合自動生成序列改造
- ISSUE #172 Yaml與Spring的配置方式增加對于自增序列的支持
缺陷修正
- ISSUE #176 AbstractMemoryResultSet對SQL的wasNull實現有問題
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/67a948f6
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!