大数据导论
上QQ阅读APP看书,第一时间看更新

2.2 传统的大数据存储系统

对于承载大数据存储的服务器来说,服务器内置存储空间,或者说内置磁盘往往不足以满足存储需要。因此,在内置存储之外,服务器需要采用外置存储的方式扩展存储空间。服务器外置存储根据连接方式可以分为:直连式存储(Direct-Attached Storage,DAS)和网络化存储(Fabric-Attached Storage,FAS)。网络化存储又分为:存储区域网络(Storage Area Network,SAN)和网络接入存储(Network-Attached Storage,NAS),如图2-1所示。

图2-1 大数据的传统存储结构

1.直连式存储(DAS)

DAS通过FC与数据处理服务器直连,是最早出现的直接扩展数据存储模式。这种模式数据存储设备与数据使用设备之间没有任何存储网络连接。典型的应用场合是通过一个包含大量数据存储能力的设备(磁盘阵列)与使用设备通过数据接口(SCSI、Fibre Channel)相连,简单易用,但扩展性差、成本高,资源利用率低,可管理性及备份、恢复和扩容过程复杂,这些缺点都制约了DAS架构在大数据应用场景下的使用,为了解决这些问题,提出了NAS和SAN,以不同的方式应对大数据的挑战。

2.网络接入存储(NAS)

NAS存储设备和数据处理服务器通过高速交换机相连,由于这些设备都分配有IP地址,所以客户机通过充当数据网关的服务器可以对其进行存取访问,甚至在某些情况下,不需要任何中间介质客户机也可以直接访问这些设备。主要优点有:

(1)NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。

(2)NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。

(3)NAS应用于高效的文件共享任务中,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。

NAS架构几乎继承了磁盘阵列技术的所有优点,可以通过标准拓展网络设备,摆脱了服务器和异构化构架的限制,已经被各类型企业机构广泛采用。

但NAS技术由于架构先天性不足,也存在与大数据处理不相适应的问题,主要有:

(1)受局域网带宽限制,影响存储性能。

(2)不适应数据块访问方式,存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块。

3.存储区域网络(SAN)

SAN通常是将用于大数据存储能力的存储设备(如磁盘阵列、光盘机等)通过高速交换网络连接在数据处理服务器上,数据处理服务器上的操作系统可以像访问本地磁盘数据一样对这些数据进行高速访问。SAN的优点主要有:

(1)整合了存储装置的运用,使得整体空间的使用率得以大幅提升,节省企业的成本支出。

(2)它采用高速的传输媒介,将存储系统网络化,实现了真正高速的共享存储。

(3)综合网络的灵活性、可管理性及可扩展性的同时,提高了网络的带宽和存储I/O的可靠性。

(4)SAN独立于应用服务器网络系统之外,拥有几乎无限的存储能力。

(5)由于将企业的数据存储空间加以合并运用,使环境的建置及设备的管理维护复杂度得以大幅改善,因而降低了存储管理费用。

NAS与SAN从架构上来看,具有一定的相似性,这也是在实际应用中这两个概念经常容易让人混淆的原因。从架构的抽象层面来看,这两者确实存在一定的相通性,其实质就是将DAS结构下数据存储设备与数据处理服务器之间的紧耦合关系打破,通过在两者之间建立高速网络链接的方式实现数据存储资源的共享。它们的最核心的区别在于文件系统模块是位于数据处理服务器一侧还是位于数据存储设备一侧。从图2-1可以看出,NAS架构中的文件系统位于数据存储设备一侧,且数据存储设备提供的是文件级别的数据访问能力。而在SAN架构中,文件系统位于数据处理服务器一侧,可以以数据块的形式访问数据存储设备。

4.提升吞吐量

为了提升磁盘吞吐量和容错性,采用RAID(Redundant Array of Independent Disk,独立冗余磁盘阵列)技术。RAID是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能能够确保数据安全性、易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。 RAID的典型工作模式包括RAID0、RAID1、RAID5、RAID10四种。如图2-2所示,RAID0系统向3个磁盘组成的逻辑硬盘(RADI0磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。从图2-2中可以清楚地看到通过建立RAID0,原先顺序的数据请求被分散到所有的3块硬盘中同时执行。从理论上讲,3块硬盘的并行操作使同一时间内磁盘读/写速度提升了3倍。但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著是毋庸置疑的。

图2-2 RAID0的工作方式