相比之下,传统系统需要一台非常大型而昂贵的服务器,配置足够强劲的计算能力,以及一台同样代价高昂的存储阵列来完成相同的任务。传统系统需要以一种相对连续的方式读取所有所需数据、运行分析操作并获取结论,在相同的数据量下,相比基于分布式计算的映射化简任务处理方式需要更长的处理时间。
这其中的不同可以这样简单概括。假如一家杂货店中有20个人要通过同一个收银台。假如每个人购买价值200美元的商品,并且需要2分钟来完成其所有采购货物的扫描。那么即便是最佳雇员也需要40分钟来处理这4,000美元的货物采购。不过如果采用分布式计算的方式:会有10个收银台,每个收银台只是配置一位低成本,兼职的高校学生,其处理每一项交易需要额外的50%时间(3分钟)。那么同样20个人只需要6分钟,而你仍可以获取4,000美金。从业务角度来看,将一项工作时间从40分钟压缩到6分钟意味着什么?利用多出的34分钟你又可以完成多少额外的工作?你可以进行更多的调研并对于市场趋势有更快的了解?这在业务方面就类似于你无须等待很久就能够得到所要的分析结果。
分布式计算也并非完美的方案。集群文件系统非常复杂,并且很多时候这种复杂性隐藏在HDFS管理员端建立分布式集群并使其高效运行需要花费大量的时间。此外,在HDFS中,保持所有数据位置(元数据)路径的数据映射(或称为命名节点,NameNode)在最新发布的Apache分布式计算中存在单点故障——其中一部分重要问题将会在下一个计划发布的主版本中解决。数据保护也依靠管理员进行控制;数据复制设置决定了每个数据文件在集群内复制的次数。默认的设置是3次,而这会使得整体容量较实际使用容量扩大了3倍。而且这只是本地集群内部的保护;远程站点内的备份容灾在现有版本的分布式计算中还未被考虑。要记住目前市场上还没有分布式计算的大牌专家;不过,诸如Cloudera、EMC以及MapR等公司目前在培训方面扮演着重要角色,而成形的专业团队仍需时日。这也是不应当被忽略的一件事。最近的研究显示利用这方面外部咨询服务的成本每年高达250,000美元。
大数据,更大的事实
以上各类不足,结合上该商业领域的巨大潜在市场,使得诸如EMC、IBM和NetApp等大型存储厂商关注着大数据的市场机会。各家厂商都发布了(或者其指日可待)设计用于分布式计算环境的存储系统,在可管理性、可扩展性以及数据保护方面帮助用户克服HDFS的欠缺点。其中大部分可以用开放式接口(比如NFS和CFS)替换HDFS存储层,而另一些提供其自有的映射化简框架版本,提供较开源分布更好的性能。一些提供可以填补开源HDFS差异的特性,比如通过标准的NFS和CFS接口在其它应用之间共享数据的能力,或者是数据保护和容灾方面的功能。
NetApp则采取了一种完全不同的方式。其内置了开源的分布式计算标准,并在数据节点上使用DAS。不同于以分布式计算的名义使用自有的文件系统,NetApp在低端的Engenio平台上使用SAS连接的JBOD充当DAS。而在命名节点方面,其使用NFS直连的FAS箱来提供从一个故障命名节点的快速恢复。这是“两个领域最佳”的混合的解决问题的方式。
市场是否会愿意购买更为可靠或更具应用潜力的工具,这仍有待观察,现在断言还为时过早。
大数据是真实的存在的,并且各不相同:不同类型的大数据需要不同的存储方式。如果你已经面临大数据的各项问题,面临一些阻碍,这表示你应当采取一些不同的方式,和供应商谈论需求的最佳的途径是直指问题本身,而不要围绕着大数据这个话题。你应当谈论业务问题和案例情况,这有助于将问题细化到某一特殊的负载上。这样你就能快速找到对应的存储解决之道了。