|
类别
|
名称
|
官网
|
备注
|
|
查询引擎
|
Phoenix
|
|
Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写
|
|
Kylin
|
|
eBay开源的基于Hadoop的分布式OLAP分析引擎,旨在减少Hadoop在10亿行以上数据级别的情况下的查询延迟
|
|
Stinger
|
|
原叫Tez,下一代Hive,Hortonworks主导开发,运行在YARN上的DAG计算框架
|
|
Presto
|
|
Facebook开源
|
|
Shark
|
|
Spark上的SQL执行引擎,已演化成Spark-SQL和Hive on Spark
|
|
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
|
http://incubator.apache.org/s4/
|
Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的无主架构的流式系统
|
|
jStrom
|
|
阿里开源的经过优化的Java版Storm
|
|
Twitter Storm
|
http://storm.incubator.apache.org/
|
使用Java和Clojure实现
|
|
迭代计算
|
Apache Hama
|
|
建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。
|
|
Apache Giraph
|
|
建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel
|
|
HaLoop
|
|
迭代的MapReduce
|
|
Twister
|
|
迭代的MapReduce
|
|
离线计算
|
Hadoop MapReduce
|
|
经典的大数据批处理系统
|
|
Berkeley Spark
|
|
使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于MapReduce
|
|
Flink
|
|
和Spark类似的
|
|
Apache Ignite
|
|
内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台
|
|
DataTorrent
|
|
基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10亿个实时事件
|
|
嵌入式DB
|
Firebird
|
|
从Interbase派生出来的,支持SQL,支持事务
|
|
键值存储
|
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
|
https://accumulo.apache.org/
|
一个可靠的、可伸缩的、高性能的排序分布式的KV存储系统,参照Google Bigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。
|
|
Redis
|
|
使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、单机版KV数据库。从2010年3月15日起,Redis的开发工作由VMware主持
|
|
表格存储
|
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数据库,提供非常好的性能、数据一致性和操作弹性
|
|
MemSQL
|
|
前Facebook工程师创办的,号称世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务,原理是仅用内存并将SQL预编译为C++。
|
|
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组建成日志查询系统
|
|
kibana
|
|
为日志提供友好的Web查询页面
|
|
消息系统
|
StormMQ
|
|
|
|
ZeroMQ
|
|
很底层的高性能网络库
|
|
RabbitMQ
|
|
在AMQP基础上完整的,可复用的企业消息系统
|
|
Apache ActiveMQ
|
|
能力强劲的开源消息总线
|
|
Jafka
|
|
开源的、高性能的、跨语言分布式消息系统,最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来
|
|
Apache Kafka
|
|
Linkedin于2010年12月份开源的分布式消息系统,它主要用于处理活跃的流式数据,由Scala写成
|
|
分布式服务
|
ZooKeeper
|
|
分布式锁服务,PoxOS算法的实现,对应Google的Chubby
|
|
rethinkdb
|
|
|
|
etcd
|
|
一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。
|
|
RPC
|
Apache Avro
|
|
Hadoop中的RPC
|
|
grpc
|
|
一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。
|
|
Facebook Thrift
|
|
RPC,支持C++/Java/PHP等众多语言
|
|
集群管理
|
Nagios
|
|
监视系统运行状态和网络信息的监视系统
|
|
Ganglia
|
|
UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。
|
|
Apache Ambari
|
|
Hadoop成员,管理和监视Apache Hadoop集群的开源框架
|
|
基础设施
|
SSTable
|
|
源于Google,orted String Table
|
|
RecordIO
|
|
源于Google
|
|
Flat Buffers
|
|
针对游戏开发的,高效的跨平台序列化库,相比Proto Buffers开销更小,因为Flat Buffers没有解析过程
|
|
Protocol Buffers
|
|
Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。
|
|
Consistent Hashing
|
|
1997年由麻省理工学院提出,目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似,基本解决了在P2P环境中最为关键的问题——如何在动态的网络拓扑中分布存储和路由。
|
|
Netty
|
|
JBOSS提供的一个java开源框架,提供异步的、事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
|
|
BloomFilter
|
|
布隆过滤器,1970年由布隆提出,是一个很长的二进制矢量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中,优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。
|
|
搜索引擎
|
Nutch
|
|
开源Java 实现的搜索引擎,诞生Hadoop的地方。
|
|
Lucene
|
|
一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能。
|
|
SolrCloud
|
|
基于Solr和Zookeeper的分布式搜索, Solr4.0 的核心组件之一,主要思想是使用 Zookeeper 作为集群的配置信息中心
|
|
Solr
|
|
Solr是基于Lucene的搜索。
|
|
ElasticSearch
|
|
开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene之上的的搜索引擎。
|
|
Sphinx
|
|
一个基于SQL的全文检索引擎,可结合MySQL、PostgreSQL做全文检索,可提供比数据库本身更专业的搜索功能,单一索引可达1亿条记录,1000万条记录情况下的查询速度为0.x秒(毫秒级)。
|
|
SenseiDB
|
|
Linkin公司开发的一个开源分布式实时半结构化数据库,在全文索引的基础封装了Browse Query Language (BQL,类似SQL)的查询语法。
|
|
数据挖掘
|
Mahout
|
|
Hadoop成员,目标是建立一个可扩展的机器学习库
|
|
Iaas
|
OpenStack
|
|
美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作,旨在为公共及私有云的建设与管理提供软件的开源项目。6个核心项目:Nova(计算,Compute),Swift(对象存储,Object),Glance(镜像,Image),Keystone(身份,Identity),Horizon(自助门户,Dashboard),Quantum & Melange(网络&地址管理),另外还有若干社区项目,如Rackspace(负载均衡)、Rackspace(关系型数据库)。
|
|
Docker
|
|
应用容器引擎,让开发者可打包应用及依赖包到一个可移植的容器中,然后发布到Linux机器上,也可实现虚拟化。
|
|
Kubernetes
|
|
Google开源的容器集群管理系统
|
|
Imctfy
|
|
Google开源的Linux容器
|