【AntDB数据库】AntDB数据库核心概念

核心概念

管理节点

ADBMgr 是AntDB 集群的管理节点,主要功能包括:

  • 部署集群
  • 启动和停止集群节点
  • 设置节点的访问策略
  • 设置节点的数据库参数
  • 监控节点的运行状态和流复制状态
  • 进行版本升级
  • 进行扩容
  • 进行节点主备切换
  • ...

ADBMgr 是通过主机上的agent进程来管理节点的,所以ADBMgr 也有管理agent的功能,主要包括:agent的部署和agent的启停。

存储引擎

AntDB数据库采用无共享(Shared-nothing)架构,数据分布在网络上多个互联的节点上,这样做有多种好处:

  • 数据量、读取负载、写入负载超过单台机器的处理能力。
  • 满足容错和高可用需求,单台机器(或多台机器、网络或整个数据中心)出现故障的情况下,仍然能继续工作。多台机器可以提供冗余,一台出现故障,另一台可以接管。
  • 降低延迟,每个用户可以从地理上最近的数据中心获取服务,避免等待数据包远距离传输。

存储节点DN是AntDB集群用来真正存储业务数据的组件。通过分库分表实现数据库能力的水平扩展,提供多种分片函数,支持定制开发,支持数据节点的分组管理等能力。

数据分片

把数据拆分到多个节点上,在多个节点上进行存储和处理,这种技术叫做数据分区也称为数据分片。

AntDB提供四种数据分片方式,分别是:Hash分片、Mod取模分片、Random随机分片及复制表。用户可以在建表语句CREATE TABLE中使用 DISTRIBUTE BY 关键字来指定分片方式。除复制表外,其他三种数据分片方式都是基于键的分片。比如Hash分片的原理是使用新写入数据的某个键值 —— 比如客户 ID、客户端 IP、ZIP 码等等 —— 通过哈希函数决定保存的数据节点(也就是分片位置)。

自适应流复制

AntDB 提供了hot-standby的能力,并且通过流复制的方式,大大的缩短了备份库与主库的事务间隔。

AntDB基于PG内核的流复制机制上实现了使用分布式跨平台内存级的流复制协议进行异构计算,通过流式事务处理机制可实现在高并发极限压力下主从节点间数据毫秒级同步延时,为业务的持续可用创造了底层有利条件。

传统流复制分为同步和异步两种模式。同步复制是主机的事务要等到备机提交成功后才会提交并结束事务,缺点是备机故障时,主机会一直hang住;异步复制是指主机的事务完全不受备机的影响,缺点是主备机之间在高并发场景下数据会存在时延,无法做到实时强一致性。很多时候,数据安全、持续高可用和处理性能之间需要取的平衡。AntDB参考Oracle最大保护,最大性能,最大可用之间的自适应切换设计原则,也提供了自适应流复制的内核实现,实现了同步备节点异常后业务依然可持续。

全局事务

全局事务管理节点(Global Transaction Management 简称 GTM)是AntDB的核心组件。

GTM是为保持数据库的全局一致性而存在的。部分分布式数据库如postgres xl实现全局一致性的方法是集群中每个节点的每个事务使用的事务号和快照都来自GTM,只要让GTM提供全局唯一的事务ID(即GXID)和全局快照,整个集群就能保持一致的可见性,从而保持数据库的一致性。但是为了保证提供的事务号全局唯一,GTM必须要以类似“串行”的方式处理事务号和快照的请求,这可能会使得GTM成为数据库集群的性能瓶颈。为了解决这个问题,AntDB做了以下优化:

  • AntDB设计了coordinator从本地就可以获取到全局快照的算法,避免了频繁向GTM请求快照的操作。

  • GTM实现批量分派事务号,避免在高并发的情况下逐条分发事务号所造成的性能瓶颈。

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔电信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。

你可能感兴趣的:(AISWare,AntDB,国产数据库,AntDB,java,数据库,运维)