轻松上手openGauss:初识openGauss

起源

Postgres-XC是基于 PostgreSQL实现的可扩展集群,该集群基于shared-nothing架构形成多主且写可靠的数据库集群系统,PostgreSQL相关的API可以不需要修改直接使用,应用程序、事务处理等均不需要修改。基于Postgres-XC项目,深度融合华为在数据库领域多年的经验,结合企业级的场景需求,持续构建竞争力特性,形成了openGauss数据库。

shared-nothing架构特点:

  1. 高并发大数据场景下的按需拓展

  2. 内部自动化并行处理

  3. 最优化IO处理

  4. 增加节点实现线性拓展


openGauss使用场景

  1. 交易型应用:大并发、大数据量、以联机事务处理为主的交易型应用,如电商、金融、电信CRM/计费等,应用可按需选择不同的主备部署模式。

  2. 物联网数据:在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样率高,数据存储为追加模型,操作和分析并重的场景。


openGauss竞争力总览

特点描述
高性能通过列存储、向量化执行引擎、融合引擎等关键技术,实现百亿数据量查询秒级响应。
高安全支持访问控制、加密认证、数据库审计、动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。
易运维支持WDR诊断、慢SQL诊断、Session诊断等多种维护手段,准确快速定位问题。具备AI4DB能力,能够通过AI算法实现数据库自调优、自监控、自诊断等。
全开放采用木兰宽松许可证协议,允许对代码自由修改、使用、引用。
高可靠采用闪回和回收站技术,确保可快速恢复误删除数据。

openGaus VS PostgreSQL 关键技术对比

关键差异化因素openGaussPostgreSQL
执行模型线程池模型,高并发连接切换代价小、内存损耗小,执行效率更好进程模型,数据库进程通过内存共享实现通信与
并发控制64位事务ID,使用CSN解决动态快照膨胀问题;NUMA-Aware引擎优化解决“五把大锁”事务ID回卷,长期运行性能因为ID回收周期大幅波动;存在“五把锁”的问题,导致事务执行效率和多处理器多核扩展性存在瓶颈
日志和检查点增量checkpoint机制,实现性能波动 < 5 %全量checkpoint机制,性能短期波动 > 15 %
鲲鹏NUMANUMA改造,cache-line padding、原生spin-lockNUMA多核能力弱,单机两路性能TMPC < 60w
多引擎行存、列存、内存引擎,在研DFV存储和原位更新仅支持行存
优化器支持CBO,吸收大型企业场景优化问题支持CBO,复杂场景优化能力一般
SQL解析ANSI/ISO标准SQL92、SQL99、SQL2003和企业拓展包ANSI/ISO标准SQL92、SQL99、SQL2003

openGauss处理流程 VS Mysql处理流程

对于openGauss,它的主要处理流程为四步:

  1. 启动流程

  2. 业务处理流程

  3. 检查点流程

  4. 归档流程

openGauss处理流程

openGauss处理流程图

对于Mysql,它的主要处理流程为三步:

  1. 连接管理
  2. 解析与优化
  3. 存储引擎

Mysql处理流程


openGauss的关键技术

openGauss架构图

  1. 全局数据结构NUMA化改造
  • 工作进程NUMA绑核、全局数据结构(ProcArray/Buffer/B-Tree等)NUMA分区化改造,减少跨核、跨处理器竞争冲突。
  • WAL和Clog等日志从串行改为多核并行,消除串行的性能瓶颈
  1. 多核原生指令集优化

    • 鲲鹏原生Atomic_LES实现了NUMA-Aware自旋锁,四个指令->一个指令,提升指令效率。
    • cache-line padding技术,将WAL等组件保护全局位置索引的两个cache-line原子操作->一个,提升指令和数据效率。
  2. 实时日志同步、日志流水线和无锁并行日志恢复

    传统并行日志的实现方案主要有两种:

    • 方案一:延迟回放

      • 常态下:日志不落盘即回放,实现备机实时回放。
      • 恢复中:为缩短故障切换时间,日志采用lazy回放模式,延迟到备升主,后台并行。
      • 问题:需要维护多版本,消耗存储和CPU资源
    • 方案二:逻辑并行

      • 同一个prepare-commit日志可以并行回放。
      • 采用LOGIC_CLOCK减少备机日志同步、并行复制。
      • 问题:并行度不高,不在一个prepare-commit阶段日志不能并行回放

​ opneGauss针对这些实现方案的优缺点进行兼收并取,它的实现方案有如下特点

  • 主机发送日志到备机实现同步。

  • 备机日志实时落盘,同时将日志流并行解码、读取和回放事务日志。

  • 保证极大化日志回放吞吐,功能切分服务化、流水线协同、减少串行度。

  • 批处理化回放,消除单条回放反复获取/释放锁的并发控制和IO开销。

  • Block级物理并行,去除按表切割并行机制,locality更好、并行度更高。

  1. 参数自调优、SQL智识别

    面临的问题:

    • 数据库属于复杂软件系统,而复杂软件系统参数调优一直是一个大难题;
    • 不同软硬配置差异和不同负载,相同参数性能差异巨大。
    • 在千万级组合中快速找到最佳配置是极为挑战的难题。

    X-Turner

    数据库自带的调优工具,通过结合深度强化学习和启发式算法,实现在无需人工干预的情况下,获得最佳数据库参数。

    • 鲁棒性:内容容错和紧急处理机制,系统出现故障、异常时,算法正常退出,不会影响系统。
    • 可扩展:基准测试模块、调优算法模块、连接模块、日志模块的架构,层次性极强,方便用户进行优化或拓展功能模块。

    Predictor

    基于机器学习且具有在线学习能力的查询时间预测工具。通过不断的学习数据库内收集的历史执行信息,实现计划和执行时间预测功能。

    • 依赖小:不需要SQL执行计划,消除数据库的性能影响。
    • 应用广:适用OLTP、OLAP场景,经改造甚至可以用于NoSQL。
    • 易扩展:用户可轻易设计自己的预测模型。
  2. 融合内存引擎MoT架构

    适用场景:

    • 高吞吐低时延事务处理
    • 性能加速
    • 中间层缓存
    • 大规模数据流分析处理
    • 低成本

    MoT表的特点

    • 支持行存事务处理
    • 优化多核和大内存服务器线性扩展
    • 支持事务的ACID、持久化、高可用
    • 完全整合入openGauss数据库
    • 支持X86平台和ARM64鲲鹏平台
    • 性能是磁盘表的3倍

    技术优势

    • 基于全内存优化实现的免锁存储引擎的高度优化和并发访问控制。
    • 针对NUMA优化的内存管理、事务本地化内存。
    • 利用openGauss现有的查询引擎,实现PG内存、兼容PG原生FDW索引,SQL标准兼容度高,功能完善。
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值