openGauss基于PostgreSQL数据库内核开发,作为GaussDB数据库的开源主备版本,和PostgreSQL相比,在性能和扩展性方面进行了优化。
- 执行模型:OpenGauss优化了线程池模型,满足高并发的访问需求;
- NUMA改造:OpenGauss支持信创服务器的Numa适配,提升服务器的性能;
- 存储引擎优化:OpenGauss支持列存和内存引擎;
- 优化器优化:结合实际的应用场景支持CBO对复杂查询场景的优化能力。

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

本文内容节选自报告: 《华为的数据库之路:内启外拓,蝶变升级》_德邦证券_2024.10.11.pdf
最后修改时间:2024-10-12 14:54:28
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




