下面多sharding-cloumn分片在spring-boot中的配置如下
#用于多分片键的复合分片场景
spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.sharding-columns= #分片列名称,多个列以逗号分隔
spring.shardingsphere.sharding.tables.<logic-table-name>.database-strategy.complex.algorithm-class-name= #复合分片算法类名称。该类需实现ComplexKeysShardingAlgorithm接口并提供无参数的构造器
1.需求背景
移动互联网时代,海量的用户每天产生海量的数量,这些海量数据远不是一张表能Hold住的。比如
- 用户表:支付宝8亿,微信10亿。CITIC对公140万,对私8700万。
- 订单表:美团每天几千万,淘宝历史订单百亿、千亿。
- 交易流水表
2.选择方案
(1)NoSQL/NewSQL(不选择)
选择RDBMS,不选择NoSQL/NewSQL,主要是因为NoSQL/NewSQL可靠性无法与RDBMS相提并论。RDBMS有以下几个优点:
- RDBMS生态完善;
- RDBMS绝对稳定;
- RDBMS的事务特性;
目前绝大部分公司的核心数据都是:以RDBMS存储为主ÿ