openGauss 数据库快速上手评测:从 Docker 安装到SQL 实战
openGauss 作为一款开源的关系型数据库,凭借其高性能、高可用、高安全的特性,吸引了越来越多开发者的关注。本文将带您快速体验 openGauss,通过 Docker 环境,完成从连接数据库到执行基本 SQL 命令的全过程。
1. 开源数据库新时代:openGauss的崛起与意义
在数字化经济全面加速的今天,数据已成为企业的核心资产,而数据库作为数据存储和管理的基石,其重要性不言而喻。长期以来,关系型数据库市场被国外商业产品主导,存在供应链安全风险和技术依赖问题。随着国家对信息技术应用创新的大力推进,数据库迎来了黄金发展期。
openGauss作为华为开源的企业级分布式数据库,凭借其高性能、高可用、高安全的特性,正成为数据库领域的一颗新星。根据最新数据显示,openGauss在2024年线下集中式关系型数据库新增市场份额已达到30.2%,基于openGauss的关系型数据库产品占比达28.5%,超过MySQL和PostgreSQL,成为三大主流开源技术路线之首。这一数据充分证明了openGauss在市场上的广泛认可度和技术竞争力。openGauss采用木兰宽松许可证,允许对代码自由修改、使用和引用,数据库内核能力全开放。这种开放模式吸引了大量开发者参与贡献,形成了活跃的社区生态。截至目前,openGauss社区已汇聚850余家社区企业成员,7600多名贡献者,覆盖全球1623个城市,累计下载量超过360万次。这种开放式创新生态为openGauss的持续进化提供了不竭动力。在技术特性上,openGauss具有显著优势。它通过多核架构性能优化、主备部署高可用性、全密态计算安全机制等创新技术,为企业级应用提供了坚实的数据库解决方案。特别是在性能表现上,openGauss在两路鲲鹏下TPC-C Benchmark达成150万tpmC的卓越表现,展现出强大的并发处理能力。本文将通过Docker环境,带领读者快速体验openGauss数据库,从安装部署到基本操作,全面感受这款数据库的独特魅力。通过实际动手实践,展示openGauss的易用性和功能性,为开发者评估选型提供一手参考。
2. 技术定位与核心优势
- openGauss的定位不仅是一个替代方案,更是面向未来的企业级分布式数据库。它采用客户端/服务器、单进程多线程架构,支持单机和一主多备部署方式,备机只读,支持双机高可用和读扩展。这种架构设计使其能够满足不同规模应用的需求。
- 在存储引擎方面,openGauss支持多种存储引擎以适应不同场景需求:
- 行存储引擎:面向OLTP场景设计,如订单、物流、金融交易系统

- 列存储引擎:面向OLAP场景设计,如数据统计分析报表
- 内存引擎:面向一些特殊场景对性能有极致要求,如银行风控等
- 这种多模架构使得openGauss可以应对多样化的业务场景,既支持高并发的在线事务处理,也适合复杂分析查询。
- 在安全性方面,openGauss提供了全方位的安全防护机制。它支持全密态计算、访问控制、加密认证、数据库审计和动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。特别是全密态计算技术,能保证数据在传输、存储和计算的整个生命周期中都处于加密状态,极大提升了数据安全性。
- 智能运维是openGauss的另一大亮点。基于AI的智能参数调优和索引推荐功能,可以大幅降低数据库管理难度。慢SQL诊断、多维性能自监控视图等功能,帮助管理员实时掌控系统性能表现。这些智能化特性显著降低了数据库的管理复杂度,提高了运维效率。
- 高可用性是openGauss的重要特性。它支持主备同步、异步和级联备机多种部署模式,具备数据页CRC校验和损坏数据页通过备机自动修复的能力。备机并行恢复技术可在10秒内升主提供服务,为企业关键业务提供稳定可靠的运行保障。
3. 应用场景与行业实践

