自主研发的X-DB,完全兼容 MySQL生态的,全球级分布式强一致的关系型数据库系统。
X-DB 为了降低用户的迁移和学习成本,选择了兼容成熟的 MySQL 生态,并且做到了真正 100% 兼容 MySQL 生态,为业务,为传统数据库赋能。基于 MySQL 的业务可以无缝从 MySQL 迁移到 X-DB 上来,不需要任何评估和兼容测试,完全零成本迁移。基于 MySQL 的周边工具平台,甚至是 MySQL DBA 都可以非常平滑的转移到 X-DB 上来。
X-DB 拥有真正的跨 Region/ 跨国的数据强一致能力,并已得到实践的检验。双 11 前夕,核心物流系统、核心 IM 系统首次完成了中心 Region 所有数据库不可用的“中心城市容灾演练”,验证业务拥有在整个中心 Region 均不可用情况下,X-DB 和应用仍可以正常提供服务的能力,并保证数据零丢失。
1X-DB 的核心优势和技术解析
自研的X-DB全球级分布式关系型数据库。现在业界各种类型的分布式数据库不断涌现,互联网巨头、传统数据库厂商、数据库创业公司都在不断跟进。那么 X-DB 到底有什么优势能战胜这些竞品,快速获得业务价值呢?
1. X-DB 生态 兼容 MySQL
新一代分布式关系型数据库是对传统关系型数据库的传承和革新。分布式数据库虽然在高可能、强一致、高性能、低成本、高伸缩等多个方面作出了划时代的变革;但其依旧传承了传统数据库强大的 SQL 接口,系统管理能力。NoSQL 的衰弱和 NewSQL 的兴起,恰恰证明了这一点。一个新的分布式数据库,如果没有传承,自建一个新的生态,将会极大的提高用户的学习和使用成本,整个工具和支持配套也将面临很大的困难。因此,X-DB 作为一个新一代分布式关系型数据库,设计之初就选了业界相对开放和成熟的 MySQL 开源生态作为自己的基础。这样不单可以让 MySQL 生态中的用户零成本的切换到 X-DB 中,快速赋予业务分布式数据库所带来的多种能力;同时可以让 MySQL 生态中的各种周边工具和 DBA 等生态的参与者平滑的切换到分布式时代,赋予其支撑分布式数据库的能力。
2. 跨 Region/ 全球强同步能力
业界支持分布式强一致的数据库很多,但是其强一致都是有范围的,有些支持 AZ 内强一致,有些支持跨 AZ 强一致,真正能做到跨 Region/ 跨国强一致的却是凤毛麟角。目前业界主流数据库中,只有 Spanner 宣称自己是 Global Distribution,包括 Amazon Aurora 在内的其他主流数据库目前都不支持跨 Region 的强一致。X-DB 是真正做到了跨 Region/ 跨国强一致的分布式数据库,并且在业务上得到了验证。今年音视频服务全站迁移 X-DB,同时 X-DB 支撑了音视频服务国际化等多个国际化项目,实现跨国部署。包括核心交易系统、核心物流系统、核心 IM 系统在内的大量业务集群以跨 Region 强同步模式部署,使得业务拥有了城市级容灾情况下,数据零丢失,服务秒级恢复的能力。核心物流系统、核心 IM 系统在双 11 前夕分别进行了中心 Region 全不可用的容灾演练,X-DB 在 15 秒内自动完成跨 Region 的重新激活,数据零丢失,这在整个行业都是先行者。
技术解析:X-Paxos——高性能 Paxos 独立库
Paxos 是一种分布式一致性算法,其最基础也是最重要的功能是保证分布式系统中多个节点的数据(日志)的强一致,它是分布式系统的基石。虽然 Paxos 算法被图灵奖获得者 Leslie Lamport 首次提出到现在已经 19 年了,离第一个工业实现(Chubby)也已经 11 年了,但是近几年,顶级会议 / 业内文章中 Paxos 的优化和讨论还是非常的多,而且到目前为止真正工业级的、高性能的、高可扩展的 Paxos 算法库还是非常的少见。
基于 SEDA 架构的异步并发调度框架
由于 Paxos 的内部状态复杂,实现高效的单实例多线程的 Paxos 变成一个非常大的挑战。大部分竞品例如 Oracle/MySQL 的 Group Replication 等针对单个 Paxos 对象都是单线程实现。
X-Paxos 实现了一整套高效的异步并发调度框架,并基于 SEDA(Staged Event-Driven Architecture)思想,对整个 Paxos 协议进行了并发切分和实现,采用了大量无锁设计;由异步并发调度框架进行调度和执行,充分利用多核资源,实现高性能。
基于 Batching & Pipelining 的网络优化
跨 Region/ 跨国场景下对 X-Paxos 来说最大的挑战就是如何在高延迟网络下保持高吞吐和相对低延迟,X-Paxos 针对高延迟网络做了大量的协议优化尝试和测试,并结合学术界现有的理论成果通过合理的 Batching 和 Pipelining,设计并实现了一整套自适应的针对高延迟高吞吐和低延迟高吞吐网络的通信模式,极大的提升了 X-Paxos 的性能。类似的优化大部分还在理论阶段,在同类竞品中还非常的罕见。