大数据存储和分析
大数据分析有两种基本类型:同步和异步,但都有大数据存储需求和专门需求。
同步分析和异步分析的区别在于它们处理数据的方式。但它们都有大数据存储需求和专门需求。
这个词大数据分析已悄悄进入IT行话,代表了我们对所谓“大数据假设”的执着——相信我们所有问题的答案都埋藏在成堆的数据中。无论如何,如果我们能够比较和交叉引用足够多的数据点,我们将获得帮助我们击败竞争对手、抓住所有骗子、将世界从灾难的边缘拯救出来的见解。
问题是,所有这些分析都需要大量的数据,这对IT来说是一个挑战:如何捕获、存储、访问和分析足够多的数据来获得这些见解和证明投入到任务中的资源是合理的吗?
大数据分析应用程序通常使用网络流量、金融交易和传感器数据等信息,而不是传统的内容形式。数据的值与其他数据集相关联、关联或引用。大数据分析通常处理的是大量的小数据对象,对存储延迟的容忍度很低。
大数据分析有两种主要的用例,它们的区别在于数据处理的方式:同步、实时或接近实时;或者异步地,首先捕获数据,记录数据,然后在事实发生后使用批处理过程进行分析。
Hadoop为何重要
Hadoop在大数据应用中被广泛使用,其灵活性支持大数据环境中提取、转换、加载(ETL)周期的动态特性。Hadoop的分布式架构将处理引擎放置在靠近存储的位置,非常适合ETL这样的批处理作业,因为ETL的输出直接进入存储。Hadoop的MapReduce函数允许将一个大的摄取任务分解成更小的部分,并发送到多个节点(Map),然后合并(Reduce)到最终的数据集,并加载到数据仓库中。
同步分析
近实时大数据分析的最早例子之一是超市如何计算你的购买行为,并使用它来打印优惠券和你的登记收据。实际上,购买行为的计算可能是提前完成的,只是在您结账时引用,但概念是相同的。其他的例子还包括利用你的喜好和在线活动对社交媒体网站进行持续的分析,然后将其卖给广告商,让你从这些网站获得弹出式体验。
在零售业,一些大型商店开始使用面部识别软件在停车场识别购物者,这样就可以访问他们的购买资料,生成促销材料,当他们在店里走动时,就可以通过电子邮件或短信发送给他们。在像这样的实时用例中,速度是一个关键因素,因此大数据存储基础设施必须设计为最小化延迟。
同步分析存储
实时分析应用程序通常运行在NoSQL之类的数据库上,这些数据库具有巨大的可伸缩性,并且可以由普通硬件支持。Hadoop另一方面,它更适合批处理,这类工作支持异步大数据分析。由于存储是延迟的常见来源,固态存储设备是实时分析的流行选项。
闪存可以通过多种方式实现:作为传统磁盘阵列上的一层、作为网络连接存储(NAS)系统或应用服务器本身。这个服务器端flash实现之所以受到欢迎,是因为它提供了最低的延迟(存储距离CPU最近),并且提供了一种只需要几百gb容量就可以开始的方法。SAS/SATA固态硬盘(ssd)是一种选择,但基于PCI Express (PCIe)卡的固态硬盘正在成为性能应用程序(如实时分析)的标准,因为这种实现提供了最低的延迟。
目前,有多家公司提供PCIe闪存,包括Fusion-io、LSI、美光科技、SanDisk、sTec(现为西部数据旗下HGST的一部分)、Violin Memory和Virident(即将被西部数据收购)。所有主要的服务器和存储供应商也提供PCIe解决方案,许多是通过与这些固态设备公司签订OEM协议。
尽管PCIe卡现在可以提供多达10tb的闪存容量,但仍然需要共享存储池。一个解决方案是使用Virident的FlashMAX Connect软件这样的技术,它可以在PCIe卡之间共享闪存容量,甚至通过InfiniBand在服务器之间共享闪存容量。这对于扩展可用的闪存容量非常有用,特别是在PCIe插槽可用性有限的服务器或支持VMware的vSphere Storage vMotion的服务器上。通过在多个服务器上共享闪存,这些解决方案还可以提供故障转移和高可用性功能。
另一个选择是通过InfiniBand、光纤通道甚至PCIe连接的全闪存阵列。这些系统的容量范围从小于10tb到大于100tb(具有可扩展的模块化架构)。这些高端解决方案提供高达100万IOPS的性能和低至几百微秒的名义延迟。大多数主要的存储公司都有一些全闪存产品,但除了IBM收购的德克萨斯存储公司,较小的公司有更多的产品可以提供,也有更长的记录。这些公司包括Kaminario, Nimbus Data Systems, Pure Storage, Tegile, Whiptail(即将被思科系统收购)和Violin Memory。
异步大数据分析
涉及异步处理的大数据分析遵循capture store Analysis工作流,在该工作流中记录数据(通过传感器、Web服务器、销售点终端、移动设备等),然后发送到存储系统在进行分析之前。由于这些类型的分析是使用传统的关系数据库管理系统(RDBMS)完成的,因此必须将数据转换或转换为RDBMS可以使用的结构,例如行和列,并且必须与正在分析的其他数据集保持一致。
这个过程叫做提取、转换、加载或ETL. 它从源系统中提取(提取)数据,规范化(转换)数据集,然后将数据发送到仓库(load)进行存储,直到对其进行分析。在传统的数据库环境中,这个ETL步骤很简单,因为分析是相当有名的财务报告、销售和营销、企业资源规划等。但对于大数据,ETL可能成为一个复杂的过程,在这个过程中,每个数据源的转换步骤都不同,每个数据源本身也不同。
当分析运行时,数据会从仓库中提取并输入到RDBMS中,结果用于生成报告或支持其他商业智能应用程序。为了与大数据假设保持一致,通常会保留原始数据集和转换后的数据,因为它们可能需要为未来的工作重新转换。
异步大数据分析存储
异步存储的存储挑战大数据用例关注容量、可扩展性、可预测的性能(规模),尤其是提供这些功能的成本。虽然数据仓库可以生成非常大的数据集,但基于磁带的存储的延迟可能太大。此外,在这些容量点上,传统的“扩展”磁盘存储体系结构通常不具有成本效益。
水平扩展存储。A.水平扩展存储架构使用集群化的模块或节点作为单个存储池(通常带有文件系统接口),可以为大数据分析提供一个有吸引力的解决方案。一些示例包括Dell EqualLogic、EMC Isilon、Exablox(也是基于对象的)、Gridstore、HP StoreAll(以前的Ibrix)和IBM Scale Out Network Attached Storage (SONAS)。由于每个节点都包含处理能力和磁盘存储,因此它们实际上可以扩展性能和容量。
Hadoop还被用作存储框架,使公司能够使用低成本硬件构建自己的高可扩展存储系统,并提供最大的灵活性。Hadoop运行在一个节点集群上,每个节点都有存储容量和计算能力,通常用于处理数据。其他节点协调这些处理作业并管理分布式存储池,通常使用Hadoop分布式文件系统(HDFS),尽管其他存储系统也可以使用Hadoop群集。
但是Hadoop,特别是HDFS,需要创建三份数据副本来支持它所设计的高可用性环境。这对于tb范围的数据集来说很好,但是当容量是pb时,HDFS的存储成本会非常高。甚至扩展存储系统也可能遇到同样的问题,因为许多存储系统使用RAID在卷级提供数据保护,在系统级提供复制。基于对象的存储技术可以为可能遇到这种数据冗余问题的大型环境提供解决方案。
对象存储。基于对象的存储体系结构可以通过使用灵活的数据对象和简单的索引来取代许多人使用的分层存储体系结构,从而大大增强横向扩展存储的好处。这可以实现几乎无限的扩展,并进一步提高性能。包含擦除编码的对象存储系统不需要使用RAID或复制来保护数据,从而大大提高了存储效率。
具有擦除编码的对象存储系统无需创建两个或三个额外副本(200%到300%的容量开销),再加上正在使用的RAID方案的开销,只需50%或60%的开销就可以实现更高级别的数据保护。在大数据存储环境中,节省的成本可能是巨大的。市场上有许多对象存储系统,包括Caringo, DataDirect Networks Web object Scaler, NetApp StorageGRID, Quantum Lattus和开源OpenStack SwiftCeph。
一些对象存储系统,比如Cleversafe,甚至与Hadoop兼容。在这些实现中,Hadoop软件组件将运行在对象存储节点的CPU上,对象存储系统将取代存储集群中的HDFS。
大数据存储的底线
大数据分析似乎是一种IT“灵丹妙药”,越来越多的公司相信这会给他们带来成功。但是,正如新疗法经常出现的情况一样,通常会有副作用——在这种情况下,这是当前存储技术的现实。传统存储系统可能无法满足需要极低延迟的实时大数据应用程序和可以聚集巨大数据仓库的数据挖掘应用程序的需求。为了让大数据分析这头猛兽继续生存,存储系统必须快速、可扩展且经济高效。
Flash存储解决方案,为高性能、低延迟的存储提供了一些有趣的替代方案,容量从几个tb到100 tb或更多。基于对象的、具有擦除编码的扩展架构可以提供可伸缩的存储系统,避免传统的RAID和复制方法,以达到新的效率水平和更低的每千兆字节成本。
关于作者:
Eric松弛他是Storage Switzerland的高级分析师,这是一家专注于存储和虚拟化的IT分析公司。