大数据应用:本地服务器存储胜过SAN?
2012-05-31 zol.博客 编辑:阙峥琰
磁盘存储就像是衣橱,永远不够用,在大数据时代,这一点尤为突出。“大数据”意味着需要比传统存储平台处理更多的数据。在为大数据选择存储服务时也并不是完全无迹可寻。
何谓大数据
首先,我们需要清楚大数据与其他类型数据的区别以及与之相关的技术(主要是分析应用程序)。大数据本身意味着非常多需要使用标准存储技术来处理的数据。大数据可能由TB级(或者甚至PB级)信息组成,既包括结构化数据(数据库、日志、SQL等)以及非结构化数据(社交媒体帖子、传感器、多媒体数据)。此外,大部分这些数据缺乏索引或者其他组织结构,可能由很多不同文件类型组成。
由于这些数据缺乏一致性,使标准处理和存储技术无计可施,而且运营开销以及庞大的数据量使我们难以使用传统的服务器和SAN方法来有效地进行处理。换句话说,大数据需要不同的处理方法:自己的平台,这也是Hadoop可以派上用场的地方。
Hadoop是一个开源分布式计算平台,它提供了一种建立平台的方法,这个平台由标准化硬件(服务器和内部服务器存储)组成,并形成集群能够并行处理大数据请求。在存储方面来看,这个开源项目的关键组成部分是Hadoop分布式文件系统(HDFS),该系统具有跨集群中多个成员存储非常大文件的能力。 HDFS通过创建多个数据块副本,然后将其分布在整个集群内的计算机节点,这提供了方便可靠极其快速的计算能力。
从目前来看,为大数据建立足够大的存储平台最简单的方法就是购买一套服务器,并为每台服务器配备数TB级的驱动器,然后让Hadoop来完成余下的工作。对于一些规模较小的企业而言,可能只要这么简单。然而,一旦考虑处理性能、算法复杂性和数据挖掘,这种方法可能不一定能够保证成功。
你的存储架构
这一切都归结到所涉及的存储结构和网络性能。对于经常分析大数据的企业而言,可能需要一个单独的基础设施,因为随着集群中计算节点的数量的增长,带宽开销也会增长。通常情况下,使用HDFS的多模计算集群在处理大数据时将会产生大量流量。这是因为Hadoop在集群的成员服务器间传输数据(以及计算资源)。
在大多数情况下,基于服务器的本地存储并没有高效率的优点,这也是为什么很多企业转向使用高速光纤结构的SAN来最大限度地提高吞吐量。然而,SAN 方法本身并不一定适合大数据部署。尤其是那些使用Hadoop的大数据部署,因为SAN承担集中硬盘上数据的责任,这反过来意味着每个计算服务器将需要访问相同的SAN来恢复正态分布的数据。
然而,当比较本地服务器存储和基于SAN的存储时,本地存储在两个方面占据优势:成本和整体性能。简而言之,没有在每个计算成员放置RAID的原始磁盘在处理HDFS请求时将胜过SAN,然而,基于服务器的磁盘存在缺点,主要是在可扩展性方面。
问题是当服务器依赖于本地存储时,你如何在必要的时候增加更多的容量。通常,有两种方式来处理这种困境。第一种方法是增加具有更多本地存储的额外的服务器。第二种方法是增加集群服务器的容量。这两种方法都需要购买和配置硬件,这将导致停机时间,可能还需要重新设计架构。然而,无论使用哪种方法都要比向 SAN增加容量要便宜,可以说,这是一个显著的成本优势。
然而,当涉及到Hadoop时,还有其他存储选择。例如,一些领先的存储厂商都在建立专门针对Hadoop和大数据分析的存储设备。这些供应商包括 EMC,目前提供Hadoop解决方案,例如Greenplum HD Data Computing Appliance。甲骨文正在考虑进一步深化Exadata系列设备,提供计算能力以及高速存储。
最后一个存储选择是云形式的存储,Cloudera、微软、Amazon和很多其他供应商都在提供基于云的大数据解决方案,这些解决方案能够提供处理能力、存储和支持。
在选择大数据存储解决方案时需要考虑究竟需要多少空间,分析频率如何以及需要处理什么类型的数据。这些因素,以及安全、预算和处理时间都是选择大数据存储解决方案时需要考虑的因素。
可能站在保险的角度来看,一个试点项目可能是一个不错的开始,商品硬件也是大数据试点项目的低成本投资选择。