openGauss核心定位与核心优势测评
openGauss 不只是个性能能打的开源数据库,开源化的核心推手。它靠 “技术自己能掌控”,打破了商业数据库的垄断;靠“大家一起建开源生态”,帮企业降低了数字化转型的成本;还靠“针对性解决场景问题”,搞定了企业核心业务里的痛点。往后,随着智能技术、新硬件和安全需求深度结合,openGauss 大概率会成为 “下一代企业级数据库” 的标杆,给全球数据库技术发展和产业升级拿出我们的方案。
1.核心定位
openGauss是企业级开源关系型数据库,适配多核硬件与混合业务场景的关系型数据库产品,与PostgreSQL相比,他拥有更完善的事务处理机制,大大降低性能波动的概率;针对多核 CPU(尤其是 ARM 架构鲲鹏处理器)做了底层优化,解决传统数据库在 NUMA 架构下 “多核扩展瓶颈” 问题,可充分释放硬件算力。
从业务场景看,openGauss 重点瞄准金融、政务等对数据库 “高性能、高可靠、高安全” 要求严苛的领域,例如支撑银行核心交易系统、政务敏感数据存储等提供企业级数据库能力,打破商业数据库垄断。
2.核心优势
2.1. 高性能:两路鲲鹏 150 万 tpmC,NUMA 多核优化效果显著
2.1.1 NUMA 多核优化
通过线程绑核避免线程在不同 NUMA 节点间频繁切换,结合 NUMA 化数据结构改造(如分区 CLOG 缓冲池、并行 WAL 写入),减少跨节点内存访问延迟,解决传统数据库 “五把大锁”(Clog、WALInsert 等)的并发瓶颈;
2.1.2 智能执行技术
支持 SQL-Bypass 选路执行,简单查询可跳过复杂优化流程直接执行,减少计算开销;同时提供面向实时场景的内存引擎(MOT),免锁设计使事务延迟低至毫秒级;
智能执行技术的核心是 “让执行器更高效地运行计划”(如 LLVM 编译、向量化执行),而这依赖 SQL 处理流程输出的 “优化后物理执行计划”
例如,SQL 处理流程将 SELECT * FROM t1 WHERE age>30 解析为 SeqScan + Filter 算子” 的执行计划后,智能执行技术才能对 Filter 条件(age>30)启用 LLVM 编译,减少执行损耗

可以通过以下示例代码,开启 / 关闭 LLVM 动态编译,对比执行耗时(验证智能执行技术)
-- 1.1 创建大表并插入测试数据(模拟 10000数据,放大优化效果)
CREATE TABLE test_llvm_optimize (
id BIGSERIAL PRIMARY KEY,
value1 INT,
value2 BIGINT,
value3 VARCHAR(100),
value4 NUMERIC(10,2)
);
-- 插入 10000条测试数据(可通过 generate_series 快速生成)
INSERT INTO test_llvm_optimize (value1, value2, value3, value4)
SELECT
random()*10000 AS value1,
random()*10000 AS value2,
'test_' || CAST(random()*10000 AS VARCHAR) AS value3,
random()*10000.00 AS value4
FROM generate_series(1, 10000);
-- 1.2 关闭 LLVM 动态编译,执行复杂计算查询并记录耗时
SET enable_codegen = off; -- 关闭 LLVM
SELECT
value1,
COUNT(*) AS cnt,
SUM(value2) AS sum_val2,
AVG(value4) AS avg_val4,
MAX(value3) AS max_val3
FROM test_llvm_optimize
WHERE value1 BETWEEN 1000 AND 5000
GROUP BY value1
HAVING COUNT(*) > 50
ORDER BY sum_val2 DESC
LIMIT 100;
-- 1.3 开启 LLVM 动态编译,重复查询对比耗时
SET enable_codegen = on; -- 开启 LLVM
SELECT
value1,
COUNT(*) AS cnt,
SUM(value2) AS sum_val2,
AVG(value4) AS avg_val4,
MAX(value3) AS max_val3
FROM test_llvm_optimize
WHERE value1 BETWEEN 1000 AND 5000
GROUP BY value1
HAVING COUNT(*) > 50
ORDER BY sum_val2 DESC
LIMIT 100;
2.1.3 存储引擎适配
行存引擎优化随机读写(适合 OLTP),列存引擎通过向量化执行提升分析查询效率(适合 OLAP),混合场景下性能比单一引擎数据库高 30%~50%。

