最近一段时间一直在理解达梦数据库内部的理论,比如其内部的逻辑存储是如何划分的,下面我详细的介绍下,避免后面在遇到的时候忘记。
DM 数据库为数据库中的所有对象分配逻辑空间,并存放在数据文件中。在 DM 数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。也就说DM数据库的逻辑空间全部都是由表空间构成的,在表空间的内部在进行逐级划分,分别是段、簇、页(即块)。这么划分的好处是使得DM 数据库能够更加高效地控制磁盘空间的利用率。
DM7中存储的层次结构:
- 数据库由一个或多个表空间组成;
- 每个表空间由一个或多个数据文件组成;
- 每个数据文件由一个或多个簇组成;
- 段是簇的上级逻辑单元,一个段可以跨多个数据文件;
- 簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;
- 页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。