史上最全开源大数据工具汇总-阿里云开发者社区

开发者社区> 大数据> 正文

史上最全开源大数据工具汇总

简介: 史上最全的开源大数据工具,非常实用,请务必收藏!

史上最全的开源大数据工具,非常实用,请务必收藏!



查询引擎


  • Phoenix

Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写


  • Stinger

原叫Tez,下一代Hive, Hortonworks主导开发,运行在YARN上的DAG计算框架


  • Presto

Facebook开源


  • Spark SQL

Spark上的SQL执行引擎


  • Pig

基于Hadoop MapReduce的脚本语言


  • Cloudera Impala

参照Google Dremel实现,能运行在HDFS或HBase上,使用C++开发


  • Apache Drill

参照Google Dremel实现


  • Apache Tajo

一个运行在YARN上支持SQL的分布式数据仓库


  • Hive

基于Hadoop MapReduce的SQL查询引擎



流式计算


  • Facebook Puma

实时数据流分析


  • Twitter Rainbird

分布式实时统计系统,如网站的点击统计


  • Yahoo S4

Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的无主架构的流式系统


  • Twitter Storm

使用Java和Clojure实现


  • Samza

samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的。(准确的说,samza是通过模块化的形式来使用kafka的,因此可以构架在其他消息队列框架上,但出发点和默认实现是基于kafka)


  • DataTorrent

基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10亿个实时事件


  • Spark Streaming

Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。


  • Apache Flink

Apache Flink是一个高效、分布式、基于Java实现的通用大数据分析引擎,它具有分布式 MapReduce一类平台的高效性、灵活性和扩展性以及并行数据库查询优化方案,它支持批量和基于流的数据分析,且提供了基于Java和Scala的API。



迭代计算


  • Apache Hama

建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。


  • Apache Giraph

建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel


  • HaLoop

迭代的MapReduce


  • Twister

迭代的MapReduce


  • Spark GraphX

GraphX是 Spark中用于图(e.g., Web-Graphs and Social Networks)和图并行计算(e.g., PageRank and Collaborative Filtering)的API,可以认为是GraphLab(C++)和Pregel(C++)在Spark(Scala)上的重写及优化


离线计算


  • Hadoop MapReduce

经典的大数据批处理系统


  • Berkeley Spark

使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于MapReduce


  • Apache Flink

Apache Flink是一个高效、分布式、基于Java实现的通用大数据分析引擎,它具有分布式 MapReduce一类平台的高效性、灵活性和扩展性以及并行数据库查询优化方案,它支持批量和基于流的数据分析,且提供了基于Java和Scala的API。


键值存储


  • LevelDB

Google开源的高效KV编程库,注意它只是个库


  • RocksDB

Facebook开源的,基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上


  • HyperDex

下一代KV存储系统,支持strings、integers、floats、lists、maps和sets等丰富的数据类型


  • TokyoCabinet

日本人Mikio Hirabayashi(平林干雄)开发的一款DBM数据库,注意它只是个库(大名鼎鼎的DBM数据库qdbm就是Mikio Hirabayashi开发的),读写非常快


  • Voldemort

一个分布式键值存储系统,是Amazon Dynamo的一个开源克隆,LinkedIn开源


  • Amazon Dynamo

亚马逊的KV模式的存储平台,无主架构


  • Tair

淘宝出品的高性能、分布式、可扩展、高可靠的KV结构存储系统,专为小文件优化,并提供简单易用的接口(类似Map),Tair支持Java和C版本的客户端


  • Apache Accumulo

一个可靠的、可伸缩的、高性能的排序分布式的KV存储系统,参照Google Bigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。


  • Redis

使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、单机版KV数据库。从2010年3月15日起,Redis的开发工作由VMware主持


  • Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过Memcached协议与守护进程通信。


  • OceanBase

支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务


  • Amazon SimpleDB

一个可大规模伸缩、用 Erlang 编写的高可用数据存储


  • Vertica

惠普2011收购Vertica,Vertica是传统的关系型数据库,基于列存储,同时支持MPP,使用标准的SQL查询,可以和Hadoop/MapReduce进行集成


  • Cassandra

Hadoop成员,Facebook于2008将Cassandra开源,基于O(1)DHT的完全P2P架构


  • HyperTable

搜索引擎公司Zvents针对Bigtable的C++开源实现


  • FoundationDB

支持ACID事务处理的NoSQL数据库,提供非常好的性能、数据一致性和操作弹性


  • HBase

Bigtable在Hadoop中的实现,最初是Powerset公司为了处理自然语言搜索产生的海量数据而开展的项目


文件存储


  • CouchDB

面向文档的数据存储


  • MongoDB

文档数据库


  • Tachyon

加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon,它从底层重构了Hadoop平台。


  • KFS

GFS的C++开源版本


  • HDFS

GFS在Hadoop中的实现


资源管理


  • Twitter Mesos

Google Borg的翻版


  • Hadoop Yarn

类似于Mesos


日志收集系统


  • Facebook Scribe

Facebook开源的日志收集系统,能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理,常与Hadoop结合使用,Scribe用于向HDFS中Push日志


  • Cloudera Flume

Cloudera提供的日志收集系统,支持对日志的实时性收集


  • Logstash

日志管理、分析和传输工具,可配合kibana、ElasticSearch组建成日志查询系统


  • Fluentd

Fluentd是一个日志收集系统,它的特点在于其各部分均是可定制化的,你可以通过简单的配置,将日志收集到不同的地方。开源社区已经贡献了下面一些存储插件:MongoDB, Redis, CouchDB,Amazon S3, Amazon SQS, Scribe, 0MQ, AMQP, Delayed, Growl 等等。


  • Kibana

为日志提供友好的Web查询页面


消息系统


  • StormMQ


  • ZeroMQ

很底层的高性能网络库


  • RabbitMQ

在AMQP基础上完整的,可复用的企业消息系统


  • Apache ActiveMQ

能力强劲的开源消息总线


  • Jafka

开源的、高性能的、跨语言分布式消息系统,最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来


  • Apache Kafka

Linkedin于2010年12月份开源的分布式消息系统,它主要用于处理活跃的流式数据,由Scala写成


未完待续

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章