2.2 高可靠:RTO<10s,Paxos 协议保障主备切换一致性
RTO(恢复时间目标)<10s:在 60% 负载、70 万 + tpmC 压力下,主节点故障后,备节点可在 10秒内完成接管,业务中断时间短,满足金融交易、运营商计费等 “不能停” 的核心场景需求;
RPO(恢复点目标)=0:主备节点通过实时日志同步(WAL 日志即时传输),确保主节点故障时备节点无数据丢失,数据完整性 100% 保障。
2.3 高安全:全密态加密 + 防篡改账本,覆盖数据全生命周期防护
openGauss 针对 “数据上云”“敏感数据保护” 等企业痛点,构建了从 “传输 - 存储 - 计算 - 运维” 的全链路安全防护
2.3.1 全密态计算:数据 “可用不可见”:
基于可信执行环境(TEE,支持 Intel SGX 与华为鲲鹏 SEC),客户端将数据加密后传输至数据库,数据库在密态下完成等值查询、范围查询等计算,全程不接触明文;
采用 “根密钥 - 主密钥 - 列加密密钥” 三级密钥管理,密钥由 KMS 服务统一管控,避免密钥泄露风险,满足金融、政务等对数据隐私要求极高的场景(如医保数据、交易流水加密存储)。
2.3.2 防篡改账本:数据可追溯、不可篡改:
- 支持创建 “账本表”,每笔数据增删改操作都会生成哈希摘要,记录到历史表与全局链中,通过哈希链校验可快速发现数据篡改;
实测中,对账本表数据的非法修改可在 10ms 内检测到,且能追溯修改人、修改时间、原始数据,满足审计合规要求(如金融行业反洗钱审计、政务数据溯源)。
2.3.3 多维度安全加固:
- 传输加密:支持 SSL/TLS 协议,避免数据传输过程中被窃取;
- 存储加密:支持数据文件透明加密,即使磁盘被盗也无法解析数据;
- 访问控制:细粒度权限管理(列级权限、行级安全)+ 多维度审计日志,防止越权访问与恶意操作。

2.4 易运维:AI 辅助调优、慢 SQL 诊断,降低 DBA 工作量
传统数据库运维(参数调优、慢 SQL 诊断、索引优化)依赖 DBA 经验,耗时且易出错,openGauss 通过 AI 技术实现 “自运维”,核心能力实测如下
2.4.1 AI 智能调优:
- 基于强化学习模型,可根据 workload 特征自动推荐参数配置(如
shared_buffers、work_mem等),无需
DBA 手动调试;
实测中,对 TPC-C workload 的参数调优后,性能比默认配置提升 40%,调优时间从传统的 “数天” 缩短至 “小时级”。
2.4.2 慢 SQL 诊断与优化:
- 支持慢 SQL 执行时间预测(准确率 99.37%),可提前识别上线业务中的潜在性能风险;
- 提供 “SQL 透视” 功能,通过可视化界面展示 SQL 语句相似性与执行代价,快速定位慢 SQL 根因(如缺少索引、Join 顺序不合理);
- 内置索引推荐工具(
gs_index_advise)
实测中为 lineitem 表推荐索引后,查询性能从 37888ms 提升至 1.85ms,性能提升超 2 万倍。
2.4.3 自动化运维工具:
- 提供 OM(运维管理)工具,支持一键安装、扩容、备份恢复;
- 内置 WDR 性能报告,可生成多维性能监控视图(CPU、IO、锁等待等),帮助
DBA 快速定位性能瓶颈,减少 50% 以上的例行运维工作量。
可以通过下面的示例代码验证 “易运维” 优势:通过 gs_index_advise 工具(AI 驱动)自动推荐最优索引,避免 DBA 手动试错;
-- 3.1 创建无索引的大表(模拟慢 SQL 场景)
CREATE TABLE test_slow_sql (
id BIGSERIAL,
product_id INT,
sale_date DATE,
sale_count INT,
sale_price NUMERIC(10,2)
);
-- 插入 50000条销售数据
INSERT INTO test_slow_sql (product_id, sale_date, sale_count, sale_price)
SELECT
random()*5000 AS product_id,
CURRENT_DATE - (random()*730)::INT DAY AS sale_date,
(random()*100)::INT + 1 AS sale_count,
random()*1000.00 AS sale_price
FROM generate_series(1, 50000);
-- 3.2 执行慢 SQL(无索引,全表扫描)
EXPLAIN ANALYZE
SELECT
product_id,
SUM(sale_count) AS total_sales,
AVG(sale_price) AS avg_price
FROM test_slow_sql
WHERE sale_date BETWEEN '20243-01-01' AND '2024-12-31'
GROUP BY product_id
HAVING SUM(sale_count) > 1000;
-- 3.3 使用 openGauss 内置索引推荐工具(AI 辅助运维)
SELECT * FROM gs_index_advise(
'test_slow_sql', -- 表名
'SELECT product_id, SUM(sale_count) AS total_sales, AVG(sale_price) AS avg_price FROM test_slow_sql WHERE sale_date BETWEEN ''2024-01-01'' AND ''2024-12-31'' GROUP BY product_id HAVING SUM(sale_count) > 1000' -- 慢 SQL 语句
);
-- 3.4 按推荐创建索引后,重新执行查询(验证优化效果)
-- 假设推荐索引:(sale_date, product_id) INCLUDE (sale_count, sale_price)
CREATE INDEX idx_test_slow_sql_sale_date_product ON test_slow_sql (sale_date, product_id) INCLUDE (sale_count, sale_price);
-- 重新执行查询,对比耗时
EXPLAIN ANALYZE
SELECT
product_id,
SUM(sale_count) AS total_sales,
AVG(sale_price) AS avg_price
FROM test_slow_sql
WHERE sale_date BETWEEN '2024-01-01' AND '2024-12-31'
GROUP BY product_id
HAVING SUM(sale_count) > 1000;
3.总结与展望
openGauss 不只是个性能能打的开源数据库,开源化的核心推手。它靠 “技术自己能掌控”,打破了商业数据库的垄断;靠 “大家一起建开源生态”,帮企业降低了数字化转型的成本;还靠 “针对性解决场景问题”,搞定了企业核心业务里的痛点。
往后,随着智能技术、新硬件和安全需求深度结合,openGauss 大概率会成为 “下一代企业级数据库” 的标杆,给全球数据库技术发展和产业升级拿出我们的方案。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)