12月份虽然进入了一年中最冷的时候,但是丝毫不影响国内技术社区的热情,12月初举行的Hadoop中国2011云计算大会和PyCon中国2011大会就是例证。在盛会到来之前,我们不妨看看这些相关技术的最新发展趋势和动态,提前热热身。
Hadoop的热潮已经扑面而来。在InfoWorld最新公布的2011年十大新兴企业级技术中,Hadoop名列第四:
Hadoop由Apache Software Foundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入。Hadoop是一个能够对大量数据进行分布式处理的软件框架。但是Hadoop是以一种可靠、高效、可伸缩的方式进行处理的。Hadoop非常可靠,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。由于以并行的方式工作,通过并行处理加快处理速度,因此Hadoop效率很高。
各大公司和厂商也在积极地利用Hadoop解决自己和客户的问题。
eBay在Hadoop世界(Hadoop World)大会的主题演讲中展示了一种全新的搜索引擎Cassini的架构,它使用Apache Hadoop来支持每小时进行的索引更新,使用Apache HBase对随机存取信息提供支持。Hugh E. Williams介绍了项目的规模、使用的技术和完全重建eBay核心站点搜索过程中得到的经验。这次重建工作由100多位工程师耗时18个月完成。
新Cassini平台将能支持:9700万活动的买家和卖家;每天2.5亿次查询;2亿多件商品和5万多种分类。eBay已经在Hadoop和Teredata集群存储了9PB用来做分析的数据,但这将是生产环境里提供给用户直接使用第一个应用。Cassini将保留90天的历史数据在线——按照目前的规模是10亿条数据记录,包括用来做排名的用户和行为数据。支持搜索系统所需的大部分工作是由每小时在Hadoop上运行的批处理作业完成的。Hadoop环境使eBay能够恢复或重新分类整个站点的库存,这是一项重大改进。记录存储在HBase里,通常在每个小时索引更新的时候进行扫描。当一条新的记录上线,几分钟内就能从HBase里进行查询,并被加入实时索引里。Williams提到,团队熟悉Hadoop的运维,系统运行很稳定,基本没出什么问题。与此相反,他指出HBase似乎很难驾驭。
Amazon、Cloudera和IBM都发布了它们的Hadoop-as-a-Service产品,Microsoft的类似产品也将在明年问世:
Amazon是最早推出AWS Elastic MapReduce的,可以追溯到2009年,在EC2和S3上运行Apache Hadoop。同Amazon的其他IaaS产品一样,这项服务提供了大数据分析所需的最基本的硬件和软件,把很多配置和编程的工作留给了客户,这需要不少专业知识。假定公司有这样的能力,它可以成功配置并运行Hadoop任务,就像New York Times一样,以相当低廉的价格,在100个Amazon EC2实例上运行了一个24小时的Hadoop任务,将内容为1851年到1922年发表的公开文章的1100万张图片转换成了1.5TB的PDF文档。
Cloudera将Amazon的MapReduce服务又超正确的方向上推进了一步,推出了CDH3,这是一个调优过的Hadoop AMI,包含很多附加软件,可以帮助管理、运行Hadoop上的复杂任务,例如:Apache Mahout、Flume、Sqoop、Pig、Oozie、Hive、HBase、ZooKeeper、Whirr等等,其中大多数都是开源项目。但是目前还是有些问题,仍然需要大量的专业知识,安装、配置一些东西,CDH3安装指南(PDF)还是有不下175页的篇幅是在说明如何从基础开始,对JDK、CDH3、Snappy以及系统的其他部分进行配置的。
Microsoft最近在PASS Summit 2011上宣布他们会在Windows Azure和SQL Server中整合Hadoop-as-a-Service服务,在2012年提供给那些在其平台上处理大数据的公司。目前还没有太多的细节,只知道Microsoft 承诺会保持与Apache Hadoop的兼容性,并且将代码贡献给开源项目。他们还提供了一个基于Sqoop的SQL Server-Hadoop Connector,这让SQL数据表与Hadoop的HDFS之间的双向数据传输成为可能,因为Hadoop需要将数据保存在自己的文件系统中以保证能够高效地处理大量的数据。
IBM也发布了自己的产品,使用IBM InfoSphere BigInsights软件,在SmartCloud Enterprise上运行Hadoop。BigInsights有两个版本,基础版是免费的,非常适合项目评估,企业版用于生产环境。IBM的解决方案是迄今为止看起来最为成熟的,基于Watson技术,这是一个AI系统,它打败了两名今年的Jeopardy!最佳选手(译注:Jeopardy!是美国的一个电视智力竞猜节目,比赛问题内容涵盖多个方面,1964年开播至今)。Watson并非在大集群上运行Hadoop来回答问题,而是包含了超过100项技术来“分析自然语言,识别源数据,发现并生成假设,寻找证据并评分,对假设做合并和分级”。因此,这并不仅仅是一个运行大数据任务的平台,它还提供了发现数据并解释它的能力,这是处理问题的过程中最复杂的部分之一。
另一个值得一提的解决方案是EMC Greenplum Analytics Workbench,一个1000+物理节点的集群在运行Hadoop集成测试,是由EMC及Intel、Mellanox Technologies、Micron、Seagate、SuperMicro、Switch和VMware这些合作伙伴一同推出的。Greenplum并不提供Hadoop-as-a-Service,而是提供了一个超过10000虚拟节点和24 PB存储容量的平台,用于对Hadoop本身进行测试。
Hortonworks公司(由Yahoo!和Benchmark Capital于2011年7月联合创建),宣布了一款基于Hadoop的数据平台(Hortonworks Data Platform)的技术预览版。该公司雇佣了众多Hadoop项目的核心人员欲以提供相应的支持和培训。
Hadoop 0.20.205之外,HDP 1.0还将若干开源项目包含其中,用来增强其平台自身的管理能力,诸如:Ambari,一款开源的安装和管理系统。HCatalog,一个元数据管理系统,此外还有一些常见的与Hadoop平台相结合使用的,Pig、Hive、HBase及Zookeeper等。在接下来的几周里,Hortonworks计划发布基于Hadoop 0.23的HDP 2.0版本,该版本的Hadoop实现了下一代的MapReduce。
在激烈的市场环境中,与其他竞争者相比Hortonworks有着自己的优势。出身于名门Yahoo!,Hortonworks拥有着许多Hadoop架构师和源代码贡献者,这些源代码贡献者以前均效力于Yahoo!,而且已经为Apache Hadoop项目贡献了超过80%的源代码,Hortonworks这样说道。这些工程师同时也为分布式领域的一些其他项目(如HCatalog、Ambari和Pig等)做出了贡献,此外,在Yahoo!还都曾参与过在4万台服务器规模集群中运行Hadoop的经验。
正如李明(Nisa)在InfoQ《大数据时代的创新者们》一文中所说"Hadoop是大数据时代数据处理的首选":
脱胎于Google MapReduce的Hadoop凭借其开源和易用的特性,很快成为了大数据时代的最耀眼的主角。目前,Hadoop已经成为大数据生态环境中不可或缺的一环,是拥有海量数据处理需求的公司的标准配置,许多商业创新和产品创新也都是围绕着Hadoop展开的。
虽然Yahoo是Hadoop最大的贡献者,也进行了Hadoop的商业化,但却没法阻止其他的颇具实力的竞争者进入这个前途无限的领域。Cloudera便是其中最耀眼的一个。且不说联合创始人中有Facebook和Google的精英们,就连Hadoop的创始人Doug Cutting也从Yahoo离职加入了Cloudera,这一举动当时在业界还引起了不小的震动。Cloudera最开始的模式是帮助企业管理数据,后来则转型为软件厂商。他们推出的软件发布包可以帮助企业更方便地搭建以Hadoop为中心的数据管理平台。Cloudera也是通过技术支持、培训和咨询等付费服务来盈利的,目前融资已达3600万美元。
如果说Cloudera是依靠其华丽的精英团队来吸引客户的话,那么MapR则是通过过硬的产品来让业界认识到他们的价值。据称,经过MapR改造的Hadoop的速度可达原来的3倍。对于Hadoop的MapReduce模式,相信现在基本上已经没人提出质疑了,然而大家更关心的是,这玩意还能不能更快,MapR则很完美地回答了这个问题。EMC也宣布在一些产品使用MapR版本的Hadoop,而MapR也刚刚完成了2000万美元的融资。
除了速度以外,Hadoop的易用性也是一个用户所关心的问题。虽然相比较其他的框架而言,Hadoop已经简化了许多使用MapReduce技术时所需要做的工作,但是对于终端用户而言可能还算不得十分友好。近日宣布完成570万美元A轮融资的海量数据管理软件商Platfora,就在试图解决这个问题。Platfora旨在提供一个更为友好且更具操作性的用户界面,而且这个产品可以兼容包括Cloudera和MapR在内的各个Hadoop版本,能够大大降低使用Hadoop的门槛,让更多的公司体验到Hadoop的技术优势。
不仅仅是Hadoop本身,就连Hadoop的周边也不乏成功的创新者。AsterData已经成功地被老牌数据仓库厂商TeraData以2.63亿美元收购,他们的核心技术叫做SQL-to-MapReduce,可以将海量非结构化数据的处理技术和结构化数据的数据仓库技术结合在一起。而这种高速处理海量非结构化数据的能力,恰恰是传统数据仓库的公司所欠缺的,这也是为什么TeraData肯花如此大的价钱买下AsterData的原因。
在这样一个发展背景下,Hadoop中国2011云计算大会的召开就显得很必要,国内技术社区在Hadoop方面的实践应用还有较长的路要走,大会也安排了比较丰富的日程,主题包括:
PyCon中国2011大会是由Python软件基金会下的PyCon.Org授权中国举办的第一次PyCon China会议。
乍一想,读者可能觉得Python技术社区好像不是很火爆,有什么可说的?的确,相对于新生语言Dart以及Node.js平台来说,Python最近的新闻不是很多。不过,这恰恰说明,Python的发展进入了稳定的青壮年时期,已经低调地在各种场景中发挥着重要的作用。
不要忘记,Python赢得了Tiobe 2010年度语言大奖:
Python已经成为系统脚本“事实上”的标准(在这个领域,它是Perl的后继者),但现在它还应用到了各种不同类型的应用当中。Python是Web开发者热衷的语言,特别是与Django框架的结合。由于Python易学性,越来越多的大学开始将Python作为教学语言了。
最近,微软的开发部门发布了Python Tools for Visual Studio(PTVS)的RC版。除了支持CPython与IronPython的重构外,此次发布还提供了对MPI(Message Passing Interface)与Microsoft HPC(High Performance Computing)的支持。Visual Studio Ultimate用户还可以使用一款针对CPython的分析器。内建的项目模板有:Python/IronPython Console Applications、Python MPI Applications、IronPython with WPF、IronPython with Silverlight Web Page(本质上,它使用了Python而非JavaScript编写常规的网页)、IronPython with WinForms。Python开发最重要的方面之一就在于它的可交互性,而PTVS直接把一种Python REPL集成到了Visual Studio中。 REPL窗口可以供之前提到的几种Python变体语言使用,并且支持自动完成、语法突出显示和可视化等。对于习惯于IPython所提供的增强版REPL的用户,PTVS支持IPython 0.11。 对于使用IronPython的用户,REPL支持Sho。
Python已经成为Heroku的polygot平台官方支持的多种语言之一。Python曾是大家要求Heroku提供支持呼声最高的语言,与其同时提供支持的还有web框架Django。Adam将Python看做“静静成功的语言,与node这种一直在产生大量喧嚣的有所不同”。他在博客中补充道:
Python社区有其自身独特之处。在快速前进的创新和勤奋努力的小心之间寻找平衡,这是Python的文化。它强调可读性,最小化“魔法代码”,将文档看做第一等大事,并且拥有良好测试、后向兼容的版本发布传统,这在语言核心和其生态系统的开发库上都有体现。它让初学者很容易上手,同时大型项目维护起来也不困难,这使得它覆盖了科学计算、视频游戏、系统自动化和web等多个领域。
在Adam看来,Python培养了现代web框架的发展,比如Zope和Plone。这些框架引入的理念有:通过视图模板分离业务和展示逻辑、数据库交互用的ORM、还有测试驱动开发;早在Rails诞生5年之前,这些理念就已经体现在Zope之中了。它们没有在市场上获得成功,是因为它们比较复杂,学习曲线比较陡峭,远远超越了它们的时代。后来,尽管一开始Python社区没有太多介入,Django以Rails强有力竞争者的姿态出现。另一个成功的框架是Flask,这是Python的一个微型框架,使用Heroku的平台作为beta版本的一部分。
虽然是低调的成功,但是Python技术社区同样需要分享和交流, PyCon中国2011大会提供了这样的平台,来自国内外的技术专家会针对Python的各个方面做深入的剖析,其中让人期待的演讲包括:
更多技术会议和活动预告,请关注InfoQ中文站提供的《中国技术社区活动日历表》。