Hadoop与NoSQL最近一段时间已经成为网络行家最为青睐的技术选择方案,但根据某位开发人员兼技术撰稿人的观点,许多企业在此类技术的投入方面“热情过高”——事实上优秀的在线SQL方案也完全能够达到同样的效果。
自从雅虎技术团队以Hadoop为武器、一举将谷歌拉下神坛以来,众多企业相继把这项技术引入业务流程当中。但相对于高昂的资金投入、巨大的精力消耗,Hadoop技术所带来的优势却显得微乎其微。Tim O’Brien在本周三于圣克拉拉市举行的O’Reilly Strata大会上表达了以上观点。
“大家可能都有这种感觉,当我们在议程中谈到此类技术时,最终都将归结于其带来的巨大开支,”他指出。
鉴于大数据技术对人力成本的极高要求(我们需要高薪聘请懂得如何使用Hadoop的相关人才)、实施流程的昂贵投入(我们需要将数据迁移至NoSQL或 HDFS当中,否则将毫无可靠性可言)以及意外状况发生之频繁(用户可能不完全了解自己正在使用什么),O’Brien对技术行业及其拥趸的极高热情泼下一盆无情的冷水。
大数据是规模化的必然解决方案:如果大家需要监控所有横跨大陆的电话通话,MapReduce能帮上忙……如果大家需要以毫秒为单位搜索整个互联网内容,MapReduce能帮上忙;如果大家需要运行全球最大的社交网络,MapReduce能帮上忙;即使上述任务都引不起大家的兴趣,大数据技术在数据库扩展方面也能起到作用。
众多企业对“大数据”技术的追捧可谓不遗余力却又不辨是非,包括 MongoDB、Hadoop与Impala在内的全方位大数据方案导致公司技术堆栈既难于维护又不便理解,O’Brien表示。“我曾被无数次要求为生产流程提供帮助……但我甚至弄不清这些客户到底用了多少套数据库。”
对于某些大型企业,“大数据”产品的确是必要的;但对于其它规模较小的企业,大数据只能算是“实用性工具”;而另有一些企业只会在使用过程中“逐步被技术推向自己并不适合的解决方向,”他解释道。
如果大家只有10TB甚至更少的数据需要加以分析,那么Postgres或其它一些典型处理系统就完全能够搞定。但如果大家需要记录的数据已经以PB为单位,那么尽快向Hadoop或其它同类方案倾斜吧。“别再等了,这是惟一的出路,”他建议称。
位于金字塔顶部的技术驱动着80%的市场份额,O’Brien指出。“我并不是说新兴企业就一定不该使用Hadoop,但就我所经历的众多项目来看,小规模公司最好先从MySQL开始——毕竟大部分用户的有价值数据也就在GB级别。
即使是像谷歌这样的业界巨头也开始放下大数据前续技术BigTable与GFS学术论文的飘渺光环,由NoSQL及Hadoop社区的先驱者转向如今的“Spanner”数据库。
Spanner比其它同类产品更接似于SQL类关系型数据库,这一次谷歌算是相时而动。众多企业都已经开始选择这条道路,像TransLattice这类对Spanner架构进行重新实现的方案受到广泛关注。
也许NoSQL与Hadoop已经将不少企业带入了死胡同?随着营销预算的紧缩与O’Brien的指导性意见,企业在技术普及方面的过度膨胀问题已经凸显出来,刚刚接触到大数据技术的入门用户也开始抱持谨慎的态度。此类技术也许确实前景广阔,但其最终成效还是要以企业用户的聪明才智而定。