分布式事务型数据库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 架构演进
对比测试
TPC-H 对比测试(单位秒)
通过源码方式安装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 命令帮助信息
AntDB 文章集合
https://github.com/yafeishi/antdb-articles