Today 听了一下墨天轮举办的OpenGaussDB的专题的训练营,下面是此次线上的OpenGaussDB的体系结构的介绍。这里根据介绍快速总结出此次介绍中OpenGaussDB的特点:
1 OpenGaussDB 针对国产的硬件系统,如鲲鹏等硬件系统有特殊的支持和性能调试,真多国产的硬件系统有优势。
2 OpenGaussDB 主要有分布式结构的云系统,以及开源和商业的单机的OpenGaussDB 系统。
3 OpenGaussDB 整体修改了基于PG方面的架构,如PG是客户连接是进程,而OpenGaussDB 采用了进程分配线程的客户连接的方式
4 OpenGauss 自己制作了线程池,主要的原因是避免了高并发中连接的无效争抢资源,提高了高并发中对CPU的有序利用,有序的调度并行的任务,避免系统资源不足的情况下,对系统资源的无效使用。(这点个人认为是很重要的,也是PG本身的缺陷所在之一)
5 针对PG的 32位的TXID ,转变为64位,将高并发系统中存在的频繁VACUUM 使性能不高的问题化解,同时降低了系统在管理不善中容易触发的"冷冻时间"从根源解决。
6 openGauss, 提供了HTAP的功能,在数据处理中提供双核心的数据库处理引擎,OLTP OLAP 的方案,并且同时支持在数据查询中同时使用两个核心,根据数据的计算要求,对于大数据量的分析查询走列式数据库引擎 ,一个数据库包含 行 列的数据库引擎
7 添加了内存数据库引擎在OpenGauss 内
8 逐步完善数据库自动化学习与运维的能力,提高数据库自运维能力,提供慢查询分析,索引建立建议,以及系统健康系统。
9 提供企业级的双机热备,保证数据的安全,对数据的传输进行有效压缩,降低数据传输的带宽需求
另从一些快速翻篇的PPT 以及没有介绍的偶然亏得, 后续系统会针对内存数据持久化以及快速的数据库恢复有所计划。
以下为PPT 截图
openGauss 中包含内存引擎
不同的算子如何进行并行的方式来进行运算, 单线程分配给多个线程处理由单线程变为多线程, 设计信息的交接和重利用的问题, 最终将结果load gather
运维的系统的支持,通过AI 的智能运维支持,提供运维的支持,健康的检测,索引的推荐,推荐表的部署方式和分区的方式。