TDSQL架构分析 分布式MySQL数据库

随着业务的发展,基于内存的NoSQL解决方案HOLD平台在高峰期一天支撑3000亿读写,证明了分布式Cache的巨大价值;但随着各种业务的接入,NoSQL方案的不足也逐步显现出来了,如下所示。

  1. 适用的业务场景比较有限,仅提供get/set操作,有不少业务场景希望能通过记录中的其他字段做索引来查询,比如流水类业务。
  2. 不是所有的数据都是热点,一台64GB内存机器提供的有效内存空间大概在50GB左右,而采用Fusion卡的机型容量一般在1TB以上,对比起来,如果所有数据放入分布式Cache明显是一种极大的浪费,最合理的当然是热点在HOLD,冷数据采用基于磁盘的存储。

  1. 计费平台部多年来在支付领域有了相当多的技术积累,HOLD作为NoSQL系统功能有限,因此建造一套更加强大通用的高一致性存储系统将整个支付领域的实时数据(重点是账户数据、用户订单数据,以及海量的流水数据)统一管理起来非常有价值。

基于上面的分析,结合我们在MySQL领域多年的应用和优化经验,最终决定在MySQL存储引擎基础之上,打造一套分布式的SQL系统。

  1. 保持原来的MySQL协议,这样以前访问MySQL系统的C++、Java各类系统都不需要修改,DBA能继续保持原来大部分使用习惯。
  2. 自动的跨IDC容灾切换,同时保证数据一致性,对于提交成功的事务保证一笔不丢,达到银行级对容灾的要求。
  3. 灵活的容量伸缩机制,对业务透明,解决MySQL本身扩容不灵活的问题。
  4. 重点支持OLTP类型的在线业务。

你可能感兴趣的:(TDSQL架构分析 分布式MySQL数据库)