AntDB 是基于PostgreSQL 的分布式架构,包括计算节点(Coordinator)、数据节点(Datanode)、全局事务管理器(GTMCoordinator)和管理节点(ADBManager)四种组件,其中 GTMCoordinator 和 Datanode 为有状态的组件, 需要考虑容灾,一般情况下有备节点(Slave 节点),如图 3-1 所示。

图 3-1 AntDB 架构图
计算节点(Coordinator):具有 SQL 解析、优化、路由、结果汇聚、分布式事务控制等功能。用户可以连接到此类型的节点上,进行 DDL 等所有的SQL 操作。一般情况下,不需要创建备节点,当某一个 Coordinator 有故障且不可恢复时,可以直接移除此类型的节点,不会对集群产生影响。同时,当有需要的时候,可以增加 Coordinator master 节点。
全局事务管理器(GTMCoordator):分布式事务管理重要组件,提供事务ID 和事务快照以及全局序列号、时间戳,参与 2PC 提供分布式 MVCC 能力。同时,提供和计算节点(Coordinator)同样的功能,用户可以直接连接到此节点上,执行增删改查。一个集群只能有一个 GTMCoordator MASTER 节点,且需要创建备节点。
数据节点(Datanode):业务数据存储组件,通过分库分表实现数据库能力水平扩展,支持数据节点分组管理。用户的数据会根据表的分片方式来分布到各个 Datanode 上。目前 AntDB 支持 Hash、Replication、Random、Modulo 四种分片方式。此类型节点只能提供数据读的能力。一般情况下,用户不会直接连接到此类型节点上直接执行操作。数据节点的故障会对集群产生较大影响, 因此,需要创建备节点。
管理节点(ADBManager):用户可以通过管理节点创建集群、管理集群、参数配置等。目前,除了 ADBManager,还有 AntDB 的配套工具 DBOPS 可以提供更强大的集群管理以及监控功能。




