db2 调用存储过程_关系型数据库存储管理

9385aace289c5d3ed230421ad787da9e.png

关系型数据库依赖于《大型共享数据库的数据关系模型》建立了数据模型,而为了能够在现在计算机系统上能够正确、高效的运行,关系型数据库做了大量的工作。本章将会结合之前的《I/O的5分钟法则》和《存储器系统》进行介绍。

现代商业数据库应用中,主要有两种基本类型的DBMS存储管理器:

  1. DBMS直接与底层的面向磁盘的块模式设备驱动程序进行交互(通常称为原始模式访问);
  2. DBMS使用标准的OS文件系统设施。在这里又可以分为大文件和小文件两种形式。

根据《存储器系统》的学习,我们能够知道程序的局部性原理。而数据库管理系统更需要充分考虑局部性原理,来提高其性能。

而根据《存储器系统》的学习,我们能够知道存储器的层次模型,这里主要使用到硬盘以及主存两层存储结构:

91bce1aa8e092075529e607df3c7144b.png

下面将通过对磁盘和主存的空间局部性以及时间局部性进行介绍。

硬盘的局部性应用

数据库的数据存储方式和块设备的存储方式是不相同的。能够更好的利用数据库中的数据逻辑组织方式进行存储,这将会大大提高数据库的性能。而对于DBMS来说,控制数据空间局部性的最好的方式就是直接存储到“原始”磁盘设备中,也就是裸设备,从而绕过文件系统。裸设备地址通常对应于存储位置的物理临近性,可以使数据库到达性能峰值。大多数商业数据库支持裸设备,例如Oracle和DB2。

这样做虽然有最优的性能,但带来了一些问题:

  1. 它需要将整个磁盘分区分配给DBMS,也就会造成一些需要使用文件系统接口的工具无法使用;
  2. 裸设备访问接口往往是与特定操作系统相关的,这就使得DBMS的可移植性变差,不过随着现在的技术发展,大多数商业厂商已经解决了这个问题;
  3. 最后,随着存储行业的快速发展,诸如RAID、存储区域网络和逻辑卷管理器,已经非常普及,而裸设备接口被很多硬件和软件拦截,所以也会造成问题。

裸设备访问的一种替代方式是,由DBMS在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值