分布式事务型数据库AntDB

       AntDB 是一款源自于 PG 内核的通用分布式事务性关系数据库,是一款面向金融、电信、政务、安全、能源等行业的国产、自主、安全可靠、高性能的企业级分布式事务型关系数据库产品。具备持续的集群自动高可用,秒级在线扩缩容,强大的 Oracle 兼容,异地容灾,SQL 语句级自定义分片,分布式事务和 MVCC ,最大保护最大性能最大可用的自适应切换,全局一致性位点恢复等企业级应用的核心能力。对应用完全透明,可实现从 Oracle 的平滑迁移。

特性

  • 与 Oracle 数据库高度兼容(支持大约 80% 的 oracle语 法和 oci7 )
  • 分布式事务(2PC)和全局 MVCC
  • 大规模并行查询处理
  • 动态扩展数据库集群容量
  • 高度自动化的操作和维护

快速安装 AntDB 

点击跳转到快速安装页面,github位置 url: https://github.com/ADBSQL/docs/blob/master/AntDB/how-to-install-AntDB.md

AntDB 架构演进

分布式数据库和关系型数据库 post 分布式 关系型 数据库_postgres-xc

 

对比测试

TPC-H 对比测试(单位秒)

分布式数据库和关系型数据库 post 分布式 关系型 数据库_postgres-xc_02

 

 通过源码方式安装AntDB 步骤示例

  下载源码文件 

   git clone https://github.com/ADBSQL/AntDB -b ADB3_1_STABLE

   源码编译

step 1: mkdir build
    step 2: cd build   step 3: ../AntDB/configure --prefix=/opt/adbsql --with-perl --with-python --with-openssl --with-pam --with-ldap 
      --with-libxml  --with-libxslt --enable-thread-safety --enable-debug --enable-cassert CFLAGS="-DWAL_DEBUG -O2 -ggdb3"
    step 4: make install-world-contrib-recurse
   安装启动Adb manager
    initmgr -D datamgr
    mgr_ctl start -D datamgr
    添加host信息
      add host localhost1(port=22,protocol='ssh',adbhome='/opt/adbsql',address="10.1.226.201",agentport=8432,user='adb');
       add host localhost2(port=22,protocol='ssh',adbhome='/opt/adbsql',address="10.1.226.202",agentport=8432,user='adb');
       add host localhost3(port=22,protocol='ssh',adbhome='/opt/adbsql',address="10.1.226.203",agentport=8432,user='adb');    添加节点信息
     add coordinator master coord0(path = '/data/adb/adb_data/coord/0', host='localhost1', port=4332);
      add coordinator master coord1(path = '/data/adb/adb_data/coord/1', host='localhost2', port=4332);
      add datanode master datanode0(path = '/data/adb/adb_data/datanode/0', host='localhost1', port=14332);
      add datanode slave datanode0s for datanode0(host='localhost2',port=14332,path='/data/adb/adb_data/datanode/00');
      add datanode master datanode1(path = '/data/adb/adb_data/datanode/1', host='localhost2', port=24332);
      add datanode slave datanode1s for datanode1(host='localhost1',port=24332,path='/data/adb/adb_data/datanode/11');
     add gtm master gtm(host='localhost3',port=6655, path='/data/adb/adb_data/gtm');    add gtm slave gtms for gtm(host='localhost2',port=6655,path='/data/adb/adb_data/gtm_slave');
   分发安装文件到各个服务器上
    deploy all password 'passswd';
    启动各个服务器上agent
    start agent all password 'passwd';
    初始化集群 (包含了启动步骤)
    init all; (或者 init all data_checksums,  带data_checksums表示在initdb 时带了参数-k)
   至此,AntDB 数据库集群安装部署完毕。
 
 集群管理 Adb manager功能列表
 Adb manager框架用来部署安装及管理分布式数据库AntDB,通过Adb manager框架实现的功能如下:
自定义操作命令语法
添加服务器信息到host系统表 add host 命令
添加节点信息到 node表 add gtm/coordinator/datanode 命令
分发安装文件到各个服务器 deploy 命令
启停各个机器上agent节点 start/stop agent 命令
初始化集群 init cluster 命令
启动节点 start gtm/coordinator/datanode/all 命令
停止节点 stop gtm/coordinator/datanode/all 命令
设置节点参数 set gtm/coordinator/datanode 命令
查看当前节点参数 show gtm/coordinator/datanode 命令
查看主备关系 monitor ha 命令
查看节点运行状态 monitor all 命令
扩容 expand 命令
备机升主机 failover gtm/datanode 命令
主备切换 switchover gtm/datanode 命令
coordinator 允许连接信息 add hba命令
自定义定时任务 add job命令
...
具体可见 \h 命令帮助信息

分布式数据库和关系型数据库 post 分布式 关系型 数据库_数据库_03

 

AntDB 文章集合

https://github.com/yafeishi/antdb-articles