CONTENTS

目录


第1章openGauss简介00

1.1openGauss概述00

1.2应用场景00

1.3系统架构00

1.4代码结构00

1.4.1通信管理00

1.4.2SQL引擎00

1.4.3存储引擎0

1.5价值特性0

1.5.1高性能0

1.5.2高扩展0

1.5.3高可用0

1.5.4可维护性0

1.5.5数据库安全0

1.5.6AI能力0

1.6本章小结0

第2章openGauss开发快速入门0

2.1安装部署0

2.1.1了解安装流程0

2.1.2准备软硬件安装环境0

2.1.3修改操作系统配置0

2.1.4设置root用户远程登录0

2.1.5获取安装包0

2.1.6创建XML配置文件0

2.1.7初始化安装环境0

2.1.8执行安装0

2.1.9安装验证0

2.2基本使用0

2.2.1连接数据库0

2.2.2使用数据库0

2.3开发和编译0

2.3.1搭建开发环境0

2.3.2搭建编译环境0

2.3.3版本编译0

2.4参与openGauss社区开源项目0

2.4.1开源社区概述0

2.4.2社区环境准备0

2.4.3提交Issue0

2.4.4贡献代码和文档0

2.4.5Git使用0

2.5本章小结

openGauss数据库源码解析

目录

第3章公共组件源码解析

3.1系统表

3.1.1系统表的定义

3.1.2系统表的访问

3.2数据库初始化

3.3多线程架构

3.3.1openGauss主要线程

3.3.2线程间通信

3.3.3线程初始化流程

3.4线程池技术

3.4.1线程池原理

3.4.2线程池实现

3.5内存管理

3.6多维监控

3.7模拟信号机制

3.8本章小结

第4章存储引擎源码解析

4.1存储引擎整体架构与代码

4.2磁盘引擎

4.2.1磁盘引擎整体框架与代码

4.2.2行存储统一访存接口

4.2.3astore

4.2.4ustore

4.2.5行存储索引机制

4.2.6行存储缓存机制

4.2.7cstore

4.2.8日志系统

4.2.9持久化及故障恢复机制

4.2.10主备机制

4.3内存表

4.3.1总体架构与代码

4.3.2FDW

4.3.3内存表的存储

4.3.4索引

4.3.5事务

4.3.6并发控制

4.3.7重做日志

4.3.8检查点

4.3.9恢复

4.4本章小结

第5章事务机制源码解析

5.1事务整体架构与代码

5.2事务并发控制

5.2.1事务状态机

5.2.2事务ID分配及CLOG/CSNLOG

5.2.3MVCC可见性判断机制

5.2.4进程内多线程管理机制

5.3锁机制

5.3.1自旋锁

5.3.2轻量级锁

5.3.3常规锁

5.3.4死锁检测机制

5.3.5无锁原子操作

5.3.6基于鲲鹏服务器的性能优化

5.4本章小结

第6章SQL引擎源码解析

6.1概述

6.2SQL解析

6.2.1词法分析

6.2.2语法分析

6.2.3语义分析

6.2.4解析流程分析

6.3查询优化

6.3.1查询重写

6.3.2统计信息与代价估算

6.3.3物理路径

6.3.4动态规划

6.3.5遗传算法

6.4本章小结

第7章执行器解析

7.1执行器整体架构与代码

7.1.1执行器整体架构

7.1.2火山模型

7.1.3代码

7.2执行流程

7.2.1Portal策略选择模块

7.2.2ProcessUtility模块

7.2.3executor模块

7.3执行算子

7.3.1控制算子

7.3.2扫描算子

7.3.3物化算子

7.3.4连接算子

7.4表达式计算

7.4.1初始化阶段

7.4.2执行阶段

7.5编译执行

7.5.1VecExprCode类

7.5.2VecHashAggCodeGen类

7.5.3VecHashJoinCodeGen类

7.5.4VecSortCodeGen类

7.6向量化引擎

7.6.1控制算子

7.6.2扫描算子

7.6.3物化算子

7.6.4连接算子

7.7本章小结

第8章 AI技术

8.1概述

8.2自调优

8.2.1参数自调优的使用场景

8.2.2现有的参数调优技术

8.2.3XTuner的调优策略

8.2.4openGauss关键源码解析

8.2.5使用示例

8.2.6对XTuner的二次开发

8.2.7XTuner的演进路线

8.3慢SQL发现

8.3.1慢SQL发现的功能

8.3.2现有技术

8.3.3慢SQL发现采取的策略

8.3.4关键源码解析

8.3.5使用示例

8.4智能索引推荐

8.4.1使用场景

8.4.2现有技术

8.4.3实现原理

8.4.4关键源码解析

8.4.5使用示例

8.5指标采集、预测与异常检测

8.5.1使用场景

8.5.2实现原理

8.5.3关键源码解析

8.5.4使用示例

8.5.5演进路线

8.6AI查询时间预测

8.6.1使用场景

8.6.2现有技术

8.6.3实现原理

8.6.4关键源码解析

8.6.5使用示例

8.6.6演进路线

8.7DeepSQL

8.7.1使用场景

8.7.2现有技术

8.7.3关键源码解析

8.7.4基于MADlib框架的扩展

8.7.5MADlib在openGauss上的使用示例

8.7.6演进路线

8.8本章小结

第9章安全管理源码解析

9.1安全管理整体架构与代码

9.2安全认证

9.2.1身份认证

9.2.2口令存储

9.2.3认证机制

9.2.4Kerberos安全认证

9.3角色创建与角色管理

9.3.1角色创建

9.3.2角色管理

9.4权限管理与权限检查

9.4.1权限管理

9.4.2权限检查

9.5审计与追踪

9.5.1审计日志设计

9.5.2审计执行

9.6数据安全技术

9.6.1数据加解密接口

9.6.2数据动态脱敏

9.6.3密态等值查询

9.7本章小结

第10章备份恢复机制

10.1openGauss全量备份技术

10.1.1gs_basebackup备份工具

10.1.2gs_basebackup备份交互流程

10.2openGauss增量备份技术

10.2.1gs_probackup子命令

10.2.2gs_probackup主要文件

10.2.3gs_probackup备份恢复流程

10.2.4redo日志增量备份恢复流程

10.3本章小结