SAN和NAS的区别

SAN是Storage Area Network的缩写,也就是说SAN是一个网络;
NAS是Network Attached Storage的缩写,也就是说NAS是一个存储设备;

因此SAN和NAS根本不是同一类东西,因此根本无法将它们进行比较。

为什么有许多人要比较SAN和NAS,有以下两种情况:

一,他们比较的是服务器是连接到Fabric网络(SAN)还是通过IP(LAN)网络连接到存储设备,前一种连接的是光线阵列,后一种连接的NAS设备。为了卖出设备,因此一定要说出那个好,那个不好。
二,说明SAN和NAS互为补充,例如NAS后面使用SAN的网络作为存储。

比较fabric网络和以太网络:

观点一:fabric网络性能高于以太网络,原因如下:
      1,从设计上,fabric网络就设计为高速传输的网络,
      2,在Fabric网络中,没有竞争,不需要确认,数据传输效率高,一个镇最大可谓2112字节。
      3,Fabric是一个智能网络,自动重新路由,trunking(多端口绑定,带宽可达8Gb)
      4,Fabric网络中数据传输为块操作,因此对要求直接对磁盘能够读写的数据库有很好的支持能力。而NAS一般不支持数据库。

观点二:
    FC网络性能再好,也是一个存储网络,服务器连接存储的性能再高,也是要对外提供服务的,服务器需要通过网络对外提供服务,你后端再快,也要受到前端网络的限制。
    FC网络相当于使用了一个第二网络传输存储数据,如果使用第二个IP网络访问NAS设备,因为第二网中机器少,因此效率肯定会大大提高。
    FC网络目前带宽为1Gb,2Gb,即使通过trunk也只能达到8Gb,而万维网10Gb已开发出来并投入使用。
    FC网络号称传输效率高,而IP网络如果使用cisco的0干扰交换机,高性能的千兆以太网卡,传输性能也很高。
    FC的先天性缺陷就是数据共享能力差,如果要多台机器共享一个数据卷,需要sanergy,cvfs等软件的支持,而且管理信息也需要通过IP网络进行传输,而且不支持迁移等操作,性能也很差。
     NAS自身就是为数据共享设计的。

有许多大型数据库不支持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数据库。

但是虽然数据库是基于文件系统了,但还不是NAS,因为NAS使用的文件传输协议,也就是说,当把数据库建立在NAS上时,如果要取得一条记录,需要对整个数据文件进行传输(如果数据库不更改数据访问方式)

SAN走的是光纤协议,NAS走的是TCP/IP协议。
SAN多用于关链性数据库,即所谓block,
NAS多用于file.
简单说,nas是在利用你的现有网络,san是在你的sever所端再架一个网络。

SAN更多的是强调范围,高效!
NAS则主要是强调共享!

你可能感兴趣的:(数据库,应用服务器,网络,服务器,存储,sqlserver)