OceanBase 集群设计练习
某银行核心银行系统打算采用OceanBase数据库作为核心交易数据库,面向全国客户提供服务
n 基础设施
l 北京有2个机房,上海有1个机房
l 北京2个机房相距10公里,机房间网络带宽为20Gb,网络延迟0.2ms
l 北京与上海两地相距1200公里,两地的网络带宽为2Gb,网络延迟20ms
n 业务要求
l 对公与对私的业务数据要物理隔离
l 业务与OB数据库需要双机房双活
l OB集群提供24*7的不间断服务
? 主集群需要机房级容灾: RPO=0,RTO<2分钟 ? 主备集群提供跨城市容灾:RPO<30秒,RTO<30分钟
北京两机房双活 上海
zone1 zone2 zone3 zone4 ZONE5 → zone[3] 备集群
ocp 多可用区 + 主备ocp集群
交易性能指标
l 对私业务
? TPS:峰值50000,均值20000
? 交易RT< 150ms
? 交易SQL数:10~50,均值:25
l 对公业务
? TPS:峰值20000,均值3000
? 交易RT< 100ms
? 交易SQL数:5~30,均值:15
OceanBase 集群设计练习
- 根据该客户的容灾要求以及基础设施情况,请设计出满足要求的OB集群部署架构(包含OBServer,OBProxy和OCP)
- 根据业务测试,在单机模式下客户自购的OBServer服务器可以提供20万QPS的性能,客户要求服务器的CPU使用率
低于70%,请计算该OB集群需要多少台这样的OBServer服务器 - 根据业务测试,在单机模式下,执行10万笔交易(对公与对私混合)共新产生了30个clog文件。如果按照这个clog
量去评估交易峰值的clog同步流量,当前的带宽是否满足需求?
对私
考虑峰值
5000025/200000/0.7=9台机器
(5副本 新集群不折算)
95=45
对公
考虑峰值
2000015/200000/0.7=2台机器
(5副本 新集群不折算 迁移 /2)
25=10
clog 不压缩
30*64m/100000=19200bytes=19KB
传输 clog压缩
(50000+20000)19kb8/2/0.8=7Gb
峰值持续多久
短时间 异地的备库影响不大
延迟过久导致备库重建
sstable 全cpoy 重建
单机模式估算偏低 因为少了分布式的情况下的跨机事务
第五副本和备集群的regin 设置成一样
如果第五副本不可用, 备集群会找上级