DB PROXY 功能
0 拥有分片数数据库和主数据库(非分片的)
1 前端SQL明文要求,并非绑定变量化,且客户端HASH成SQLID
2 前端MAXCONN限制,MAXPACKESIZE
3 返回前端RETURN PACKAGE SIZE+RETURN ROWS
4 缓存SQLID路由路径
5 路由分析SQL明文确定路由路径 并且存放在缓存中
6 分片表 有全局表,单分片表,主从分表
7 分片表 算法:LIST HASH,RANGE,DATETIME
8 SQL语句中FROM后面的表必须全部是分片表,如果有一个是非分表将无法分片,则路由到主数据库去执行。
10 全局事务表,这是解决全局表的和全分片事务表。当一个事务需要在全分片库里执行,那在全局事务表做登记。
当所有分片事务执行成功则向下发COMMIT;部分失败则失败向成功的分片库发ROLLBACK命令。
11 异步日志
除了全局表外分片表的DML需要同步到主库,DBRROXY会生产SHARDING_TO_MASTER_ASYN.LOG
当在主库里执行分片表的DML然后需要同步到分片表。DBPROXY会生产MASTER_TO_SHARDING_ASYN.LOG
需要设置延迟时间
12 DDL 将视为全局事务 ONLINE DDL
13 事务的一致性读 需要应用先锁定数据 SELECT * FROM T FOR UPDATE;
14 支持逻辑数据节点,分片表存放在逻辑节点上,物理数据节点上可以有多个逻辑节点。
15 分片表重新分布是基于逻辑节点
16 支持逻辑节点整体迁移不同的物理节点。
17 物理节点不支持主从切换,需要KEEP AVLIE(ORACLE RAC SCAN IP OR VIP)
18 支持物理节点读写分离和从库负载均衡。
19 TABLE NAME TUSER_G(M,S,N)_LIST(HASH,RANGE)_001(UNKONW)