openGauss 体系结构介绍

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: openGauss 体系结构介绍

一、体系结构

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:性能视图
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG相比Greenplum的HAWQ在架构设计上有什么不同
MPP架构数据仓库使用问题之ADB PG相比Greenplum的HAWQ在架构设计上有什么不同
|
3月前
|
存储 关系型数据库 数据库
初探PostgreSQL体系结构
初探PostgreSQL体系结构
42 0
|
存储 关系型数据库 MySQL
MySQL 体系结构概述
MySQL 体系结构概述
56 0
|
12月前
|
SQL 存储 关系型数据库
MySQL概述与体系结构
MySQL概述与体系结构
64 1
|
SQL 存储 缓存
【视频】PostgreSQL 体系结构 | 学习笔记
快速学习【视频】PostgreSQL 体系结构
【视频】PostgreSQL 体系结构 | 学习笔记
|
SQL 关系型数据库 MySQL
基于mac构建大数据伪分布式学习环境(五)-部署MySQL8.30
本文主要讲解MySQL在Linux环境下的部署
166 0
|
Linux 网络安全 数据库
实战篇:GBase 8a MPP Cluster 安装部署过程
最近参加了 GBase 数据库训练营的培训,学习过程中,需要安装部署 GBase 8a MPP Cluster 集群环境,本次仅做记录以供参考。
实战篇:GBase 8a MPP Cluster 安装部署过程
|
存储 关系型数据库 数据库
PostgreSQL体系结构
概述 PostgreSQL数据库是由基于文件系统物理文件建立的,在数据库的运行过程中,整套高效严谨的的逻辑管理着这些物理文件。通常叫这些物理文件为数据库。将这些物理文件、管理这些文件的进程、进程管理的内存 称为这个数据库的实例。
3045 0
|
存储 关系型数据库 数据库
理解PostgreSQL的体系结构
PostgreSQL可能是开源关系数据库市场中最先进的数据库。1989年首次发布,从此有了大量的改进和功能增强。根据db-engine统计,截止到目前,PostgreSQl在最常使用的数据库中,排名第四。
1925 0
|
Java Linux 测试技术
Linux下图形数据库Neo4j单机安装
Neo4j数据库简介   Neo4j 是一个NoSQL的图形数据库(Graph Database)。Neo4j使用图(graph)相关的概念来描述数据模型,把数据保存为图中的节点以及节点之间的关系。
2898 0