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

jopen 8年前發布 | 19K 次閱讀 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 #162 分布式主鍵算法實現
  2. ISSUE #163 獲取自增序列jdbc接口實現
  3. ISSUE #171 sharding-jdbc-core配合自動生成序列改造
  4. ISSUE #172 Yaml與Spring的配置方式增加對于自增序列的支持

缺陷修正

  1. ISSUE #176 AbstractMemoryResultSet對SQL的wasNull實現有問題

下載

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

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