Supabase实战:PostgreSQL驱动的全栈开发平台解析
2026/10/26 13:37:52
在DM7及之后的版本中,数据库(Database)与实例(Instance)被明确区分为两个不同的实体,这一区分是理解DM架构的基础。
简单来说,数据库是静态的存储,而实例是动态的执行环境。通常情况下,一个实例一次只能操作一个数据库,但在DMDSC(共享存储集群)等高可用架构下,多个实例可以同时访问同一个数据库,实现了更高的可用性与负载均衡。
DM数据库采用层次化的逻辑存储结构,所有数据最终都存储在数据文件中,并通过以下层级进行组织与管理:
这种结构既保证了存储的灵活性,也提升了磁盘空间的利用效率。
表空间是数据库中最顶层的逻辑存储单元,所有数据库对象在逻辑上都属于某个表空间。DM数据库在初始化时会自动创建四个基础表空间:
| 表空间 | 类型 | 主要用途 |
|---|---|---|
| SYSTEM | 普通表空间 | 存放数据字典信息,禁止用户创建表和索引 |
| ROLL | 普通表空间 | 自动维护,用于存储DML操作前的数据,保障读一致性 |
| MAIN | 混合表空间 | 默认表空间(SYSDBA),可同时存储普通表与HUGE表,初始化包含MAIN.DBF文件 |
| TEMP | 普通表空间 | 存放SQL执行过程中产生的临时数据,如排序中间结果、临时表等 |
建议:在生产环境中,建议为业务数据创建独立的表空间,或直接使用MAIN表空间,以提升管理清晰度与性能。
FILLFACTOR(填充因子)是数据页级别的优化参数,用于平衡存储空间利用率和更新性能:
DM数据库通过清晰的逻辑存储层次——数据库→表空间→段→簇→页→记录,实现了数据的高效组织与存取。理解这些基本概念,有助于管理员更好地进行数据库规划、性能调优与日常维护。无论是普通业务系统还是高可用的DMDSC集群,这一存储逻辑都为DM数据库的稳定与高效运行提供了坚实的基础。
提示:可通过
SELECT * FROM V$TABLESPACE;查看表空间详细信息,进一步结合实践加深理解。