有许多大型数据库不支持NAS设备,因为在数据访问时,为了提高数据读写速度,数据库同场要对磁盘进行直接管理,这是如果中间多了一层文件系统,会大大降低数据访问性能。
“裸设备和文件
数据库厂商都推荐使用裸设备作为数据库存储,这是因为这样可以使数据库完全控制I/O,因而可以锁定和并行处理I/O来提高性能
但这些特点要付出一个代价,裸设备非常难于管理, 通常需要系统管理员干涉,因为管理它们需要超级用户的权限。此外,裸设备的管理工具相对文件管理工具来说都比较原始。
今天,文件系统技术已经消除了基于文件和基于裸设备的性能上的不同。可以使用基于文件的数据库而不会牺牲性能。
使用文件的作为数据库存储的数据库提高了系统的可用性,因为它减少了人为错误的可能,还促进了一些应用,如:正规备份。
为提高恢复速度,数据库底层文件应该采用日志型的文件系统。
—Paul Massiglia VERITAS Software”
看了上面的话,相信以后大家在创建数据库时,很少会使用罗设备了吧。
但是虽然数据库是基于文件系统了,但还不是NAS,因为NAS使用的文件传输协议,也就是说,当把数据库建立在NAS上时,如果要取得一条记录,需要对整个数据文件进行传输(如果数据库不更改数据访问方式)
Oracle数据库在9.0版本后开始支持DAFS协议:
DAFS(直接存储文件系统--Direct Access File System)作为一种文件系统协议,可以在大量甚至过量
负载时,有效的减轻存储服务器的计算压力,提高存储系统的性能。
DAFS的基本原理,就是通过缩短服务器读写文件时的数据路径,来减少和重新分配CPU的计算任务。它提
供内存到内存的直接传输途径,使数据块的复制工作不需要经过应用服务器和文件服务器的CPU,而是在两个
物理设备的预先映射的缓冲区中直接传输。也就是说,文件可以直接由应用服务器内存传输到存储服务器内
存,而不必先填满各种各样的系统缓冲区和网络接受器。这样一来,文件的I/O操作加快了,而存储网络的流
量反而降低了。同时,由于操作系统对文件操作的介入更少了,节省下来的处理能力就被释放出来,用于其
它方面的任务。
DAFS由NetApp公司提出,虽然很好,但只有solaris平台的版本,也就是说必须使用SUN的服务器,和NetApp的NAS设备,
MS也推出了支持NAS的SQLServer数据库。
[此贴子已经被作者于2003-11-27 16:14:11编辑过]