垂直分库分表引起的问题:
1.跨库的关联查询 join 解决方案
1)冗余字段
2)数据同步 例如商户系统、产品表 http---- ETL MQ
3)全局表(广播表) 字典表,基础表 行号名号表 10W+
4)绑定表(ER表)
5)数据组装 /*catlet data = data1 + data2
2.分布式事务
1)两阶段提交 XA
2)TCC--Fascar---Seata
3)LCN
4)Atomikos
水平分库分表引起的问题:
1.翻页、排序
2.全局ID auto inceament
3.redis UUID ZK table + 1 for update; snowflake
多数据源问题:dblink、mycat
1.编码层 AbstractRoutingDataSource
2.mybatis 插件 Interceptor 动态代理
3.驱动层 JDBC DataSource Connection PrepareStatement ResultSet(Sharding-JDBC)
4.代理层 proxy代理 Mycat
5.服务层 一些特殊的SQL版本
===============================
当当网
Sharding-JDBC elastic-job
详解ShardingSphere--Sharding-JDBC:
取摸
哈希
范围
时间段
复合
一致性hash,哈希环
mybatis Genarator
1.数据源
2.分片规则
=============================
服务器使用
Sql语句优化
表结构优化
索引优化
==============================
MQ:异步、解耦、削峰