Sharding-JDBC v1.3.2發布,增強版JDBC驅動

jopen 8年前發布 | 20K 次閱讀 JDBC MySQL Oracle SQLServer DB2 Sharding-JDBC

 

Sharding-JDBC直接封裝JDBC API,可以理解為增強版的JDBC驅動,舊代碼遷移成本幾乎為零:

  • 可適用于任何基于javaORM框架,如:JPAHibernateMybatisSpring JDBC Template或直接使用JDBC
  • 可基于任何第三方的數據庫連接池,如:DBCPC3P0BoneCPDruid等。
  • 理論上可支持任意實現JDBC規范的數據庫。雖然目前僅支持MySQL,但已有支持OracleSQLServerDB2等數據庫的計劃。

Sharding-JDBC定位為輕量級java框架,使用客戶端直連數據庫,以jar包形式提供服務,未使用中間層,無需額外部署,無其他依賴,DBA也無需改變原有的運維方式。SQL解析使用Druid解析器,是目前性能最高的SQL解析器。

Sharding-JDBC功能靈活且全面:

  • 分片策略靈活,可支持=BETWEENIN等多維度分片,也可支持多分片鍵共用。
  • SQL解析功能完善,支持聚合,分組,排序,LimitOR等查詢,并且支持Binding Table以及笛卡爾積的表查詢。

Sharding-JDBC配置多樣:

  • 可支持YAML和Spring命名空間配置
  • 靈活多樣的inline方式

以下是常見的分庫分表產品和Sharding-JDBC的對比:

功能 Cobar Cobar-client TDDL Sharding-JDBC
分庫 未開源
分表 未開源
中間層
ORM支持 任意 僅MyBatis 任意 任意
數據庫支持 僅MySQL 任意 任意 任意
異構語言 僅Java 僅Java 僅Java
外部依賴 Diamond

 

整體架構圖

 

更新日志

功能提升

  1. ISSUE #79 關于MySQL 分頁limit

缺陷修正

  1. ISSUE #36 ShardingPreparedStatement無法反復設置參數
  2. ISSUE #114 ShardingPreparedStatement執行批處理任務時,反復解析sql導致oom
  3. ISSUE #33 Limit支持問題
  4. ISSUE #124com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter.getUpdateCount返回值不符合JDBC規范
  5. ISSUE #141 多線程執行器參數設置失效

 

下載

 

本站原創,轉載時保留以下信息:
本文轉自:深度開源(open-open.com)
原文地址:http://www.baiduhome.net/news/view/67e3b555

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!