阿里云关系型数据库RDS(Relational Database Service)MySQL版是一款具备高性能、高安全性、易扩展、稳定可靠的在线数据库服务。在互联网、云计算、零售电商等各行各业均有广泛的应用,普及率非常之高,用户基础良好。
随着云计算技术的逐渐普及,使用云服务的客户行业、场景的边界也在不断地被拓宽,不断提出新的需求。在最早尝试云计算的互联网行业带领下,金融、保险等行业都开始拥抱云计算,而以银行、证券为代表的很多公司对云数据库服务提出了更为严格的要求:要像他们现在基于昂贵的传统IOE构建出来的数据库系统那样,任何情况下都要保证数据不能丢失、损坏。于是在这样的背景和客户驱动下,我们希望通过增加副本数,在不损失可用性的前提下,提供更高的数据可靠性,给客户更多的选择。
在这样的背景下,MySQL三节点企业版应运而生,它是一款面向高端企业级用户的云数据库系列,除了维持原有的MySQL兼容性和可用性,还在AliSQL内核中引入Paxos协议,来确保数据的强一致性,提供金融级的可靠性。
典型主被架构下通常采用异步、半同步方式进行数据同步,用户因不可避免的网络和硬件抖动面对数据一致性和可用性的挑战。
当采用异步方式时,为追求主库的性能及可用性,binlog以异步的方式复制到备库,因此不需要收到备库的反馈,事务即可提交。当主库故障的情况下,备库的数据可能是不完整的。
当采用半同步方式时,半同步复制(Semi-sync Replication)默认采用同步机制进行复制,但为保证主库的可用性,一旦备库响应(ACK)超过1s(时长可配置),则退化为『异步复制』模式。因此这种情况下,备库数据也无法保证与主库完全同步,甚至当主库故障时,备库也无法知道自己的数据是否是完整的。
阿里云数据库团队通过对内核级的优化及定制使三节点企业版在数据一致性和可靠性方面得到保护。多节点之间的复制使用Paxos协议保证整套集群的一致性, 可以容忍集群中任一节点或者网络隔离后的高可用和高可靠性。
三节点企业版提供4个9(99.99%)的可用性;支持跨AZ RPO =0 ,保证在AZ故障时不丢数据。我们还开放了企业级线程池特性,保证在大连接场景下,数据库稳定的吞吐能力。
同时我们还提供经过阿里巴巴最佳实践验证的秒杀场景优化方案,少量改造即可实现在数据库上吞吐量的量级提升。
最后,您仅需在双节点高可用版上额外支付20%的费用即可获得三节点企业版的全部特性。
AliSQL GitHub开源地址:https://github.com/alibaba/AliSQL
AliSQL开发者社区钉钉群: