随着全球企业和个人数据的爆炸式增长,数据本身正在取代软件和硬件成为驱动信息技术行业和全球经济的下一个大“油田”。
与PC、web等断层式信息技术革命相比,大数据的最大的不同是,这是一场由“开源软件”驱动的革命。从IBM、Oracle等巨头到雨后春笋般的大数据创业公司,开源软件与大数据的结合迸发出惊人的产业颠覆性力量,甚至VMware这样的过去完全依赖专有软件的厂商都开始拥抱开源大数据工具。
下面,我们就列举九大最热门的大数据开源技术供大家参考。
一、hadoop
Apache Hadoop 是一个能够对大量数据进行分布式处理的开源软件框架。由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene的子项目 Nutch的一部分正式引入,Hadoop的开发者Doug Cutting最初开发Hadoop是为了满足开源web搜索引擎Nutch的集群处理需求,Cutting实现了MapReduce功能和分布式文件系统(HDFS),并整合成为Hadoop。Hadoop的命名灵感来自Cutting儿子的玩具大象。通过MapReduce,Hadoop将大数据分解成小块分配给各个通用服务器节点进行分布处理。Hadoop是目前最流行的大数据(包括非结构化、半结构化和结构化数据)存储和处理技术。Hadoop的开源授权方式是Apache License2.0。
二、R
R是开源编程语言和软件环境,被设计用来进行数据挖掘/分析和可视化。R是S语言的一种实现。而S语言是由 AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现版本主要是S-PLUS。但S-PLUS是一个商业软件,相比之下开源的R语言更受欢迎,被人们誉为“统计界的Red Hat”。
在KDNuggets2012年做的“过去与十二个月你在实际项目中使用的数据挖掘/分析工具”的调查中,R以30.7%的得票率荣登榜首,超过微软Excel(29.8%)和Rapidminer(2010和2011年排名第一)。值得注意的是,今年排名前五名的数据挖掘工具中有四个是开源软件。此外R还在击败SQL和Java,在最受欢迎的数据挖掘应用编程语言排行榜中排名第一。
三、Cascading
作为Hadoop的开源软件抽象层,Cascading允许用户使用任何基于JVM的语言在Hadoop集群上创建并执行数据处理工作流。Cascading能隐藏MapReduce任务底层的复杂性。Chris Wensel设计Cascading的目的是成为MapReduce的一个备用API。Cascading经常被用于广告定向统计、日志文件分析、生物信息学分析、机器学习、预测分析、web内容文本挖掘以及ETL应用。Cascading的商业支持由Concurrent公司提供,该公司由Cascading的设计者Wensel创建。使用Cascading的知名网站包括Twitter和Etsy。Cascading在GNU下开源。
四、Scribe
Scribe是Facebook开发的一种服务器软件,2008年发布。Scribe能实时聚合来自大量服务器的日志文件。Facebook设计Scribe的目的是应对自身的扩展性挑战,目前Facebook使用Scribe来处理每天数以百亿计的消息。Scribe在Apache License2.0下开源。
五、ElasticSearch
ElasticSearch基于ApacheLucene,开发者是Shay Banon。ElasticSearch是一个分布式的RESTful开源搜索服务器,同时也是一个可扩展的解决方案,无需特别配置就可支持支持接近实时的搜索和多租户。很多公司都采用了ElasticSearch,包括StumbleUpon和火狐Mozilla。ElasticSearch在Apache License2.0授权方式下开源。
六、Apache HBase
HBase是运行于HDFS之上的,可扩展的,面向列的,分布式非关系型数据库。HBase由Java语言写成,支持大表(Big Table)的结构化数据存储。HBase的优点是能进行容错存储,并能快速访问海量Sparse数据。HBase是过去几年中涌现的NoSQL数据库的代表之一。2010年Facebook采用HBase搭建消息平台,HBase在Apache License2.0下开源。
七、Apache Cassandra
Apache Cassandra是Facebook开发的开源的分布式数据库管理系统,用来实现用户收件箱内搜索功能,Cassandra同时也是一个NoSQL数据库。2010年,Facebook放弃了Cassandra转而采用HBase。但是Cassandra依然被一些公司采用,例如Netflix使用Cassandra作为视频服务的后台数据库。Cassandra在Apache License2.0下开源。
八、MongoDB
MongoDB由DoubleClick创始人开发,是一个流行的开源NoSQL数据库。MongoDB通过动态模式BSON在类JSON文档中存储结构化数据。MongoDB被很多大企业采用,包括MTV Networks、Craigslist、迪斯尼互动媒体集团、纽约时报和Etsy。MongoDB在GNU下开源,由10gen公司提供商业版授权。
九、Apache CouchDB
Apache CouchDB也是一个开源NoSQL数据库。使用JSON存储数据,用JavaScript作为查询语言,API使用MapReduce和HTTP。CouchDB由前IBM Lotus Notes开发者Damien Katz开发,作为大规模对象数据库的存储系统。注明媒体集团BBC就使用CouchDB作为动态内容平台,CouchDB在Apache License2.0下开源。
猜您喜欢: