Sharding-JDBC v1.3.2發布,增強版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 #79 關于MySQL 分頁limit
缺陷修正
- ISSUE #36 ShardingPreparedStatement無法反復設置參數
- ISSUE #114 ShardingPreparedStatement執行批處理任務時,反復解析sql導致oom
- ISSUE #33 Limit支持問題
- ISSUE #124com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter.getUpdateCount返回值不符合JDBC規范
- ISSUE #141 多線程執行器參數設置失效
下載
本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/67e3b555
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!