您的位置:首页 > 数据库

PostgreSQL的数据存储(十八)---数据存储的优化

2011-09-21 08:32 239 查看

8 PostgreSQL的存储层优化

数据存储层,处于数据库管理系统的最底层,直接和物理IO打交道;数据库系统的性能,瓶颈出现在IO的概率较多。做性能优化,在数据存储层上下功夫,也是最容易出效果之处。

8.1 存储层结构

存储层只有在数据文件作为共享资源时,涉及并行,被加锁互斥。其他不涉及并行,如果改为按库存储,则缓存也按库区分,则可以并行处理缓存的读写;可以利用多进程或多线程的好处,提高IO操作效率;如果把不同库的存储,通过表空间,分布在不同外存介质,则可以利用每个独立外部存储的逻辑控制器同时进行IO操作。

8.2 存储管理方式

对于存储,是依赖于操作系统,还是数据库系统自己管理,可以区分出两种方式:

SMS(System Managed Space):直接利用操作系统的文件系统来管理数据。PG采取的就是SMS方式。SMS方式有个问题,是数据文件需要不断扩展,存储空间不是预先分配的,这样会导致效率问题,动态扩展操作会迟滞IO。

DMS(Database Managed Space):由数据库进行数据的存储空间控制。DMS方式,存储空间连续分配,并配合表空间,可以使得某个存储空间为一个表所专用,这样,数据可以连续存放,使得IO读写高效。

MS SQL SERVER采取的方式,就是DMS。PG的存储系统,如果往DMS上走,相信性能会有大幅提高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: