背景:由于业务量的递增以及客户并发请求的递增,某些数据的返回需经大表(3000W以上)查询返回,返回数据时间由能接受到了完全不能接受的地步,需要对数据库进行相应优化
目前架构:A-B-C 相当于单主下边挂着单从库
方案一:
基于成本足够的情况下,数据库切分,可以考虑PXC(三节点最优)+mycat架构
优点:
缺点:
方案二:
成本不够的话,在原有的基础上进行表的分区,eg:业务基于时间段返回数据,可以通过range分区基于复合主键对时间段进行表的分区
优点:
缺点:
方案三:
基于现有业务可以接受的情况,引入数仓(hadoop大数据)离线计算,通过接口调用进行一个离线数据的返回
1、kylin 需要预先建模
2、presto 分布式,基于离线计算亚秒级返回
待完善