openGauss已在多个关键行业得到广泛应用,特别是在对数据库要求极高的金融领域。六大国有商业银行中已有四家银行(包括工商银行、农业银行、建设银行、邮政储蓄银行),以及多家股份制银行和保险证券机构选择了openGauss作为数字化转型的坚实数据底座。在金融行业,openGauss支撑了多种核心业务场景。邮政储蓄银行通过鲲鹏、自主创新操作系统、openGauss打造的IT基础设施,支持全国6.5亿用户,日均20亿的交易,全天联机平均耗时降低30%,系统负载峰值TPS提升319%。这一成功案例充分证明了openGauss在高并发、大数据量场景下的稳定性和性能表现。在政务领域,openGauss为各级政府提供数据支撑平台,满足政务系统对数据安全性、服务连续性的高要求。其高可用性和数据安全特性,确保了政务服务的稳定运行和数据的安全可靠。在物联网和大数据场景下,openGauss的列存储引擎和高效压缩技术,能够有效处理海量时序数据,提供快速的分析查询能力。这对于智能制造、智慧城市等领域的实时数据分析具有重要意义。随着openGauss生态的不断完善,其在各行业的应用深度和广度将持续扩展。华为云GaussDB已在超过2500家大客户中规模商用,遍布金融、政府、电信、能源、交通、物流、电商等诸多行业。这种广泛的应用实践为openGauss的持续优化和完善提供了丰富的场景反馈。
1. openGauss部署与sql演示
1. Docker 环境准备
首先,我们需要从 Docker Hub 拉取 openGauss 的官方镜像。
$ docker pull opengauss/opengauss:latest
拉取成功后,可以通过 docker images 命令查看本地镜像。
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
opengauss/opengauss latest a10ed4705e78 7 months ago 1.32GB
接下来,使用 docker run 命令启动 openGauss 容器。这里我们将容器命名为 opengauss,设置了超级用户密码,并将容器的 5432 端口映射到宿主机的 8888 端口。
$ docker run --name opengauss --privileged=true -d -e GS_PASSWORD="自己设置" -p 8888:5432 opengauss/opengauss:latest
2. 环境准备与连接
容器启动后,我们通过 docker ps 命令确认数据库容器正在运行。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c0d09137523 opengauss/opengauss:latest "entrypoint.sh gauss…" About an hour ago Up About an hour 0.0.0.0:8888->5432/tcp opengauss
从输出可以看到,名为 opengauss 的容器正在运行,并将容器的 5432 端口映射到了宿主机的 8888 端口。
接下来,我们使用 docker exec 命令进入容器,并切换到 openGauss 的默认管理用户 omm,然后使用 gsql 命令行工具连接到默认的 postgres 数据库。
# 登录数据库
$ docker exec opengauss su - omm -c "gsql -d postgres -p 5432"
gsql ((openGauss 3.1.0 build 02463264) compiled at 2022-05-31 19:39:25 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.openGauss=#
成功连接后,命令提示符变为 openGauss=#,表示我们已经进入了 gsql 的交互环境,可以开始执行 SQL 命令了。
3. 基本 SQL 操作 (CRUD)
为了测试数据库的基本功能,我们执行一套完整的增、删、改、查(CRUD)操作。
a. 创建表 (CREATE)
我们首先创建一个名为 test_review 的评测表,包含 ID、产品名称和评测内容三个字段。
openGauss=# CREATE TABLE public.test_review (
openGauss(# id INT PRIMARY KEY NOT NULL,
openGauss(# product_name VARCHAR(50),
openGauss(# review_text VARCHAR(200)
openGauss(# );
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "test_review_pkey" for table "test_review"
CREATE TABLE
b. 插入数据 (INSERT)
向表中插入一条关于 openGauss 的评测数据。
openGauss=# INSERT INTO public.test_review (id, product_name, review_text) VALUES (1, 'openGauss', 'This is a test review.');
INSERT 0 1
c. 查询数据 (SELECT)
查询表中的所有数据,验证插入是否成功。
openGauss=# SELECT * FROM public.test_review;id | product_name | review_text
----+--------------+------------------------1 | openGauss | This is a test review.
(1 row)
d. 更新数据 (UPDATE)
修改 ID 为 1 的记录的评测内容。
openGauss=# UPDATE public.test_review SET review_text = 'This is an updated review.' WHERE id = 1;
UPDATE 1
再次查询,确认数据已更新。
openGauss=# SELECT * FROM public.test_review;id | product_name | review_text
----+--------------+----------------------------1 | openGauss | This is an updated review.
(1 row)
e. 删除数据 (DELETE)
删除我们刚刚操作的数据。
openGauss=# DELETE FROM public.test_review WHERE id = 1;
DELETE 1
f. 删除表 (DROP)
最后,清理测试环境,删除创建的表。
openGauss=# DROP TABLE public.test_review;
DROP TABLE
操作如下图
使用docker命令操作

进入到docker登录操作


5. 未来展望:openGauss的发展方向与生态建设
5.1 云原生与容器化深度整合
随着云计算的普及,云原生架构已成为数据库发展的重要方向。openGauss正在积极拥抱云原生趋势,支持容器化部署和微服务架构。通过Docker等容器技术,openGauss可以实现快速部署和弹性伸缩,大幅提高资源利用率和运维效率。未来,openGauss将进一步加强与Kubernetes等容器编排平台的集成,实现自动化运维和智能调度。这将使openGauss能够更好地适应混合云和多云环境,满足企业对数据库灵活性和可移植性的需求。同时,serverless架构的探索将使openGauss能够实现更细粒度的资源分配和成本优化。
5.2 AI与数据库的深度融合
AI技术的快速发展为数据库带来了新的机遇。openGauss社区正在积极推动AI与数据库技术的深度融合,这主要体现在两个方向:AI4DB(利用AI技术优化数据库管理)和DB4AI(在数据库内原生支持AI计算)。在AI4DB方面,openGauss正在开发智能参数调优、索引推荐和故障预测等能力,有望大幅降低数据库管理难度。在DB4AI方面,openGauss计划支持向量引擎和机器学习算法,使开发者能够直接在数据库内运行AI模型,减少数据移动带来的开销和延迟。清华大学李琦副教授团队基于openGauss全密态数据处理框架研发的强安全可验证加密数据搜索算法,解决了数据在密文下的关键字检索等难题。这种创新使得开发者能够在保证数据安全的同时实现复杂的查询功能,代表了数据库发展的前沿方向。

5.3 生态体系的持续完善
一个成功的开源项目离不开健康的生态系统。openGauss社区正在积极构建完整的产业链生态,从芯片、操作系统、中间件到应用软件,形成协同发展的良好局面。在人才培养方面,openGauss与教育机构紧密合作,推动数据库人才培养。全国计算机等级考试(NCRE)已增设二级openGauss数据库程序设计科目,这标志着openGauss已进入国家级教育认证体系,将为企业输送大量专业人才。openGauss还联合全国高校推出“基础软件百校种子计划”,已与300多家高校联合开设openGauss课程,培养500多位优质师资,40000余位技术人才。这种大规模的人才培养计划为openGauss的长期发展奠定了坚实的人才基础。
5.4 安全机制的持续增强
数据安全是数字化转型的基石。随着隐私保护法规的日益严格,openGauss在安全方面的投入将持续加大。未来,openGauss将进一步增强全密态计算、防篡改和数据脱敏等安全特性,为企业数据安全提供更全面的保障。华为云GaussDB(for openGauss)在以最高分通过中国信通院“防篡改数据库基础能力”专项评测,充分验证了其在数据安全方面的卓越性能。未来,openGauss将继续引领数据库安全技术的发展,为关键行业提供可靠的数据保护方案。
5.5 全球化发展与开源协作
openGauss已开启全球化序幕,与全球计算联盟(GCC)建立战略合作。通过加强与国际企业的技术交流与项目合作,积极参与国际标准制定,openGauss有望从中国领先走向全球主流,为世界数字化转型贡献中国智慧与中国方案。开源协作是openGauss发展的核心动力。社区秉持“共建、共享、共治”原则,建立了完善的组织架构,包括技术委员会、社区理事会、用户委员会和品牌委员会等。这种开放的治理模式吸引了神舟通用、云和恩墨、海量数据等众多合作伙伴积极参与,基于openGauss推出各具特色的商业发行版,满足不同行业场景的需求。
6. 结语

通过本次从Docker安装到SQL实战的快速体验,我们可以深刻体会到openGauss作为一款企业级分布式数据库的成熟度和易用性。其良好的容器化支持、标准SQL兼容性和丰富的功能特性,使其能够满足大多数应用场景的需求。随着数字中国建设的深入推进,openGauss将继续汇聚数据库创新力量,打造千行万业数据基石。其开放的技术生态、持续的产品创新和丰富的应用实践,将为企业数字化转型提供坚实的数据基础设施保障。对于开发者而言,学习掌握openGauss这一新兴技术,不仅是紧跟技术发展趋势的需要,也是参与国家信息技术应用创新浪潮的机会。随着openGauss在各行业的广泛应用,掌握该技术的专业人才将具有广阔的就业前景和发展空间。我们相信,在产、学、研、用各界的共同努力下,openGauss将继续完善和发展,为中国乃至全球的数字经济建设贡献重要力量。数据库的openGauss时代,已经到来。
