opengauss
源码结构
opengauss内核是源于postgreSQL的。opengauss重点关注内核代码,opengauss的内核代码主要移动到gausskernel目录之下。它的src更为简洁。
openGauss-2.0.1\src
├─bin (gsql等命令的代码)
├─common (公共功能模块代码)
├─gausskernel (高斯内核代码)
├─include (头文件)
├─lib (库文件,包括)
├─makefiles (平台相关的make的设置值)
├─test (测试脚本)
└─tools (开发工具和文档)
opengauss在gausskernel中存放高斯内核核心功能
openGauss-2.0.1\src
├─gausskernel (高斯内核)
│ ├─bootstrap
│ ├─cbb
│ ├─dbmind (AI4DB和DB4AI功能模块)
│ ├─optimizer
│ ├─process (进程和线程管理模块)
│ ├─runtime (执行器模块)
│ ├─security
│ └─storage
在common中存放一些公共功能
openGauss-2.0.1\src
├─common (公共功能模块代码)
│ ├─backend
│ │ ├─catalog
│ │ ├─client\_logic
│ │ ├─lib
│ │ ├─libpq
│ │ ├─nodes
│ │ ├─parser
│ │ ├─pgxc\_single
│ │ ├─po
│ │ ├─port
│ │ ├─regex
│ │ ├─snowball
│ │ ├─tsearch
│ │ └─utils
│ ├─interfaces
│ ├─pgxc
│ ├─pl
│ ├─port
│ ├─template
│ ├─timezone
│ └─tutorial
openGuass在优化器目录中将commands和rewrite都放于优化器optimzier中
openGauss-2.0.1\src
├─gausskernel (高斯内核)
│ ├─optimizer
│ │ ├─commands
│ │ ├─geqo
│ │ ├─path
│ │ ├─plan
│ │ ├─prep
│ │ ├─rewrite
│ │ └─util
opengauss是单进程多线程模型的数据库,它在gausskernel目录下新建了process目录,增加了threadpool、datasource、globalplancache等模块
openGauss-2.0.1\src
├─gausskernel
│ ├─process
│ │ ├─datasource
│ │ ├─globalplancache
│ │ ├─job
│ │ ├─main
│ │ ├─postmaster
│ │ ├─stream
│ │ ├─tcop
│ │ └─threadpool (线程池)
openGauss在gausskernel目录下新建了runtime目录,其中的codegen用于生成更高性能的代码,vecexecutor用于提升sql引擎的计算性能。
openGauss-2.0.1\src
├─gausskernel
│ ├─runtime
│ │ ├─codegen (代码生成)
│ │ │ ├─codegenutil
│ │ │ ├─executor
│ │ │ ├─llvmir (LLVM动态编译)
│ │ │ └─vecexecutor
│ │ ├─executor
│ │ └─vecexecutor (向量化执行引擎)
│ │ ├─vecnode
│ │ ├─vecprimitive
│ │ └─vectorsonic
openGauss在gausskernel目录下还新建了security目录,保障数据安全
openGauss-2.0.1\src
├─gausskernel
│ ├─security
│ │ ├─gs\_policy
│ │ ├─iprange
│ │ └─keymanagement
还增加了dbmind目录,用于与AI结合
openGauss-2.0.1\src
├─gausskernel
│ ├─dbmind (AI4DB和DB4AI模块)
│ │ ├─deepsql (DB4AI: 库内AI算法)
│ │ │ └─madlib\_modules (开源的MADlib机器学习框架)
│ │ └─tools (AI4DB工具集)
│ │ ├─anomaly\_detection (数据库指标采集、预测与异常监控)
│ │ ├─index\_advisor (索引推荐)
│ │ ├─predictor (AI查询时间预测)
│ │ ├─sqldiag (慢SQL诊断发现)
│ │ └─xtuner (参数调优与诊断)