日前,华为云数据库推出MySQL 金融版,基于Paxos协议,采用一主两备三节点架构,解决数据库分布式环境下数据一致性的问题,实现了自动脑裂保护机制,保证数据库高可用和高可靠,满足金融场景下的数据库高要求。

近年来,金融科技大力发展,金融系统更是亟需技术架构革新、以满足行业日益增长的业务需求。数据库承载着金融企业的核心数据,出现数据丢失,业务连续性中断,对企业而言不但造成经济损失,而且还会进一步影响商誉及信誉。因此,金融级数据库,既是现代金融系统转型与革新的基础,也是企业竞争立足的重要一环。

提到金融级数据库,人们首先想到的是 DB2、ORACLE 这样的老牌商业数据库。究其原因,正是因为他们解决了金融行业两个最为关注的问题:数据库的高可靠和高可用。但近年来,随着开源数据库不断发展和有效解决方案的提出,MySQL逐步在各个金融场景下占据重要地位。

尤其是MySQL在5.5、5. 6 版本引入半同步复制和 GTID 等机制,并经过5.5,5.6,5. 7 几个版本的演进之后, MySQL在性能、数据强一致性方面有了质的提升。

华为云数据库 MySQL 金融版在完全兼容社区版的基础上,基于Paxos协议,采用一主两备三节点架构,弥补了社区版传统架构下异步、半同步复制可能导致数据丢失的缺陷,确保数据最终一致性,并解决了网络孤岛、脑裂等分布式系统问题。

一主两备的三节点架构,是华为云 MySQL 金融版一大亮点。在该方案中,用户提交事务时,需要等待至少一个备库收到日志副本,才返回给用户事务成功结束的信号,且收到的确认事务会自动持久化到多数派主机中,确保数据库的可靠性。

此外,在该架构下,无论任意一台服务器挂掉,也不影响业务可用性,因为已提交的数据至少有 2 份副本,挂掉一台,还有至少1台是包含了已提交事务的持久化内容。

金融数据库 架构师 金融数据库应用系统_MySQL

华为云 MySQL金融版一主两备架构图

Paxos 协议的引入和三节点架构的设计,确保了在整个故障切换过程中主备数据的强一致性,真正实现数据零丢失!毫无疑问,这对于金融场景(包含银行、保险等行业)而言,确实是量身打造;而对于数据可靠性同样具备高要求的其它场景,也非常合适。