暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss训练营学习心得

原创 jyq 2021-09-12
601

“一主一备双引擎,一中一洋保无虞”。在国产数据库盛行、崛起时代,除了学习在工作中应用的oracle外,还要了解学习各种国产数据库,如达梦、gbase、人大进仓、openGauss等。机缘巧合在群里看到opengauss训练营的报名通知,经过2个下午的培训学习,收货颇丰。
openGauss是一款开源关系型数据库管理系统,是一款基于pg改造的pg关系型数据库,且采用木兰宽松许可证v2发行许可证,与Oracle兼容性较好。
openGauss提供面向多核的极致性能、全链路的业务和数据安全、基于AI的调优和高效运维的能力, 全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库。具有高性能、高安全、易运维、全开放的竞争力。
本次课程介绍了存储引擎、部署方式、SQL命令的处理流程、执行引擎、NUMA 内核数据结构、MOT原理和优势、AI特性等内容,下面由我从这几方面做总结。
一、存储引擎方面:
openGauss存储引擎是可插拔、自组装的,支持多个存储引擎来满足不同场景的业务诉求,目前支持行存储引擎、列存储引擎和内存引擎。
(1)行存储引擎。主要面向OLTP(Online Transaction Processing,在线交易处理)场景设计,例如订货发货,银行交易系统。
(2)列存储引擎。主要面向OLAP(Online Analytical Processing,联机分析处理)场景设计,例如数据统计报表分析。
(3)内存引擎。主要面向极致性能场景设计,例如银行风控场景。
二、部署方式:
openGauss支持单机、双击、一主多备和支持两地三中心的部署方式。
三、SQL命令的处理流程:
SQL命令的处理流程大致分为四个部分:SQL解析、查询优化、查询执行、存储引擎。
(1)在SQL解析方面:包括词法分析、语法分析和语义分析。
在查询执行方面:其逻辑控制主要是围绕着关系运算来实现的,包含以下几个算子:扫描算子、控制算子、物化算子、连接算子。
(2)最后通过数据的读取/处理,分配事务,产生日志,进行主备的复制,最终落地到存储引擎中。
四、执行引擎:
执行引擎包括扫描算子、控制算子、物化算子和连接算子。
五、NUMA 内核数据结构:
内核数据结构主要特点有:
(1)、 线程绑核, 避免线程在核间偏移。
(2)、 NUMA化数据结构改造, 减少跨核访问。
(3)、 数据分区, 减少线程访问冲突。
(4)、 算法调整, 减少单点瓶颈。
(5)、 借助ARM原子指令, 减少计算开销。
六、MOT原理和优势:
MOT具有高吞吐,低延迟和严格一致性保障的HA和RTO的特点。它的优势如下;
(1)优势1:性能高、 CPU 利用率高、延迟低
① 高度优化的全内存免锁存储引擎
② 基于全内存优化实现的免锁索引
③ 高度优化的并发访问控制
④ 针对NUMA优化的内存管理,预缓存对象池
⑤ 针对NUMA高度优化的组提交
(2)优势2:生态好、兼容好,功能完整
① 有效利用openGauss现有的查询引擎,兼容PG生态
② 兼容PG原生FDW和索引,SQL标准兼容度高,功能完整
③ 除PG原生FDW之外,还支持存储过程、用户定义函数等功能
七、AI特性:
openGauss不仅具有强大的计算性能、高效的数据处理能力,同时其本身也是人工智能原生数据库,支持参数自调优、SQL诊断、故障自诊断、全生命周期管理等功能。这对数据库管理者带来了一定的便利和优势。
在学习了本次课程后,发现华为在国产数据库方面做了很大的努力和贡献,从以前的oracle一花开放到现在的各种国产数据库百花齐放的局面。现在在生产生活中很多都去掉oracle数据库的使用,采用的是国产数据库,可见我们的国产数据库能支撑起我们的业务所需,愿以后会越做越好,越做越强。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论