sharding jdbc分表分庫實現和配置

2021-10-05 02:08:38 字數 2884 閱讀 1270

# 1.註冊sharding管理的資料庫名稱

sharding.jdbc.datasource.names=ds0

# 2.配置資料庫

sharding.jdbc.datasource.ds0.type=org.apache.commons.dbcp.basicdatasource

sharding.jdbc.datasource.ds0.driver-class-name=com.mysql.jdbc.driver

sharding.jdbc.datasource.ds0.url=jdbc:mysql:

sharding.jdbc.datasource.ds0.username=root

sharding.jdbc.datasource.ds0.password=123456

# 3.配置分表原則 0..2表示0到2 下面的t_order和sql語句中表名對應

sharding.jdbc.config.sharding.tables.t_order.actual-data-nodes=ds0.t_order_$->

sharding.jdbc.config.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id

#對訂單號進行hash運算 確定資料所在表名

注:sql表名和配置檔案中對應

# 1.註冊sharding管理的資料庫名稱

sharding.jdbc.datasource.names=ds0,ds1

# 2.配置多個資料庫

sharding.jdbc.datasource.ds0.type=org.apache.commons.dbcp.basicdatasource

sharding.jdbc.datasource.ds0.driver-class-name=com.mysql.jdbc.driver

sharding.jdbc.datasource.ds0.url=jdbc:mysql:

sharding.jdbc.datasource.ds0.username=root

sharding.jdbc.datasource.ds0.password=123456

sharding.jdbc.datasource.ds1.type=org.apache.commons.dbcp.basicdatasource

sharding.jdbc.datasource.ds1.driver-class-name=com.mysql.jdbc.driver

sharding.jdbc.datasource.ds1.url=jdbc:mysql:

sharding.jdbc.datasource.ds1.username=root

sharding.jdbc.datasource.ds1.password=123456

##分庫策略 根據user_id

sharding.jdbc.config.sharding.default-database-strategy.inline.sharding-column=user_id

##對user_id取模 確定資料所在資料庫 偶數id在乙個庫 奇數id在乙個庫

sharding.jdbc.config.sharding.default-database-strategy.inline.algorithm-expression=ds$->

##分庫分表策略

sharding.jdbc.config.sharding.tables.t_order.actual-data-nodes=ds$->.t_order_$->

sharding.jdbc.config.sharding.tables.t_order.table-strategy.inline.sharding-column=order_id

##對訂單號進行hash運算 確定資料所在表名

sharding.jdbc.config.sharding.tables.t_order.table-strategy.inline.algorithm-expression=t_order_$->

sharding.jdbc.config.sharding.tables.t_order.key-generator-column-name=order_id

sharding jdbc 分庫分表

sharding官網 環境 jdk8,springboot jpa sharding jdbc 實現分表分庫 導包 io.shardingsphere sharding jdbc spring boot starter 3.1.0 io.shardingsphere sharding jdbc sp...

sharding jdbc分庫分表

1.gradle構建方式載入依賴包 compile group io.shardingsphere name sharding jdbc core version 3.0.0 2.testsourceconfiguration檔案類配置資料庫 configuration public class t...

分庫分表和sharding jdbc

關係型資料庫在大於一定資料量的情況下效能會急劇下降。在面對網際網路海量資料的情況時,所有資料都存於一張表,顯然很容易會達到資料表可承受的資料量閾值。單純分表雖然可以解決資料量過大導致檢索變慢的問題,但無法解決高併發情況下訪問同乙個庫,導致資料庫響應變慢的問題。所以通常水平拆分都至少要採用分庫的方式,...