数据存储技术介绍

aab312
传统存储系统不管是在需要极低延时响应、实时大数据应用或者还是面对海量数据仓储的数据挖掘应用的时候都会遇到瓶颈。为了保证大数据分析业务能正常运行,相应的存储系统需要足够快,可扩展并且性价比有优势。

目前市场上有两种类型的大数据分析方式--同步的和异步的,两种都有各自在存储容量和特性上的要求。

近来大数据分析这个词正逐渐成为IT界流行的一个术语,以代指有关大数据本身的猜想,通俗说来即成堆数据背后问题的答案。然而,如果我们能够从足够的数据点入手比对及交叉分析,或许能帮助我们找到一些有用的数据,甚至可能帮助避免灾难。

问题是显而易见的,所有的分析都需要大量甚至海量的数据,这便给当今的IT管理人员带来了更新的挑战,即如何捕获、存取、以及分析这些数据并将从中得到的分析用于后续任务的执行?

大数据分析应用通常会使用例如网络流量、金融交易记录以及敏感数据来替代传统形式的内容。数据本身的价值在于数据间的比对、关联或者引用。对大数据的分析通常会意味着与大量的小数据对象打交道,而这些小数据对象往往对响应延时要求非常之高。

当前业界主要有两种大数据分析场景,而它们通常是根据数据处理的形式而区分:

在实时使用场景下,响应效率是最为关键的,因此大数据存储架构本身的设计需要满足最小延时的功能。

同步,即实时的或者近乎于实时的;另外一种就是异步的方式,这种方式下,数据首先会被获取,记录下来然后再用批处理进程进行分析。

同步分析

可以想到的近乎于实时的大数据分析的最早的例子就是超级市场里的工作人员是如何统计消费者行为习惯以便于提供相应的优惠促销券的。

事实上是,消费者购买行为计算很可能在用户收银前就已经完成,但是概念本身是非常类似的。另外一个相关的例子是在线社交网站可以通过访问用户的行为建立属于他们的行为数据库,这样就可以根据各自不同的消费习惯提供不同的点对点广告植入。

在零售行业,一些大型商铺正开始在停车场对前来购物的消费者使用面部识别技术,这样一旦他们路过或者经过对应的商铺与之相应的促销信息便随之而来。因此,在这样一类的实时大数据分析场景中,速度是第一要素,故而大数据存储架构需要建设成为低延时的场景。

针对同步大数据分析的存储

实时分析应用通常会运行在例如NoSQL之类的数据库上,通常都能支持海量可扩展的商用硬件上。Hadoop,从另一角度考虑,非常适合批量的数据处理,这种技术非常合适于异步大数据分析。

由于在很多场合下,存储本身会成为延时问题的瓶颈,那么固态存储设备对于实时数据分析是很有帮助的。闪存存储可以以多种形式进行部署:作为传统存储磁盘阵列的一层,以NAS系统的方式,再或者以应用服务器本身的方式都可以实现。

这种服务器端的闪存实施方式广受用户欢迎,之所以这样是由于它能够实现最低程度的延时(因该方式下的存储最为接近CPU),并且提供了很灵活的容量选择,几百GB容量就可以实现。

SAS/SATA接口的固态硬盘本身就是个选择,但是近来我们看到PCIe板卡为接口的固态设备逐渐成了性能应用(比如实时分析)的标准,因为相对于前者,其延时更低。

如今,业界有许多提供PCIe闪存存储的公司,包括Fusion-io、LSI、Micron Technology、SanDisk、sTec(现在是HGST的一部分,作为Western Digital的一个部门)、Violin Memory以及Virident(也被Western Digital收购)。其它所有主流服务器及存储厂商们也都提供PCIe解决方案,大多数是与这些公司通过了OEM协议。

尽管PCIe卡最大容量已经近乎于10 TB,但仍无法满足用户的需求,因此一个共享的存储资源池也是需要考虑的。一个解决方案是使用Virident的FlashMAX Connect software,这种软件可以实现将PCIe卡的资源通过服务器上的InfiniBand,进行资源池化。

这对扩展闪存容量会非常有帮助,尤其是对于那些PCIe插槽不足的服务器或者需要使用VMware vSphere的Storage vMotion功能的时候。通过在不同服务器之间实现闪存的池化,这些解决方案可以提供冗余以及高可用性方面的支持。

另外一个选择是通过InfiniBand、光纤通道或者甚至PCIe的连接方式使用全闪存阵列。全闪存阵列的容量从10 TB到100 TB之间,可以以模块的方式进行扩容。以全闪存阵列这类的高端解决方案可以提供至少100万IOPS,相对应到百万微秒级别。

大多数主流的存储厂商都有相应的全闪存阵列类别,除了IBM对Texas Memory的收购,小厂商都有类似的产品并提供了更多的选择,他们中有Kaminario、Nimbus Data Systems、Pure Storage、Tegile、即将被思科收购的Whiptail以及Violin Memory.

