有幸于5月14日、5月15日参加了《8小时玩转openGauss训练营(第三期)》,了解了国产数据库发展的现状,学习了openGauss几大核心功能的优点,包括集群部署、性能优化、AI特性、安全技术。
1. 集群部署
这里主要介绍了HA部署,支持一台主机和多台备机,升级支持就地升级和灰度发布,涉及同步复制流程与异步复制流程。通过集群管理工具进行管理,cm_ctl命令复制集群相关的操作,cm_ct命令负责常用运维功能。双机交互协商机制实现极低RTO, 引入基于Paxos协议的DCF组件,能够保证数据一致性的同时,在高可用方面得到极大增强。
2. 安全技术
这里主要介绍了全密态等值管理流程和防篡改账本数据库,构建完整的基础安全体系,满足业务高安全诉求。密态数据库层次架构解决数据库中的数据泄露问题及运维管理服务信任问题,在数据库服务侧全程存储密文,通过可信硬件环境,完成数据密文检索与计算,兼顾数据隔离和执行性能。同时,引入账本表,以保护数据完整性为共识,防止数据篡改与作弊,达到多方认同。
3. 性能优化
这一部分不仅介绍openGauss优秀的性能参数,还着重介绍了编写规范和性能调优。openGauss通过实现NUMA CPU架构数据库,采用64位事务ID优化,使用增量检查点技术等技术,实现企业用户大并发下性能的提升。编写规范上,基于PG和自身的新功能,详细了描述了编写规范,特别是着重介绍WDR快照和WDR报告,从系统级、对象级、应用级探讨了性能指标体系,结合实践案例和指标表现,详述了数据库优化的可行途径。
4. AI特性
这一部分内容是最吸引我注意的,讲解通过AI算法加持,解决传统数据库问题,特别是在SQL自优化和故障自监测方面,这一技术是近几年各大公司发力的热点。常见的调优方式包括基于规则、基于搜索算法、基于监督学习、基于强化学习,为了了解这方面的成果,我特定搜索到github上的TsinghuaDatabaseGroup项目组的内容,与PPT里介绍的算法和思路有异曲同工之处。openGauss开源的数据库参数调优工具支持的算法包括DDPG、粒子群算法(particle swarm optimization,PSO)与贝叶斯优化算法(bayesian optimization)等,通过浏览openGauss-server/src/gausskernel/dbmind路径,可以看到相关源代码;tools目录存放着dbmind的核心代码,该工具与普罗米修斯监控平台结合,通过fastapi异步web架构,可以实现简单而清晰的页面展示;tools\components\xtuner,则是存放原来X-Tuner采集操作的代码,xtuner.py文件定义了全局搜索算法与强化学习算法的执行流程,algorithms目录存放算法的实现代码,这里有通过引入第三方库实现的DDPG算法和贝叶斯优化算法,和pso.py文件中封装的PSO算法。




