# 海量数据库 Vastbase G100 完整官方知识全景指南

> **数据来源**：北京海量数据技术股份有限公司官方技术文档系统（[docs.vastdata.com.cn](https://docs.vastdata.com.cn/zh_CN)）  
> **文档版本覆盖**：Vastbase G100 V2.2 / V3.0（含 V3.0 Build 8 / Build 9 最新核心架构、企业级特性与生态组件）  
> **整理原则**：最大程度忠实保留官方文档的技术严谨度、核心概念、架构机制、技术指标上限、工具链体系与命令参数。

---

## 目录
- [一、产品定位与核心优势](#一产品定位与核心优势)
- [二、关键技术指标与系统规格限制](#二关键技术指标与系统规格限制)
- [三、系统架构与演进原理](#三系统架构与演进原理)
  - [3.1 集中式主备架构](#31-集中式主备架构)
  - [3.2 资源池化架构（Shared Storage）](#32-资源池化架构shared-storage)
  - [3.3 常用概念规范](#33-常用概念规范)
- [四、底层核心技术深度剖析](#四底层核心技术深度剖析)
  - [4.1 融合存储引擎（Astore 与 Ustore In-place Update）](#41-融合存储引擎astore-与-ustore-in-place-update)
  - [4.2 高并发机制与线程池架构](#42-高并发机制与线程池架构)
  - [4.3 鲲鹏与国产芯片 NUMA 架构深度优化](#43-鲲鹏与国产芯片-numa-架构深度优化)
  - [4.4 SQL By-Pass 极速执行通道](#44-sql-by-pass-极速执行通道)
  - [4.5 自适应压缩机制与算法映射](#45-自适应压缩机制与算法映射)
  - [4.6 向量化执行与行列混合存储](#46-向量化执行与行列混合存储)
- [五、数据库高可用（HAS & CM）架构体系](#五数据库高可用has--cm架构体系)
  - [5.1 HAS 演进历程与版本适配矩阵](#51-has-演进历程与版本适配矩阵)
  - [5.2 仲裁机制与 3CM+2DN 拓扑架构](#52-仲裁机制与-3cm2dn-拓扑架构)
  - [5.3 故障倒换与角色切换原理（Switchover vs Failover）](#53-故障倒换与角色切换原理switchover-vs-failover)
- [六、异构多源兼容性体系](#六异构多源兼容性体系)
  - [6.1 Oracle 深度兼容性](#61-oracle-深度兼容性)
  - [6.2 MySQL 模式兼容性](#62-mysql-模式兼容性)
  - [6.3 PostgreSQL 与 SQL Server 兼容性](#63-postgresql-与-sql-server-兼容性)
- [七、企业级安全管理体系（EAL4+ 与国密）](#七企业级安全管理体系eal4与国密)
  - [7.1 三权分立与访问控制](#71-三权分立与访问控制)
  - [7.2 全密态数据库与保序加密（OPE）](#72-全密态数据库与保序加密ope)
  - [7.3 账本数据库（防篡改）](#73-账本数据库防篡改)
  - [7.4 动态数据脱敏（DDM）](#74-动态数据脱敏ddm)
- [八、全套官方工具链速查与命令规范](#八全套官方工具链速查与命令规范)
  - [8.1 官方工具一览表（分类归纳）](#81-官方工具一览表分类归纳)
  - [8.2 数据库服务控制（`vb_ctl`）实战命令](#82-数据库服务控制vb_ctl实战命令)
  - [8.3 交互式终端客户端（`vsql`）元命令速查](#83-交互式终端客户端vsql元命令速查)
  - [8.4 集群管理与维护（`cm_ctl` / `has_ctl`）](#84-集群管理与维护cm_ctl--has_ctl)
- [九、备份恢复、容灾与闪回机制](#九备份恢复容灾与闪回机制)
  - [9.1 物理备份恢复（`vb_probackup`）](#91-物理备份恢复vb_probackup)
  - [9.2 逻辑备份与恢复（`vb_dump` / `vb_restore`）](#92-逻辑备份与恢复vb_dump--vb_restore)
  - [9.3 闪回技术（Flashback）](#93-闪回技术flashback)
  - [9.4 容灾工具（`gs_sdr` 与 `gs_ddr`）](#94-容灾工具gs_sdr-与-gs_ddr)
- [十、AI 与前沿扩展：向量检索（Vector Search）](#十ai-与前沿扩展向量检索vector-search)
- [十一、生态周边套件（GSDP, exBase, VEM）](#十一生态周边套件gsdp-exbase-vem)

---

## 一、产品定位与核心优势

**Vastbase G100** 是北京海量数据技术股份有限公司基于开源 **openGauss** 内核研发的企业级关系型数据库，专为高要求业务场景设计的高性能、高可靠、高安全的事务型（OLTP）集中式关系型数据库，具备以下核心定位：

1. **工业级性能与原生内核**：
   - 继承 openGauss 极致性能内核，融入 NUMA-Aware 优化、无锁日志刷新、并行日志回放、CSN 事务快照技术。
2. **卓越的多模异构数据库兼容能力**：
   - 遵循 SQL2003 标准语法。
   - 对 **Oracle、MySQL、DB2、PostgreSQL、SQL Server** 提供大范围兼容性支持。其中对 Oracle、MySQL、DB2 三种数据库的语法、数据类型、内置系统视图、系统函数兼容性均在 **90% 以上**。
3. **复合场景存储模式与 In-place Update**：
   - 支持 Append Update（Astore）与 In-place Update（Ustore，原地更新）融合存储架构，大幅提升高频写与多版本控制场景下的性能与存储效率。
4. **国家级最高安全合规**：
   - 遵循 **EAL4+** 标准进行全面安全架构设计；
   - 支持全密态计算、账本数据库（防篡改）、保序加密（OPE）、动态数据脱敏（DDM）、透明加密（TDE）与三权分立，提供从网络传输、内存运算到磁盘存储的全链路数据防护。
5. **AI 时代的非结构化数据处理（向量检索）**：
   - 原生支持向量数据存储与检索，支持将多模态数据（文本、图像、音频）向量化存储并在库内进行高维 KNN/ANN 相似度计算，无缝对接 RAG 大模型应用。

---

## 二、关键技术指标与系统规格限制

官方文档明确给出的系统规格物理限制与指标上限如下表所示：

| 规格/指标项 | 规格最大值 / 限制 | 补充说明 |
| :--- | :--- | :--- |
| **数据库整体容量** | 受限于宿主操作系统与物理存储硬件 | 无逻辑上限硬编码 |
| **单表最大容量** | **32 TB** | 针对普通表与单个分区 |
| **单行数据最大大小** | **1 GB** | 包括超长行 TOAST 存储 |
| **单个字段最大容量** | **1 GB** | 针对单个标量或文本字段 |
| **单表记录数最大值** | **$2^{48}$ 条** | 281 万亿条 |
| **单表列数** | **250 ~ 1600 列** | 根据字段数据类型占用大小动态浮动 |
| **单表索引个数** | **无限制** | 取决于物理存储空间与性能考量 |
| **复合索引包含列数** | **31 列** | 最多包含 31 个列 |
| **向量字段最大维度** | **16,000 维** | 满足主流大模型的高维向量表征需求 |
| **数据库名最大长度** | **64 字节** | 字符标识符限制 |
| **对象名最大长度** | **127 字节** | 表名、视图名、列名、索引名等 |
| **单表约束个数** | **无限制** | 主键、外键、Check 约束等 |
| **最大并发连接数** | **10,000 连接** | 在线程池（Thread Pool）支撑下高并发稳定运行 |
| **分区表的分区总数** | **1,048,575 个** | 超过百万级物理子分区 |
| **单分区最大记录数** | **$2^{55}$ 条** | 极大提升大规模历史数据分段存储上限 |
| **LOB 对象最大容量** | **1 GB - 8203 字节** | 大对象二进制限制 |
| **SQL 文本最大长度** | **1,048,576 字节（1 MB）** | 单条 SQL 语句字符串文本限制 |

---

## 三、系统架构与演进原理

### 3.1 集中式主备架构
在 Vastbase G100 集中式架构中：
- **Master（主节点）**：接收前端业务驱动（DRV）和客户端（APP）的并发访问任务，负责事务的读写执行并生成预写日志（WAL/XLOG）。
- **Slave（备机）**：通过 Paxos 一致性日志复制协议或流复制协议与主机保持数据同步。备机通过回放日志保证数据实时性，提供读扩展与高可用容灾能力。
- **级联备机（Cascading Standby）**：允许从特定备库下游拉取日志同步，构建多级备库拓扑，避免过多的备机直连主库打爆主机网络带宽与 CPU。

### 3.2 资源池化架构（Shared Storage）
针对传统一主多备部署存储容量翻倍以及主备复制时延的问题，Vastbase 3.0+ 引入了**资源池化架构**：
1. **分布式存储服务 DSS（Distributed Storage Service）**：
   - 主机与备机物理共享同一份底层共享存储（如 SAN 磁阵或分布式块存储）。
   - 磁盘目录根据访问性质拆分：
     - *每个实例独占且不共享*：各实例本地临时配置与状态。
     - *每个实例独占且共享*：放在共享盘上的独占控制信息。
     - *所有实例共享*：核心业务数据文件。系统表存储方式从传统页式自动切换为段页式。
2. **分布式内存服务 DMS（Distributed Memory Service）**：
   - 负责主备节点之间的内存数据页实时交换，保证备节点支持**实时强一致性读（Read-Committed）**，主机事务刚提交即可在备机立刻读到最新快照。
   - **支持 OCK RDMA 加速**：结合高速 RDMA 网络绕过内核协议栈，相比传统 TCP 网络，可将备机一致性读时延降低 20% 以上。

### 3.3 常用概念规范
- **单机 / 双机 / 一主多备**：单实例运行 vs 主备 2 节点 vs 1 主最多 8 备节点。
- **数据库与表空间**：表空间物理上是文件系统目录（`PG_DEFAULT` 为默认空间），数据库逻辑隔离数据对象，一个库可跨多个表空间。
- **模式（Schema）与用户**：弱绑定关系。创建用户默认创建同名 Schema，但支持跨模式解耦授权。
- **角色与用户**：角色与用户底层统一，唯一区别在于角色默认不具备 `LOGIN` 登录权限。
- **事务管理**：基于 MVCC + 2PL（两阶段锁），读写互不阻塞，支持 CSN（Commit Sequence Number）快速可见性快照判定。

---

## 四、底层核心技术深度剖析

### 4.1 融合存储引擎（Astore 与 Ustore In-place Update）
Vastbase G100 创新地采用了 Astore 与 Ustore 并存的可插拔融合存储架构：

```
                    ┌───────────────────────────────┐
                    │     SQL 解析与优化执行器       │
                    └───────┬───────────────┬───────┘
                            │               │
             ┌──────────────┴──────┐ ┌──────┴──────────────┐
             │    Astore 引擎      │ │     Ustore 引擎     │
             │   (追加更新模式)    │ │    (原地更新模式)   │
             ├─────────────────────┤ ├─────────────────────┤
             │ • Append Update     │ │ • In-place Update   │
             │ • Heap-Only Tuple   │ │ • 回滚段(Undo)与数据│
             │ • 依赖 AutoVacuum   │ │   页面分离存储      │
             │ • 适合低频写与分析  │ │ • UBtree 索引多版本 │
             │                     │ │ • 独立页级空间回收  │
             └─────────────────────┘ └─────────────────────┘
```

- **Astore（Append-Update 引擎）**：
  - 传统追加写入模式，记录修改后写入新版本元组，旧版本打标记。
  - 针对增、删及同一页面内的 HOT（HeapOnly Tuple）Update 极具优势；但对于大量跨页更新，表空间容易膨胀，需要依赖 AutoVacuum 定期回收。
- **Ustore（In-place Update 引擎）**：
  - **原地更新**：更新时直接修改原数据页中的元组，历史版本写入独立的回滚段（Undo Log）。
  - **UBtree 索引多版本**：在索引元组维护事务提交版本号，能在索引层独立完成 MVCC 可见性过滤和 Dead 元组标记，不依赖 AutoVacuum 即可实现页级空间即时复用。
  - **Xlog 无锁刷新**：取消传统 `WalInsertLock` 全局排他锁，利用 LSN 与 LRC（Log Record Count）独立跟踪各 Backend 的拷贝进度，写入 WalBuffer 零锁竞争。

### 4.2 高并发机制与线程池架构
传统数据库采用每个客户端分配独立进程或线程的模式（`per-thread-per-connection`），连接数达几千时线程上下文频繁切换、轻量锁竞争剧烈。
- **线程池（Thread Pool）设计**：将 Session（会话连接）与 Thread（工作线程）彻底解耦。
- 根据 CPU 物理核数初始化固定数量的工作线程池，一个工作线程轮询服务多个长连接 Session，消除系统抖动，确保超 10,000 高并发下吞吐量平稳。

### 4.3 鲲鹏与国产芯片 NUMA 架构深度优化
针对鲲鹏 ARMv8 等多核 NUMA 硬件体系：
- **NUMA-Aware 内存分布**：根据线程所在的 CPU Node 本地分配数据内存与连接缓冲区，规避跨 Socket 访存的高总线时延。
- **CLog 分区与重做日志批插**：将事务提交状态日志（CLog）及重做日志按 NUMA 节点拆分并发写入。
- **ARMv8.1 LSE 原子指令扩展**：利用原子指令优化轻量锁与多线程同步，提升 XLog 落盘效率。
- **宽 Cacheline 缓存对齐**：针对鲲鹏更宽的 L3 Cacheline 对齐热点元组与锁结构，降低 CPU 多级缓存一致性广播开销。

### 4.4 SQL By-Pass 极速执行通道
在 OLTP 业务中，绝大多数查询为简单的点查或单表单行读写。
- **SQL By-Pass 机制**：在 SQL 解析阶段识别模式，跳过传统优化器构造计划树、算子初始化、投影等厚重流程，直接调用底层存储引擎读写接口完成数据返回，极大降低单次点查 CPU 消耗。

### 4.5 自适应压缩机制与算法映射
根据不同字段的数据类型与数据分布特征自动套用最优压缩算法：

| 适用数据类型 | RLE (游程编码) | DELTA (增量) | BITPACK / BYTEPACK | LZ4 | ZLIB | LOCAL DICTIONARY (字典) |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| **Smallint / Int / Bigint / Oid / Decimal / Double / Date / Time** | **√** | **√** | **√** | **√** | **√** | - |
| **Interval / Time with timezone** | - | - | - | - | **√** | - |
| **Numeric / Char / Varchar / Text / NVARCHAR2** | **√** | **√** | **√** | **√** | **√** | **√** |

- 支持识别手机号字符串等伪数值结构并自动转化为高效整数存储压缩，成倍减少存储消耗并大幅提升 IOPS 效率。

### 4.6 向量化执行与行列混合存储
- **向量化执行引擎**：摒弃传统 Volcano 模型（一次仅调用一条元组向上层吐数据），改为**一次处理一批元组（Batch Mode）**，完美利用现代 CPU 的 SIMD 矢量计算指令集。
- **行列混合存储**：宽表（200~800 列）仅查询少量列时自动推荐列存（Cstore）；常规事务查询采用行存。两者可在同一库中混合建表与联合查询。

---

## 五、数据库高可用（HAS & CM）架构体系

### 5.1 HAS 演进历程与版本适配矩阵
**HAS（High Availability Service）** 是管理、监控与维护 Vastbase 集群的核心套件：

| HAS 版本 | 核心架构特征 | 适配数据库版本 |
| :--- | :--- | :--- |
| **HAS V1.2** | 传统 WAL 日志流复制主备集群，支持 VIP 漂移。 | Vastbase G100 V2.2 (Build 5 ~ 15), V3.0 |
| **HAS V1.4** | **共享存储主备单活方案**：两节点切换使用同一底层存储卷，备机故障接管。 | Vastbase G100 V2.2 全系列, V3.0 |
| **HAS V1.5** | 增加基于 DCS 键值服务的故障安全仲裁与全局动态配置。 | Vastbase G100 V2.2 (Build 10+), V3.0 |
| **HAS V2.0 / V3.2** | 引入 CM（Cluster Manager）架构，支持多节点自动化集群监控。 | Vastbase G100 V2.2 Build 10 / Build 15 |
| **HAS V3.5 / V3.6** | **3CM + 2DN 专业仲裁架构**，原生结合资源池化与共享存储。 | Vastbase G100 V3.0 Build 8 / Build 9 |

### 5.2 仲裁机制与 3CM+2DN 拓扑架构
- 在生产级高可用环境中，推荐部署 **3 个 CM 节点 + 2 个 DN（数据节点）**。
- 引入第 3 个纯仲裁节点，任何网络分区发生时必须获得超半数（Quorum）仲裁投票，从根本上解决网络脑裂（Split-Brain）与双主风险。

### 5.3 故障倒换与角色切换原理（Switchover vs Failover）
1. **Switchover（计划内平滑倒换）**：
   - 用于主机硬件检修或版本维护。
   - 主机完成未落盘事务并暂停接收写入，与指定备机对齐 LSN 后安全降级为备机；备机接收全部日志后升为主机，VIP 漂移，零数据丢失。
2. **Failover（计划外故障转移）**：
   - 主机断电或宿主机宕机，CM/HAS 心跳判定超时后，备机独立完成本地日志回放并强制升主接管业务，RTO 降低至秒级。
3. **节点数据拉齐（Build 机制）**：
   - **增量 Build**：节点恢复后，比对本地与主节点 LSN 差异，仅拉取增量 WAL 重做，几秒内快速归队。
   - **全量 Build**：差异过大或断裂时，从主库克隆基准全量镜像重建备库。

---

## 六、异构多源兼容性体系

在 Vastbase 中，通过 `DBCOMPATIBILITY` 参数控制库级语法兼容模式：
- `'A'`：兼容 **Oracle**
- `'B'`：兼容 **MySQL**
- `'C'`：兼容 **PostgreSQL**
- `'PG'`：默认 PostgreSQL 语义

### 6.1 Oracle 深度兼容性

#### 1. 常用内置系统包（Built-in Packages）完全支持
官方完整内置支持包括：
- `DBMS_ALERT`、`DBMS_APPLICATION_INFO`、`DBMS_AQ`、`DBMS_AQADM`、`DBMS_ASSERT`
- `DBMS_CRYPTO`、`DBMS_DDL`、`DBMS_JOB`、`DBMS_LOB`、`DBMS_LOCK`、`DBMS_METADATA`
- `DBMS_OBFUSCATION_TOOLKIT`、`DBMS_OUTPUT`、`DBMS_PIPE`、`DBMS_PROFILER`、`DBMS_RANDOM`
- `DBMS_RLS`（行级安全）、`DBMS_ROWID`、`DBMS_SCHEDULER`、`DBMS_SESSION`、`DBMS_SQL`
- `DBMS_STATS`、`DBMS_UTILITY`、`DBMS_XMLDOM`、`DBMS_XMLGEN`、`DBMS_XMLPARSER`、`DBMS_XSLPROCESSOR`
- `OWA_UTIL`、`UTL_ENCODE`、`UTL_I18N`、`UTL_TCP`、`UTL_FILE`、`UTL_HTTP`、`UTL_RAW`、`UTL_SMTP`、`UTL_URL`

#### 2. PL/SQL 与语法特有特性
- **PL/SQL 对象**：完全支持 `PACKAGE` / `PACKAGE BODY`、自治事务（`PRAGMA AUTONOMOUS_TRANSACTION`）、自定义异常（`EXCEPTION_INIT`）。
- **重载参数支持**：通过参数 `behavior_compat_options = 'proc_outparam_override'` 允许入参一致、出参（OUT/IN OUT）不同的存储过程重载。
- **层次化查询**：`START WITH ... CONNECT BY PRIOR ... [NOCYCLE]` 以及伪列 `LEVEL`、`CONNECT_BY_ISLEAF`。
- **伪列与操作符**：`ROWNUM`、`SYSDATE`、`(+)` 外连接语法。
- **空值处理**：兼容 Oracle 规范下空字符串 `''` 视同 `NULL` 的语义。

#### 3. 关键 Oracle 兼容性参数
- `vb_behavior_a_compat_options`（或 `a_format_behavior_compat_options`）：
  - `update_subselect_check_unique`：控制 UPDATE 子查询是否校验非目标表唯一索引；
  - `isjson_default_lax`：IS JSON 默认选用宽松模式（LAX）；
  - `count_return_numeric`：控制 `COUNT()` 返回数值类型。

### 6.2 MySQL 模式兼容性
- 语法兼容：支持使用反引号（\`）包裹标识符、`LIMIT offset, count`、`ON DUPLICATE KEY UPDATE`。
- 字段兼容：支持 `AUTO_INCREMENT` 自增属性、`TINYINT`、`DATETIME`、`LONGTEXT` 等类型。
- 函数扩展：内置 `IFNULL()`、`NOW()`、`STR_TO_DATE()`、`GROUP_CONCAT()` 等常用函数。

### 6.3 PostgreSQL 与 SQL Server 兼容性
- **PostgreSQL**：完全兼容 PG 标准扩展插件（如 PostGIS）、声明式分区表（Declarative Partitioning）、`Information Schema`。
- **SQL Server**：支持特定 T-SQL 函数、`SQL Server DBlink` 跨源访问及 SQLServer 异常处理机制。

---

## 七、企业级安全管理体系（EAL4+ 与国密）

### 7.1 三权分立与访问控制
为了防止传统超级用户（DBA/Root）权力过度集中引发的单点泄密风险，Vastbase 强制实行**三权分立管理模型**：
1. **系统管理员（Sysadmin）**：负责数据库系统的例行运行维护、资源调优与结构配置，但无法读取用户敏感数据或篡改安全审计日志。
2. **安全管理员（Security Admin, SECADMIN）**：专职负责用户账户创建、密码策略、认证管理与访问授权。
3. **审计管理员（Audit Admin, AUDITADMIN）**：专职负责审计策略的配置以及审计日志的追踪核查，任何管理员的操作均在审计监控范围内。

### 7.2 全密态数据库与保序加密（OPE）
- **客户端主密钥（CMK）与列加密密钥（CEK）**：密钥仅保存在客户端或企业级 KMS 中，数据库服务端只能接触密文。
- **保序加密（OPE, Order-Preserving Encryption）**：
  - 针对整型数据列提供保序加密，服务器在**完全不解密**的情况下，直接在密文列上进行 `<`、`>`、`BETWEEN` 以及 `ORDER BY` 排序运算，结果与明文排序完全一致。

### 7.3 账本数据库（防篡改）
- 引入密码学哈希链与防篡改账本机制（Ledger Database）。
- 每次 INSERT/UPDATE/DELETE 会记录全局防篡改校验和（Digest）。当内部数据文件遭受非法底层篡改（如绕过数据库直接修改物理磁盘块）时，运行账本一致性校验命令会立刻告警并支持历史追溯定位。

### 7.4 动态数据脱敏（DDM）
基于**资源标签（Resource Label）**对敏感列进行标记并自动脱敏：
```sql
-- 1. 创建敏感列标签
CREATE RESOURCE LABEL label_for_card ADD COLUMN(customer.user_info.id_card);

-- 2. 创建动态脱敏策略（非特权用户查看时身份证自动打掩码）
CREATE MASKING POLICY mask_card_policy
MASKALL ON LABEL(label_for_card) FILTER ON ROLES(normal_user);
```

---

## 八、全套官方工具链速查与命令规范

工具默认存放在数据库安装路径 `$GAUSSHOME/bin` 下。

### 8.1 官方工具一览表（分类归纳）

| 分类 | 工具名称 | 官方定位与功能描述 |
| :--- | :--- | :--- |
| **数据库核心控制** | `vb_ctl` | 数据库服务控制工具（启停、重启、重载、主备切换、状态查询） |
| | `vsql` | 交互式命令行客户端工具（支持高级扩展元命令、密态连接 `-C`） |
| | `vb_guc` | 在线/离线批量设置与检查数据库 GUC 运行参数 |
| | `vb_initdb` | 实例初始化创建工具 |
| | `vb_controldata` | 检查并打印数据库目录控制文件（`global/pg_control`）元数据 |
| | `vb_audit` | 数据库安全审计日志解析与导出工具 |
| | `vb_isready` | 快速检测服务器端口与连接可用性状态 |
| | `vb_licensetool` | 查看与更新海量数据库商业 License 授权状态 |
| **高可用与集群** | `has_ctl` | 高可用场景下控制数据库集群实例、VIP 及资源拓扑的工具 |
| | `cm_ctl` | 集群管理器（Cluster Manager）控制端（3.x 核心命令） |
| | `cm_persist` | 资源池化设备上用于抢占共享磁盘锁的专用工具 |
| **备份恢复套件** | `vb_probackup` | **推荐**：多流并发物理全量/增量/归档备份与基于时间点恢复（PITR）工具 |
| | `vb_basebackup` | 基础物理备份工具（整库物理镜像克隆） |
| | `vb_dump` / `vb_dumpall` | 数据库对象与全局元数据的逻辑转储工具 |
| | `vb_restore` | 导入并还原 `vb_dump` 生成的逻辑备份归档文件 |
| **运维监控与巡检 (OM)** | `gs_om` | Vastbase 集群全生命周期维护（启停、查询、证书轮换、状态报告） |
| | `gs_check` / `gs_checkos` | 全面体检 OS 环境、内核参数、磁盘 IO 与数据库运行环境 |
| | `gs_checkperf` | 检查 CPU、内存、IO 吞吐、会话级负载与 SSD 性能瓶颈 |
| | `gs_collector` | 发生故障时一键式收集 OS 指标、系统日志及配置文件生成排障包 |
| | `gs_sdr` / `gs_ddr` | 自动化搭建跨 Region 流式容灾与资源池化容灾管理工具 |
| | `gs_expansion` / `gs_dropnode` | 集群备机扩容与缩容节点下线工具 |
| **高级底层工具** | `pg_xlogdump` | 解析与查看 WAL/XLOG 二进制预写日志详情 |
| | `vb_bulkload` | 超高速批量数据加载工具 |
| | `vbtrace` | 内核级代码执行路径与数据结构跟踪分析性能工具 |

### 8.2 数据库服务控制（`vb_ctl`）实战命令
必须在实例管理操作系统用户（默认为 `vastbase`）下执行：

```bash
# 1. 启动数据库实例（指定数据目录）
vb_ctl start -D /data/vastbase/data

# 2. 停止数据库（-m fast 强制中断活跃会话并安全刷盘）
vb_ctl stop -D /data/vastbase/data -m fast

# 3. 在线重载参数（修改 postgresql.conf 后免重启生效）
vb_ctl reload -D /data/vastbase/data

# 4. 查看当前节点运行状态与主备拓扑关系
vb_ctl query -D /data/vastbase/data

# 5. 备库执行计划内切换升主（Switchover）
vb_ctl switchover -D /data/vastbase/data -m fast

# 6. 主机宕机时在备库强制接管（Failover）
vb_ctl failover -D /data/vastbase/data
```

### 8.3 交互式终端客户端（`vsql`）元命令速查
```bash
# 登录数据库实例（-r 开启行编辑与历史记录翻查）
vsql -d vastbase -U vastbase -p 5432 -r

# 常用元命令汇总：
\l              # 列出实例内所有数据库
\c <dbname>     # 切换当前连接到目标数据库
\dn             # 列出当前库下的所有 Schema
\dt+            # 查看所有物理数据表的详细信息（含占用大小）
\d <table_name> # 查看指定表的列定义、主外键及索引明细
\di+            # 查看所有索引信息
\df+            # 查看函数与存储过程定义
\x [on|off]     # 开启/关闭行列倒置输出（便于查看单行超多列数据）
\timing         # 开启 SQL 执行耗时毫秒级测速
\q              # 退出客户端
```

### 8.4 集群管理与维护（`cm_ctl` / `has_ctl`）
```bash
# 查看 3CM+2DN 集群整体拓扑与主备健康状态
cm_ctl query -Cv

# 集群级安全平滑主备倒换
cm_ctl switchover -n <node_id> -D <data_dir>

# 优雅关闭/拉起整个高可用集群服务
cm_ctl stop
cm_ctl start
```

---

## 九、备份恢复、容灾与闪回机制

### 9.1 物理备份恢复（`vb_probackup`）
支持 4 种物理增量模式，是官方首选的生产备份方案：
- `FULL`：基准全量备份；
- `PAGE`：基于页块变化的增量备份；
- `DELTA`：根据 LSN 变更扫描修改块的增量备份；
- `PTRACK`：通过内核物理位图（Page Tracking）即时记录脏页，备份速度极快。

```bash
# 1. 初始化备份目录
vb_probackup init -B /backup/vastbase

# 2. 添加待保护的实例
vb_probackup add-instance -B /backup/vastbase -D /data/vastbase/data --instance inst_01

# 3. 发起 PTRACK 模式快速增量备份（附带流式 WAL）
vb_probackup backup -B /backup/vastbase --instance inst_01 -b PTRACK --stream

# 4. 执行时间点恢复（PITR）到指定秒级历史时间
vb_probackup restore -B /backup/vastbase --instance inst_01 -D /data/vastbase/restore_data \
  --recovery-target-time="2026-09-20 10:00:00"
```

### 9.2 逻辑备份与恢复（`vb_dump` / `vb_restore`）
```bash
# 导出单个数据库全部对象与数据（采用自定义压缩格式 -F c）
vb_dump -d vastbase -p 5432 -F c -f /backup/vastbase_dump.dmp

# 仅导出特定 Schema 或特定大表结构
vb_dump -d vastbase -n sales_schema -t orders -s -f /backup/orders_schema.sql

# 使用 vb_restore 并发 4 线程极速还原
vb_restore -d vastbase -p 5432 -j 4 /backup/vastbase_dump.dmp
```

### 9.3 闪回技术（Flashback）
1. **回收站机制（Recycle Bin）**：
   - 启用回收站后，执行 `DROP TABLE my_table;` 不会立即物理擦除数据文件，而是重命名转移至回收站模式。
   - 恢复表：`FLASHBACK TABLE my_table TO BEFORE DROP [RENAME TO new_table];`
2. **闪回查询（Flashback Query）**：
   - 基于 MVCC 机制，查询特定时间戳或 SCN（系统变更号）的记录快照：
   ```sql
   SELECT * FROM account_balance AS OF TIMESTAMP (SYSDATE - INTERVAL '15' MINUTE);
   ```

### 9.4 容灾工具（`gs_sdr` 与 `gs_ddr`）
- `gs_sdr`（Streaming Disaster Recovery）：跨机房、跨 Region 搭建长距离异步流复制灾备中心。
- `gs_ddr`：专为资源池化存储集群量身定制的自动化容灾搭建与一键倒换工具。

---

## 十、AI 与前沿扩展：向量检索（Vector Search）

Vastbase G100 深度拥抱 AI 大模型应用架构，在核心关系型引擎内集成了原生的**向量数据库引擎**：

1. **基本概念**：
   - **向量嵌入（Vector Embeddings）**：将多模态非结构化数据（文章、图片、人脸、音视频）转化为固定长度的数字浮点数组。
   - **相似性搜索**：不同于关系型标量数据的精确匹配，通过度量空间几何距离（如欧氏距离 L2、内积 IP、余弦相似度 Cosine）查找最近似匹配。
2. **高阶算法与规格**：
   - 支持 **KNN（K 最近邻）** 保证高精确度，以及 **ANN（近似最近邻）** 保证百万级海量数据下的毫秒级检索响应。
   - 向量字段维度最高支持高达 **16,000 维**。
3. **结合 RAG（检索增强生成）应用**：
   - 可直接在同一实例内将业务关系表与向量表联合关联，为企业专属知识库问答、语义检索、推荐系统提供库内一站式闭环支持。

---

## 十一、生态周边套件（GSDP, exBase, VEM）

海量数据围绕 Vastbase G100 打造了覆盖全生命周期的商业配套生态工具：

1. **exBase 异构迁移系统**：
   - 一站式异构数据库（Oracle / MySQL / DB2）替换全流程套件：
     - **迁移前智能评估**：自动扫描源端对象，出具语法兼容性评分与改造建议。
     - **对象与结构迁移**：自动将表结构、序列、视图、存储过程进行语法转换与建表。
     - **全量快照迁移 + 增量实时追赶**：保证在割接窗口期业务影响最小化。
     - **数据一致性双向校验**：表行数与全量字段哈希对比，确保零数据丢失与零差异。
2. **GSDP（通用软件部署平台）**：
   - 支持标准静默自动化脚本或 B/S 图形化向导部署，统一管理 OS 预检配置、单机/集群初始化、高可用组件编排与版本热补丁升级。
3. **VEM（Vastdata Enterprise Manager，海量企业管理器）**：
   - 集中式图形化智能运维监控平台。
   - 包含集群拓扑动态大屏、告警阈值预警、慢 SQL 性能分析、WDR 性能诊断报告生成、备份作业编排及参数调优顾问。
