01项目背景
首先描述下我们项目现在的数据库架构是主从方式,用了10套分库*3架构,每套分库mysql单表已经到达5亿,单表sizeG,对于单库QPS过万的SQL请求,mysql表已经到达一定的性能瓶颈,高峰期时不时的抖动,严重影响用户体验,并且如果开发新业务想对大表新增字段,由于硬盘空间不足,也不能快速支持新业务上线。
主从架构经过一番调研我们采用分布式数据库TiDB解决。
02为啥要选择tidb?
TIDB整体架构在TiDB里,你完全不用担心磁盘容量的问题,这一点在MySQL表现尤为突出。在TiDB里,原生支持OnlineDDL,你完全不用担心第三方改表工具改表出现各种Bug的问题在TiDB里,加列,主键扩容字段都是秒级的在TiDB里,oltp和olap都表现得不错
在TiDB里,从MySQL迁移将变得简单,并且完全兼容MySQL
03最终效果如何?
(1)只用了14台服务器,扛了之前40台服务器的SQL请求,节省了服务器资源。
(2)性能跟mysql持平,目前搭建的tidb集群平均每天能抗20多亿次SQL请求,QPS最高能到5万/s,并且99%的SQL请求都在60ms以内
(3)TiDB本身就是高可用的,在少数副本失效的情况下,数据库本身能够自动进行数据修复和故障转移,对业务透明,相对于基于vip切换的mysql主从架构,TiDB年可用性能到99.95%,几乎4个9
(4)纯分布式架构,拥有良好的扩展性,支持弹性的扩缩容,吞吐跟存储都可以在线平滑扩容,提升数据库scaling能力1~2个数据量级。
(5)之前是业务维护的分库分表router,现在对于业务来说都是一张表,提升了业务的开发效率,让RD更多的