PostgreSQL,也称为Postgres,是一种免费的开源关系数据库管理系统,强调可扩展性和SQL合规性。 Apache Age Team利用了使用OpencyPher构建图形数据库的可扩展性。
此博客文章中的摘录摘自Hironobu Suzuki撰写的《 Postgres的内部》一书。
PostgreSQL的数据库结构是唯一的,将总结如下。
数据库集群的逻辑结构
PostgreSQL中的数据库群集是由PostgreSQL Server管理的数据库集合。在上一个post中,我使用命令bin/pg_ctl -D test -l logfile start
启动了一个名为test
的数据库群集,然后随后在同一帖子中使用bin/createdb testdb
创建了一个数据库。数据库群集可以包含不同的数据库。以下图像从“ Postgres的内部”中提取,提供了更清晰的解释。
数据库
数据库是数据库对象的集合,其中包含表,索引,视图,序列,甚至数据库本身。上图说明了一个数据库,其中包含各种数据库对象。
对象标识符(OID)
PostgreSQL中的OID(对象标识符)是分配给数据库对象的唯一标识符。这些标识符是内部参考,可帮助邮政在数据库中管理和引用对象。
数据库集群的物理结构
在物理表示方面,数据库群集由与单个数据库相对应的基本目录象征。这些子目录中的每一个都包含与相应数据库关联的各种数据库对象。大小小于1GB的表或索引由单个对象标识符(OID)管理,而数据文件则由称为“ Relfilenode”的变量处理。但是,当大小超过1GB时,创建了一个新的Relfilenode来管理它。
结论
了解数据库群集的逻辑结构至关重要,因为它允许个人理解群集中数据库对象和数据库之间的关系。
其物理结构可帮助个人深入了解文件的特定位置,促进对数据库的操纵和管理。
可以在特定数据库对象上进行进一步阅读。