夜雨聆风学习资料网

ARTICLE · 1319605

Vastbase G100 源码解读(一):快速入门——先把数据库跑起来,再看它到底是什么

Vastbase G100 源码解读(一):快速入门——先把数据库跑起来,再看它到底是什么
本文是「Vastbase G100 源码解读系列」第 1 篇,对应官方文档左侧导航的

快速入门章节。


建了个数据库技术交流群,如果你在 Oracle、MySQL、PostgreSQL、Vastbase、OceanBase、GaussDB 等数据库上遇到问题、有选型或运维需求,欢迎进来聊聊。群里蹲着多位数据库行业大咖,踩过的坑、调过的参数、背过的锅,都能给你搭把手。

👉 加群请联系:531968912(备注「数据库」,秒过)


一、先说清楚:G100 到底是什么

官方文档的定义很直接:Vastbase G100 是海量数据基于 openGauss 内核开发的企业级关系型数据库,定位事务型、集中式高可用,支持 SQL2003 标准,对 Oracle、MySQL、PostgreSQL、SQL Server 都做了大量兼容,并对 Oracle/MySQL/DB2 的语法、数据类型、内部视图、系统函数的兼容性做到 90% 以上,配套异构迁移工具 exBase[citation:5]。

这句话里有两个关键词:

  1. 基于 openGauss——意味着它的 SQL 引擎、执行器、存储引擎、WAL 机制、线程池、 NUMA 感知这些底座,与 openGauss 同源,社区源码可读;

  2. 大量兼容层——意味着它在内核里塞进了 openGauss 上游没有的东西:Oracle 的 DBLINK、UNISTR、MERGE 语义,MySQL 的 DECLARE HANDLER、协议端口,SQL Server 的排序规则与 DBLink 语法[citation:4],这些是"发行版增值"部分,社区仓库里看不到。

所以读 G100 的正确姿势是:底座看 openGauss 源码,差异看兼容层文档和用户可见行为反推。

二、十分钟跑通

单机最简路径(详见本系列第 2 篇):

# 1. 预检查 + 静默安装gs_checkos -i A -h$(hostname)gs_install -X /opt/software/cluster_config.xml# 2. 加载环境变量source ~/.bashrc# 3. 起库vb_ctl start# 4. 连库vsql -d postgres -p5432-r

进到 vsql 之后,第一件事不是建表,而是确认"我在哪个兼容模式里":

SELECT name, setting FROM pg_settings WHERE name ='dbcompatibility';SELECT version();

这一步决定了你后面写的 SQL 是 Oracle 味、MySQL 味还是 PG 味——因为 G100 的兼容模式是实例级、初始化时定死、之后不可修改的(本系列第 9 篇详述)。

三、从源码视角看启动链路

vb_ctl start 本质是 openGauss gs_ctl 的换皮,链路是:

vb_ctl (Python/OM 脚本)  └─> gs_ctl start        └─> pg_ctl 语义:fork postmaster              ├─> 读 postgresql.conf(GUC 初始化)              ├─> 加 shared memory / 线程池 / 内存上下文              ├─> Startup 进程回放 WAL(崩溃恢复)              ├─> Checkpointer / BackgroundWriter / WalWriter              └─> 监听端口,进入 PM_RUN 状态

集群模式下 vb_ctl 之上还有一层 HAS(本系列第 6 篇),由 has_server/has_agent/has_ctl 负责探测与切换,OM 负责分发和生命周期。

四、新手最容易踩的三个点

坑现象原因
兼容模式选错Oracle 的 NUMBER、SYSDATE 报错实例默认 A(Oracle)模式,但建库时若指定 dbcompatibility='PG' 则行为全变[citation:23]
swap 没关高峰抖动、慢 SQL 无规律数据库与 OS 抢页,国产平台尤其明显[citation:17]
直接图形化安装上生产各节点配置漂移生产应静默安装 + XML,保证节点间配置像素级一致[citation:9]

五、这一篇你该带走的

G100 = openGauss 底座 + 四兼容模式 + HAS 高可用 + 迁移工具链。快速入门阶段唯一需要"想清楚再做"的决策是兼容模式,因为它不可回头。

下一篇进入安装指南,把 gs_install 的 XML、预检查、集群初始化逐段拆开。


建了个数据库技术交流群,如果你在 Oracle、MySQL、PostgreSQL、Vastbase、OceanBase、GaussDB 等数据库上遇到问题、有选型或运维需求,欢迎进来聊聊。群里蹲着多位数据库行业大咖,踩过的坑、调过的参数、背过的锅,都能给你搭把手。

👉 加群请联系:531968912(备注「数据库」,秒过)

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料