ADB集群所基于的Postgres-XC数据库集群本来的数据库部署工具叫做pgxc_ctl,虽然能够实现对数据库集群部署的基本功能,但该工具存在一些安全性和健壮性的问题,所以亚信科技的BDX部门决定开发ADBManager以替代原先的pgxc_ctl。
1。2本文工作和组织
在本课题的主要完成工作是完成亚信分布式数据库自动化部署工具ADBManager的设计与实现。在本文共分为四章。
第一章的主要内容是绪论。在这一章中我们从课题背景讲起,对数据库集群ADB基于的Postgres-xc集群的结构和功能进行了介绍。然后介绍了本文的工作和结构。
第二章是对亚信分布式数据库部署工具ADBmanager的需求分析。在这一章中我们首先对课题背景和常用术语进行了说明,拟定了开发目标。通过系统用例图和其详细说明对部署工具ADBManager进行了需求分析,描述了ADBManager应具有的功能。
第三章是对亚信分布式数据库部署工具ADBmanager的设计与实现。在这一章中,首先对ADBManager的整体结构进行了介绍。接下来详细地说明了WEB显示层模块、词法语法分析模块和执行函数模块的设计思想和实现中的重点,主要包括该模块中的数据结构,流程逻辑,模块间的关系。
第四章是对亚信分布式数据库部署工具ADBmanager的测试。在这一章中,首先说明了测试环境的所需要的软件。接下来通过测试用例记录了对每个功能模块的测试过程和结果。
2 亚信分布式数据库部署工具ADBmanager的需求分析
2。1 ADBManager的开发目标
亚信分布式数据库部署工具ADBmanager需要能够实现对整个ADB数据库集群所有组件安全有效的管理。
所谓数据库集群的安全管理,是指保护数据库集群数据的安全性。具体来说,就是通过ADBManager在需要部署数据库组件的主机上启动一个代理进程agent,通过agent进程在主机上执行命令。从而使得ADBManager只能通过agent在其他主机上执行事先约定好的命令,而不能进行其他操作。而原先的部署工具pgxc_ctl在与其数据库集群节点所在的主机通信时,是通过ssh(Secure Shell,安全外壳协议)实现主机间的互信[11]。由于pgxc_ctl的用户可以通过ssh互信连接到其他主机,一旦pgxc_ctl所在主机被黑客入侵,整个集群的数据都会面临丢失和泄露的危险。而且即使主机没有被入侵,用户也可以对集群组件的相关文件进行误操作,如错误地修改、删除了数据库组件的配置文件等[12]。
所谓数据库集群的有效管理,是指实现对ADB集群的部署。具体来说,就是要完成对agent、GTM、协调节点、协调节点的配置、初始化、启动、停止,并通过WEB界面可配置的方式实现客户端。
2。2术语解释
本文涉及的术语如下,下面对其进行解释,如果不特别说明按以下解释为准。
ADB:亚信分布式数据库
agent:运行在服务器端的代理进程,每个服务器端都有且仅有一个该代理进程,由ADBManager通过相应的命令启动,用于接收ADBManager需要在该服务器执行的命令。agent接收到命令后发送给该服务器上的其他节点,相应节点执行完命令后将执行结果返回给agent,再由agent返回给ADBManager。
GTM:Global Transaction Manager,即全局事务管理器,ADB集群的基本组件,用于实现数据库集群全局的事务一致性、元组可见性控制和多版本并发控制。
协调节点:ADB集群的基本组件,用于接收agent发送的SQL语句,并根据系统表将SQL语句发送给相应的协调节点执行,并整合各个协调节点的执行结果返回给agent。本身并不存放任何实际的表数据。