PostgreSQL开发与实战(6.2)体系结构2

云的事随心讲 2024-03-13 16:24:33

作者:太阳

二、逻辑架构

graph TD

A[database] -->B(schema)B -->C[表]B -->D[视图]B -->E[触发器]C -->F[索引]

tablespace

三、内存结构

Postgres内存结构主要分为 共享内存 与 本地内存 两部分。共享内存为所有的 background process提供内存,本地内存为每个backend process提供内存。

3.1 共享内存

共享内存主要是数据块的缓冲区,将数据块读取到共享内存进行操作,提升数据库的读写性能。

shared buffer pool : 将表或者索引的page从磁盘加载到shared buffer,然后在shared buffer操作

WAL buffer : 在服务端出现问题的时候,确保数据不会丢失,在写到磁盘之前,wal buffer是wal log的缓存区域

commit log : 为了并发控制所有事物的状态的保持而分配的区域

3.2 本地内存

temp_buffers : 临时缓存区, 存储临时表会用到这块区域

work_mem : 内部排序操作、distinct、hash join、merge join 等操作,在使用临时磁盘文件之前使用的内存缓存区

maintenance_work_mem : 一些维护性操作使用的内存缓存区,如:vacuum、create index、alter table的等操作会用到这部分内存空间

更多技术信息请查看云掣官网

0 阅读:0

云的事随心讲

简介:感谢大家的关注