美文网首页
9.物理层级结构

9.物理层级结构

作者: 善良的良 | 来源:发表于2019-05-28 21:25 被阅读0次

物理:database cluseter——>tablespace——>file——>block

逻辑:database cluseter——>database——>schema——>object——>tuple

1 (1).png

tablesapce

将不同的表放在不同目录下,通过文件系统的分离,优化存储空间和I/O吞吐
create tablespace tbs2 location '/home/postgres/tbs2';
create table t1 (id int) tablespace tbs2;
alter table t1 set tablespace tbs2;

database

同一cluster database下的数据库是独立的
create database db1 template template0 tablespace tbs1
缺省会以template1作为模板,template1可被修改。建完全干净的库可以template0为模板
tablespace会设置该库的缺省表空间

page

page又称block,内存里称buffer,是pg中I/O的最小单元
缺省大小8kB,可设置范围1~32KB,2^n
数据块结构:(pg tuple进入page是从后往前)

  • 块头:包括LSN、Checksum、空闲空间起止位置等
  • 行指针:包含偏移量和长度,占4字节
  • 空闲空间
  • 行数据
  • 特殊数据:索引访问方法
1 (2).png

tuple(row)

  • tuple头部包括
    • t_xmin
    • t_xmax
    • t_cid
    • t_xvc
    • t_xtid
    • t_infomask2
    • t_infomask
    • t_hoff

空闲空间管理(oid_fsm)

  • PostgreSQL使用Free Space Map(FSM)文件管理空闲空间,每个数据表文件都会对应一个<oid>_fsm文件
  • FSM 文件使用一个字节来记录一个数据块的空闲空间大小的范围,即0~255的值表示以 32 字节为间隔区间的空闲空间,该字节若为 N ,那么空闲空间范围为 N32~(N+1)32-1 ,若 N=3 ,那么空闲空间范围为 96~127
  • FSM 文件实际上是一个 3 层的 B TREE 的索引结构,用于快速空间检索

可见性映射文件(oid_vm)

  • 当数据被update/delete后,即使事务提交了也不会马上能够被重复利用,必须要进行空间回收(VACCUM)
  • PostgreSQL 使用可见性映射文件(Visibility Map File)标记需要清理的数据块,即 vm 结尾的文件
  • VM 文件使用二进制位图标识需要清理的数据块

相关文章

  • 9.物理层级结构

    物理:database cluseter——>tablespace——>file——>block 逻辑:datab...

  • 绘图动画

    CAAnimation 层级结构CAAnimation层级结构 协议: NSCoding, NSCopying, ...

  • [JavaScript] (Day-23) - jQuery

    因为DOM的结构就是层级结构,所以我们经常要根据层级关系进行选择 层级选择器(Descendant Selecto...

  • oracle树形结构层级查询之start with ....co

    浅谈oracle树状结构层级查询 原文地址:浅谈oracle树状结构层级查询 oracle树状结构查询即层次递归查...

  • 性能优化

    1. 布局优化 * 有一工具,hierarchy viewer。减少布局层级结构 * 层级结构相同时,布局性能排序...

  • tcp、socket和http间的区别和联系(理论篇)

    网络层级结构 网络由下往上分为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层(大学基础) ip协议:...

  • 2019-09-29

    区块链的层级结构 ...

  • 3分钟入门网易广告投放平台

    ①适读人群 ②文章目录结构 一、账户层级结构 首先是账户层级,因为账户层级的作用主要是限制每日预算对整个账户包括推...

  • Oracle的体系结构

    Oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构及进程。 物理结构 物理数据库结构...

  • 8:层级结构

    数据层;记录数据 网络层:构建区块链网络的架构,决定用户之间通过何种方式组织起来 共识层:提供规则,使得接收和存储...

网友评论

      本文标题:9.物理层级结构

      本文链接:https://www.haomeiwen.com/subject/ynuctctx.html