數據庫 分庫分表

1  概述java

      Sharding-JDBC是一個開源的適用於微服務的分佈式數據訪問基礎類庫,它始終以雲原生的基礎開發套件爲目標。他定位爲輕量級java框架,使用客戶端直連數據庫,以jar包形式提供服務,未使用中間層,無需額外部署,無其餘依賴,DBA也無需改變原有的運維方式,可理解爲加強版的JDBC驅動,舊代碼遷移成本幾乎爲零。數據庫

2  功能列表框架

2.1 分庫分表

  • SQL解析功能完善,支持聚合,分組,排序,LIMIT,TOP等查詢,而且支持級聯表以及笛卡爾積的表查詢
  • 支持內、外鏈接查詢
  • 分片策略靈活,可支持=,BETWEEN,IN等多維度分片,也可支持多分片鍵共用,以及自定義分片策略
  • 基於Hint的強制分庫分表路由

2.2 讀寫分離

  • 一主多從的讀寫分離配置,可配合分庫分表使用
  • 基於Hint的強制主庫路由

2.3 柔性事務

  • 最大努力送達型事務
  • TCC型事務(TBD)

2.4 分佈式主鍵

  • 統一的分佈式基於時間序列的ID生成器

2.5 兼容性

  • 可適用於任何基於java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC
  • 可基於任何第三方的數據庫鏈接池,如:DBCP, C3P0, BoneCP, Druid等
  • 理論上可支持任意實現JDBC規範的數據庫。目前支持MySQL,Oracle,SQLServer和PostgreSQL

2.6 靈活多樣的配置

  • Java
  • Spring命名空間
  • YAML
  • Inline表達式
相關文章
相關標籤/搜索