Cantian引擎
  • 161
    Star 数量
  • 67
    Contributor 数量
  • 58
    Watch 数量
  • 273
    Fork 数量
  • 1,929
    PR 数量

项目简介:

Cantian引擎是一款能让普通单机数据库集群具备多读多写能力的高可用组件,通过全局缓存技术/数据和事务强一致性技术/集群高可用管理等关键技术,使基于存算分离+共享存储的分布式数据库所有节点均具备可读可写能力,打造高性能、高可靠、高效率的多主数据库,降低客户数据库改造成本和周期。当前已支持MySQL生态,具备使能数据库双节点多读多写、元数据归一、数据入湖、数据备份等能力。

项目特点:

技术价值:

平滑对接开源数据库,全方位提升数据库竞争力,具有高可用、高性能、全场景的特点。

  • 高可用:多主架构下,计算节点无状态,任何存活节点均可快速接管业务,元数据快速同步,降低RTO。

  • 高性能:通过分布式MVCC技术,大幅改善传统MVCC对事务提交性能的影响,进一步提升多写集群性能。

  • 全场景:支持支持TP和AP场景,支持业务大表免改造升级。

业务价值:

结合企业级存储及开源数据库,形成面向运营商和金融市场的OLTP数据库解决方案,主要解决当前企业的分布式数据库改造中遇到的问题,通过多读多写存储引擎,提升数据库的高可靠和高吞吐能力。

项目架构:

产品的整体方案如图所示。

黄色部分为Cantian开源代码交付的核心模块,主要部署在计算节点上。分成几个部分:

1.和MySQL对接的Connector部分,这部分和MySQL在一个进程空间运行,主要作用是接受MySQL的请求,并通过IPC和Cantian进程进行通信。Cantian图中的标号①。这部分代码完全遵守MySQL的开源协议进行开源。

2.Cantian引擎,参见图中的标号③。这部分运行时包括两部分,一部分是Cantian的业务进程,另一部分是集群管理CMS进程。每个Cantian进程都会对应一个CMS进程。CMS负责监管Cantian运行状态,脑裂仲裁,Cantian故障时由CMS拉起。CMS故障时由一个看门狗拉起。为实现多写Cantian之间通过高速网络进行通信,网络通信部分参见图中标号②。Cantian引擎整体是基于木兰开源许可协议的。

3.访问存储客户端(内置在Cantian引擎中),主要作用是和存储通信获取数据,使用外置的共享存储即可对接。参见图中标号④。

图上蓝色部分不包括在Cantian开源代码中,需要由Cantian开源的使用者,例如数据库厂商提供。