异步大数据分析

异步处理的大数据分析中遵守了捕获、存储加分析的流程,过程中数据由传感器、网页服务器、销售终端、移动设备等获取,之后再存储到相应设备上,之后再进行分析。由于这些类型的分析都是通过传统的关系型数据库管理系统(RDBMS)进行的,数据形式都需要转换或者转型成为RDBMS能够使用的结构类型,例如行或者列的形式,并且需要和其它的数据相连续。

处理的过程被称之为提取、变形、加载或者称为ETL.首先将数据从源系统中提取处理,再将数据标准化处理且将数据发往相应的数据仓储等待进一步分析。在传统数据库环境中,这种ETL步骤相对直接,因为分析的对象往往是为人们熟知的金融报告、销售或者市场报表、企业资源规划等等。然而在大数据环境下,ETL可能会变得相对复杂,因此转型过程对于不同类型的数据源之间处理方式是不同的。

当分析开始的时候,数据首先从数据仓储中会被抽出来,被放进RDBMS里以产生需要的报告或者支撑相应的商业智能应用。在大数据分析的环节中,裸数据以及经转换了的数据大都会被保存下来,因为可能在后面还需要再次转换。

适用于异步大数据分析的存储设备

在异步大数据场景下对于存储的调整主要来自于容量、可扩展性、可预见性,尤其是提供这些功能的成本。当数据仓库产生大量数据集的时候,磁带存储的延时会显得非常大以至于无法满足业务需求。换而言之,传统的向上扩展的磁盘存储架构在相同容量标准下,往往并不能做到节约成本。

横向扩展存储。横向扩展存储是使用模块或者节点以群集的方式将资源池化,以文件系统的形式作为接口为大数据分析服务。例如有Dell EqualLogic、EMC Isilon、Exablox(also object-based)、Gridstore、HP StoreAll(之前叫Ibrix)以及IBM横向扩展NAS(SONAS)。这些解决方案里,每个节点都包含有处理能力及磁盘容量,它们能实现容量与性能的并行扩展。

Hadoop技术也被应用于存储架构的方式,使得企业能够以较低的硬件成本与较高的灵活性,搭建属于它们自己的高可扩展性存储系统。Hadoop运行在集群的不同节点上,每个节点都有自己的存储及计算资源,尤其是在面对数据处理需求的时候。其它节点会协调这些处理任务并以分布式资源池的方式进行处理,通常是以Hadoop分布式文件系统HDFS的形式存在。

为什么Hadoop对大数据意义重大

Hadoop得以在大数据应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适。

因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。

但是对于Hadoop,特别是Hadoop分布式文件系统(HDFS)来说,数据至少需要三份以支持数据的高可用性。对于TB级别的数据来说,HDFS看起来还是可行的,但当达到PB级别海量数据的时候,其带来的存储成本压力不可小觑。即便是可横向扩展存储亦不能避免压力本身,一些厂商选择了使用RAID技术实现卷级别的保护,而在系统级别则使用了复制的方式。对象存储技术可以提供面对大型环境的数据冗余问题的解决方案。

对象存储。基于对象的存储架构可以通过替代分层存储架构的方式,极大程度上提升可横向扩展存储的优势,它使用的方式则是以单一索引来关联灵活的数据对象。这将解决无限制扩展问题,从而提升了性能本身。对象存储系统包含了无需RAID或者复制作为数据保护的纠删码,极大程度上提升了存储的使用效率。

不像HDFS方式下需要两份或者三份多余数据拷贝以及额外的RAID机制,对象存储系统的纠删码可仅以50%-60%的额外容量就能达到更高的数据保护级别。

在大数据存储级别,对于存储本身的节省将是非常重大的。对象存储系统亦可选择,包括Caringo,DataDirect Networks Web Object Scaler,NetApp StorageGRID,Quantum Lattus以及开源的OpenStack Swift和Ceph.

一些对象存储系统,比如Cleversafe的,甚至可以做到与Hadoop兼容。在这些项目的实施中,Hadoop软件组件可以运行在这些对象存储节点的CPU上,对象存储系统将替换存储节点的Hadoop分布式文件系统。

大数据存储的底线

大数据分析逐渐在IT行业成为了一个热门的话题,越来越多的企业相信它将引领企业走向成功。然而任何事情都有两个方面。这件事情上来看,就是现有存储技术本身。

传统存储系统不管是在需要极低延时响应、实时大数据应用或者还是面对海量数据仓储的数据挖掘应用的时候都会遇到瓶颈。为了保证大数据分析业务能正常运行,相应的存储系统需要足够快,可扩展并且性价比有优势。

对于闪存解决方案来说,不管是以服务器端flash卡的形式还是以全闪存阵列的形式,都提供了一些对于高性能、低延时、大容量存储的替代解决方案。基于对象的带有擦写功能编程的可横向扩展架构为使用传统RAID以及复制方式的存储结构提供了一种能具备更高效率和更低价格的选择。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论