一、体系结构
openGauss是一款单进程多线程数据库,客户端服务器架构。
1. 驱动
驱动支持:jdbc java,odbc c++,libpq c,
2. 核心线程
- GaussDB线程:业务连接线程,SQL语句解析,解析后执行访问share buffer数据
- share buffer: 把table加载到share buffer数据,修改后会写wal buffer 通过bgwriter线程写到pg_xlog日志下
- MOT:内存存储引擎
- Cstore buffer:列存引擎
- temp buffer:存放临时表数据,全局临时表 表定义是全局的数据是会话是私有的 会话临时表
- work_mem:存放运行过程中临时的数据,比如排序,hash join 支持计算的
3. 辅助线程
- Auditor:审计线程,收集各个线程的审计信息,写到审计文件里。
- WalSender:主库把日志发送到备库
- WalReceiver:备库接受主库
- Stat_collector:统计数据,,把后台线程对数据库的增删改查汇总,服务于数据库的优化器以便选择最优路径
4. 数据库
- postgresql.conf:数据库配置文件,GaussMaster线程会首先读取,对IP和端口号进行监听,等待连接
- pg_hba.conf:鉴权,黑白名单
- pg_ident.conf:用于安全,做标识
- gaussdb.state:记录当前进程的状态信息,当非正常关闭数据库后,重启数据库会重新生成。
- base/global/pg_talspc:存放数据文件,global存放全局,pg_tblspc存放单独表空间
- pg_xlog:redo log文件
- pg_clog:存放数据库日志提交信息,记录事物的状态,回滚,运行,提交。
- pg_csnlog:存放事物相关的快照及时间戳信息
- pg_twophase:存放两阶段事物提交文件的状态信息,如果要保持两个数据库之间的一致性需要两阶段提交, prepare ,commit。
- pg_serial:序列表
- pg_multixact:记录事物与锁的映射关系
- Archived_WAL:存放日志归档信息
- pg_audit:存放审计信息
- pg_replslot:用于主备机复制使用,主备机状态的交互
- pg_perf:性能视图
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
内蒙古公司成功完成新一代BOSS云原生系统割接上线
openGauss
165次阅读
2025-03-24 09:40:40
第4期 openGauss 中级认证OGCP直播班招生中!3月30日开课
墨天轮小教习
137次阅读
2025-03-17 15:48:40
【opengauss/磐维数据库】 删除用户报错
飞天
87次阅读
2025-02-26 23:23:08
openGauss HASH JOIN原理
lbsswhu
44次阅读
2025-03-18 10:45:01
民生银行测试用例参数
Cabbage
43次阅读
2025-03-05 09:35:20
从数据库源码比较 PostgreSql和OpenGauss的启动过程
maozicb
39次阅读
2025-03-24 15:55:04
安装opengauss时由于平台对password关键字审计问题,导致第二次密码输入失败。
是赐赐啊!🦄
34次阅读
2025-02-26 09:36:50
对话openGauss开发者之天津大学游奕桁
openGauss
33次阅读
2025-02-28 14:54:31
openGauss 学习之路:集群部署实战探索
openGauss
29次阅读
2025-03-21 10:34:13
对话openGauss伙伴之钉钉杨俊华
openGauss
29次阅读
2025-02-25 09:26:07