`
jinghuainfo
  • 浏览: 1526553 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

PostgreSQL的数据存储(十四)---数据存储

 
阅读更多

4.4.2 Vacuum操作对页面的影响

对于页面来讲,vacuum操作,无非是清理不再有用的元组(元组可见性),尽量让页面恢复到初始或不断插入数据时的页面的状态(目的是:元组相邻,保持尽可能多的空闲页面大小)。

4.5 索引数据的内部格式

索引的元组和数据的元组,表示方式不同(数据的是HeapTuple,索引的是IndexTuple)。

但其在页面上以元组为单位的存储方式,却是相同的。

同样,初始页面状态一样,有页头,页数据块;插入数据也从页面底部开始插入,逐渐到页头,此时,索引需要更新(ExecInsert函数调用ExecInsertIndexTuples函数);但删除数据的时候,索引是不被维护的(函数ExecDelete);更新数据,相当于删除和插入,需要维护索引。

4.6 表空间

表空间,由多个数据文件组成,而数据文件可以跨越不同磁盘存储,所以,表空间是物理存储的集合。

通常情况,表空间作用如下:

1) 决定数据库的物理存储空间如何分配;

2) 为用户的表等对象设置数据库存储的空间配额

3) 分布数据于不同的物理存储设备之间,即分散IO以改善性能;

4) 可以使得备份恢复以局部数据为单位,操作更为灵活

PG的表空间,可以在数据库级(create database的database)可以在表级(建表时指定TABLESPACE子句)和索引级指定。

数据库级的表空间,是为一个数据库指定默认存储使用的空间。如果这个库下的表不指定其他表空间,则数据存放数据库级的表空间中。

如果为表指定表空间,则表的数据,存储在表的表空间中。索引同理。

表空间中的单个文件最大为1GB,初始文件大小根据数据多少决定,所以,在运行过程中,数据文件会自动扩展到最大1GB后再分裂为多个文件,分裂后的文件名称相同,后缀以数字区别(如:12345,12345.1, 12345.2等)。

系统通过默认的表空间,可以参看“4.1.1外存文件样式”一节。


分享到:
评论

相关推荐

    postgresql-10.4-1-windows-32

    用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是...

    postgresql-9.6.11-1-windows-x64

    2. 与PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写分离、负载均衡、数据水平拆分等方案,而这在MySQL下则比较困难。 3. PostgreSQL源代码写的很...

    postgresql-11.8-1-windows-x64.rar

    postgresql数据库,用来存储数据,关系型数据库

    postgresql-10.10-2-linux-x64-binaries.tar.gz

    postgresql-10.10-2-linux-x64-binaries.tar.gz 安装包 PostgreSQL经历了长时间的演变。该项目最初开始于在加利福尼亚大学伯克利分校的Ingres计划。这个计划的领导者迈克尔·斯通布雷克在1982年离开加利福尼亚...

    postgresql-9.1.14-1-1

    PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。同时PostgreSQL是多进程的,而MySQL是线程的,虽然并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL...

    基于Postgresql数据库的课程设计----汽车客运管理系统

    摘要:为了提高汽车客运站管理工作效率,减少调度员工作量,及时准确地安排好...同时有每一个模块的数据流图,分E-R图,总E-R图,数据流图,数据流程图。要求高的还包括存储模式设计,游标设计,触发器,sql文件等等。

    PostgreSQL-11.10-osr507-Binary.tar.gz

    PostgreSQL 是一个高度安全稳定的开源数据库系统,一般来说,如果你需要在关键领域做数据存储,在不考虑商业数据库软件的情况下,我们建议你优先考虑使用 PostgreSQL 数据库,而在一些对于数据安全与稳定要求不是...

    PostgreSQL数据库包-win7-x64

    用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是...

    PostgreSQL数据库的智能存储-译稿1

    摘要GPUDirectRDMA允许直接从PCIe设备到GPURAM的对等数据加载。对于Linux内核和PostgreSQL的扩展模块,我们通过将NVMe-SSD

    PostgreSQL存储二进制数据.htm

    PostgreSQL存储二进制数据.htm

    postgresql-9.2.2

    用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们。 PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是...

    postgresql-prometheus-adapter:远程存储适配器,使Prometheus可以使用PostgreSQL作为时间序列指标的长期存储

    PostgreSQL Prometheus适配器 ... 传入的数据由一个或多个线程处理,并且一个或多个写入器线程将按每日或每小时分区将数据存储在PostgreSQL中。 适配器将根据传入数据的时间戳自动创建分区。 PostgreSQL P

    Postgresql中国用户大会 2016(PG大象会)所有PPT汇总.zip

    张文升-探探科技-PostgreSQL和探探见证四亿次心动.pdf 姜瑞海-瀚高软件-PostgreSQL自适应流复制.pdf 张晓通-平安壹钱包-从金融架构的视角看数据库.pdf 赖伟-飞象数据-Sybase向PG迁移实践.pdf 张友东-阿里云...

    learn-postgresql, 了解如何使用PostgreSQL存储关系数据.zip

    learn-postgresql, 了解如何使用PostgreSQL存储关系数据 学习 PostgreSQL了解如何使用PostgreSQL存储关系数据安装在开始使用PostgreSQL之前,你必须先安装它。 按照以下步骤开始: macOS有两种安装PostgreSQL的方法...

    panda-qry:Oracle、MySql、MsSql、PostGreSql 的数据提供程序-开源

    PostGreSql 它由两个模块组成,一个需要 Oracle 数据库(最少 9 个)的管理模块“Panda-Adm”和一个可以与 Oracle、Mysql、MsSql 数据库一起用于数据的请求模块“Panda-Qry”。 “Panda-Adm”,管理模块,完全像 BO...

    用于MongoDB的PostgreSQL外部数据包装器-C/C++开发

    用于PostgreSQLMongoDB外部数据包装器该MongoDB扩展实现了PostgreSQL外部数据包装器。 请注意,此版本的mongo_fdw可与PostgreSQL和EDB Postgres Advanced Server 9.3、9.4和用于PostgreSQLMongoDB外部数据包装器一起...

    PostgreSQL柱状存储扩展cstore_fdw.zip

    该扩展使用了 Optimized Row Columnar (ORC) 格式的数据存储布局。ORC 提升 Facebook 开发的 RCFile 格式,带来如下好处: 压缩: Reduces in-memory and on-disk data size by 2-4x. Can be extended to support ...

    cityscrape:刮除圣路易斯市提供的开放数据源。 将数据加载到Postgresql数据存储中-Source City

    城市爬行 刮除圣路易斯市提供的开放数据源。 将数据加载到Postgresql数据存储中。 开发设置 克隆项目 vagrant up ./cityscrape-setup.sh 部署方式 Docker(还没有...)

    panda-qry:Oracle,MySql,MsSql,PostGreSql的数据提供程序-开源

    PostGreSql它由两个模块组成,一个管理模块“ Panda-Adm”需要一个Oracle数据库(最少9个),一个请求者模块“ Panda-Qry”可以与Oracle,Mysql和MsSql数据库一起使用。 管理模块“ Panda-Adm”以BO的形式完全管理...

    ipfs-ds-postgres:IP用于IPFS的PostgreSQL数据存储

    确保已创建数据库并且存在具有以下结构的表(将table_name替换为数据存储将使用的表的名称-默认情况下为blocks ): CREATE TABLE IF NOT EXISTS table_name (key TEXT NOT NULL UNIQUE, data BYTEA ) 建议在表上...

Global site tag (gtag.js) - Google Analytics