大数据分布式技术栈清单
| 类别 | 名称 | 官网 | 备注 |
| 查询引擎 | Phoenix | https://phoenix.apache.org/ | Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写 |
| Kylin | http://kylin.io | eBay开源的基于Hadoop的分布式OLAP分析引擎,旨在减少Hadoop在10亿行以上数据级别的情况下的查询延迟 | |
| Stinger | http://hortonworks.com/labs/stinger/ | 原叫Tez,下一代Hive,Hortonworks主导开发,运行在YARN上的DAG计算框架 | |
| http://hortonworks.com/hadoop/tez/ | |||
| Presto | http://prestodb.io/ | Facebook开源 | |
| Shark | http://shark.cs.berkeley.edu/ | Spark上的SQL执行引擎,已演化成Spark-SQL和Hive on Spark | |
| Pig | http://pig.apache.org/ | 基于Hadoop MapReduce的脚本语言 | |
| Cloudera Impala | http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/impala.html | 参照Google Dremel实现,能运行在HDFS或HBase上,使用C++开发 | |
| Apache Drill | https://drill.apache.org/ | 参照Google Dremel实现 | |
| Apache Tajo | http://tajo.apache.org/ | 一个运行在YARN上支持SQL的分布式数据仓库 | |
| Hive | http://hive.apache.org/ | 基于Hadoop MapReduce的SQL查询引擎 | |
| 流式计算 | Facebook Puma | 实时数据流分析 | |
| Twitter Rainbird | 分布式实时统计系统,如网站的点击统计 | ||
| Yahoo S4 | http://incubator.apache.org/s4/ | Java开发的一个通用的、分布式的、可扩展的、分区容错的、可插拔的无主架构的流式系统 | |
| jStrom | https://github.com/alibaba/jstorm | 阿里开源的经过优化的Java版Storm | |
| Twitter Storm | http://storm.incubator.apache.org/ | 使用Java和Clojure实现 | |
| 迭代计算 | Apache Hama | https://hama.apache.org/ | 建立在Hadoop上基于BSP(Bulk Synchronous Parallel)的计算框架,模仿了Google的Pregel。 |
| Apache Giraph | https://giraph.apache.org/ | 建立在Hadoop上的可伸缩的分布式迭代图处理系统,灵感来自BSP(bulk synchronous parallel)和Google的Pregel | |
| HaLoop | https://code.google.com/p/haloop/ | 迭代的MapReduce | |
| Twister | http://www.iterativemapreduce.org/ | 迭代的MapReduce | |
| 离线计算 | Hadoop MapReduce | http://hadoop.apache.org/ | 经典的大数据批处理系统 |
| Berkeley Spark | http://spark.apache.org/ | 使用Scala语言实现,和MapReduce有较大的竞争关系,性能强于MapReduce | |
| http://shark.cs.berkeley.edu/ | |||
| Flink | https://flink.apache.org/ | 和Spark类似的 | |
| Apache Ignite | http://ignite.apache.org/ | 内存数据组织框架是一个高性能、集成化和分布式的内存计算和事务平台 | |
| DataTorrent | http://www.datatorrent.com/ | 基于Hadoop2.X构建的实时流式处理和分析平台,每秒可以处理超过10亿个实时事件 | |
| 嵌入式DB | Firebird | http://www.firebirdsql.org/ | 从Interbase派生出来的,支持SQL,支持事务 |
| 键值存储 | LevelDB | https://code.google.com/p/leveldb/ | Google开源的高效KV编程库,注意它只是个库 |
| RocksDB | http://rocksdb.org/ | Facebook开源的,基于Google的LevelDB,但提高了扩展性可以运行在多核处理器上 | |
| HyperDex | http://hyperdex.org/ | 下一代KV存储系统,支持strings、integers、floats、lists、maps和sets等丰富的数据类型 | |
| TokyoCabinet | http://fallabs.com/tokyocabinet/ | 日本人Mikio Hirabayashi(平林干雄)开发的一款DBM数据库,注意它只是个库(大名鼎鼎的DBM数据库qdbm就是Mikio Hirabayashi开发的),读写非常快 | |
| Voldemort | http://www.project-voldemort.com/voldemort/ | 一个分布式键值存储系统,是Amazon Dynamo的一个开源克隆,LinkedIn开源 | |
| Amazon Dynamo | https://github.com/dynamo/dynamo | 亚马逊的KV模式的存储平台,无主架构 | |
| Tair | http://tair.taobao.org/ | 淘宝出品的高性能、分布式、可扩展、高可靠的KV结构存储系统,专为小文件优化,并提供简单易用的接口(类似Map),Tair支持Java和C版本的客户端 | |
| Apache Accumulo | https://accumulo.apache.org/ | 一个可靠的、可伸缩的、高性能的排序分布式的KV存储系统,参照Google Bigtable而设计,建立在Hadoop、Thrift和Zookeeper之上。 | |
| Redis | http://redis.io/ | 使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、单机版KV数据库。从2010年3月15日起,Redis的开发工作由VMware主持 | |
| ignite | https://ignite.apache.org/ | 以内存为中心的数据平台。内存数组组织框架是一个高性能、集成和分布式的内存计算和事务平台,用于大规模的数据集处理,比传统的基于磁盘或闪存的技术具有更高的性能,同时他还为应用和不同的数据源之间提供高性能、分布式内存中数据组织管理的功能。 | |
| 表格存储 | OceanBase | https://github.com/alibaba/oceanbase | 支持海量数据的高性能分布式数据库系统,实现了数千亿条记录、数百TB数据上的跨行跨表事务 |
| Amazon SimpleDB | http://aws.amazon.com/cn/simpledb/ | 一个可大规模伸缩、用 Erlang 编写的高可用数据存储 | |
| Vertica | http://www.vertica.com/ | 惠普2011收购Vertica,Vertica是传统的关系型数据库,基于列存储,同时支持MPP,使用标准的SQL查询,可以和Hadoop/MapReduce进行集成 | |
| Cassandra | http://cassandra.apache.org/ | Hadoop成员,Facebook于2008将Cassandra开源,基于O(1)DHT的完全P2P架构 | |
| HyperTable | http://hypertable.org/ | 搜索引擎公司Zvents针对Bigtable的C++开源实现 | |
| FoundationDB | https://foundationdb.com/ | 支持ACID事务处理的NoSQL数据库,提供非常好的性能、数据一致性和操作弹性 | |
| MemSQL | http://www.memsql.com/ | 前Facebook工程师创办的,号称世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务,原理是仅用内存并将SQL预编译为C++。 | |
| HBase | http://hbase.apache.org/ | Bigtable在Hadoop中的实现,最初是Powerset公司为了处理自然语言搜索产生的海量数据而开展的项目 | |
| ClickHouse | https://clickhouse.tech/docs/en/ | ClickHouse 是一个真正的列式数据库管理系统(DBMS)。在 ClickHouse 中,数据始终是按列存储的,包括矢量(向量或列块)执行的过程。 | |
| 文件存储 | CouchDB | http://couchdb.apache.org/ | 面向文档的数据存储 |
| MongoDB | https://www.mongodb.org/ | 文档数据库 | |
| Tachyon | http://tachyon-project.org/ | 加州大学伯克利分校的AMPLab基于Hadoop的核心组件开发出一个更快的版本Tachyon,它从底层重构了Hadoop平台。 | |
| https://github.com/amplab/tachyon | |||
| KFS | http://code.google.com/p/kosmosfs/ | GFS的C++开源版本 | |
| HDFS | http://hadoop.apache.org/ | GFS在Hadoop中的实现 | |
| 资源管理 | Twitter Mesos | http://mesos.apache.org/ | Google Borg的翻版 |
| Hadoop Yarn | http://hadoop.apache.org/ | 类似于Mesos | |
| 日志收集系统 | Facebook Scribe | https://github.com/facebook/scribe | Facebook开源的日志收集系统,能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理,常与Hadoop结合使用,Scribe用于向HDFS中Push日志 |
| Cloudera Flume | http://flume.apache.org/ | Cloudera提供的日志收集系统,支持对日志的实时性收集 | |
| logstash | http://www.logstash.net/ | 日志管理、分析和传输工具,可配合kibana、ElasticSearch组建成日志查询系统 | |
| kibana | http://www.elasticsearch.org/overview/kibana/ | 为日志提供友好的Web查询页面 | |
| tlog | https://tlog.yomahub.com/ | 轻量级的分布式日志标记追踪神器,分布式服务中跟好的实现日志追踪 | |
| 消息系统 | StormMQ | http://stormmq.com/ | |
| ZeroMQ | http://zeromq.org/ | 很底层的高性能网络库 | |
| RabbitMQ | https://www.rabbitmq.com/ | 在AMQP基础上完整的,可复用的企业消息系统 | |
| Apache ActiveMQ | http://activemq.apache.org/ | 能力强劲的开源消息总线 | |
| Jafka | http://kafka.apache.org/ | 开源的、高性能的、跨语言分布式消息系统,最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来 | |
| Apache Kafka | http://kafka.apache.org/ | Linkedin于2010年12月份开源的分布式消息系统,它主要用于处理活跃的流式数据,由Scala写成 | |
| 分布式服务 | ZooKeeper | http://zookeeper.apache.org/ | 分布式锁服务,PoxOS算法的实现,对应Google的Chubby |
| rethinkdb | https://github.com/rethinkdb/rethinkdb | ||
| etcd | https://github.com/coreos/etcd | 一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。 | |
| RPC | Apache Avro | http://avro.apache.org/ | Hadoop中的RPC |
| grpc | http://www.grpc.io/ | 一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 | |
| https://github.com/grpc/grpc | |||
| Facebook Thrift | http://thrift.apache.org/ | RPC,支持C++/Java/PHP等众多语言 | |
| 集群管理 | Nagios | http://www.nagios.org/ | 监视系统运行状态和网络信息的监视系统 |
| Ganglia | http://ganglia.sourceforge.net/ | UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。 | |
| Apache Ambari | http://ambari.apache.org/ | Hadoop成员,管理和监视Apache Hadoop集群的开源框架 | |
| 基础设施 | SSTable | 源于Google,orted String Table | |
| RecordIO | 源于Google | ||
| Flat Buffers | https://github.com/google/flatbuffers | 针对游戏开发的,高效的跨平台序列化库,相比Proto Buffers开销更小,因为Flat Buffers没有解析过程 | |
| Protocol Buffers | http://code.google.com/p/protobuf/ | Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。 | |
| Consistent Hashing | 1997年由麻省理工学院提出,目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似,基本解决了在P2P环境中最为关键的问题——如何在动态的网络拓扑中分布存储和路由。 | ||
| Netty | http://netty.io/ | JBOSS提供的一个java开源框架,提供异步的、事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 | |
| BloomFilter | 布隆过滤器,1970年由布隆提出,是一个很长的二进制矢量和一系列随机映射函数,可以用于检索一个元素是否在一个集合中,优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 | ||
| 搜索引擎 | Nutch | https://nutch.apache.org/ | 开源Java 实现的搜索引擎,诞生Hadoop的地方。 |
| Lucene | http://lucene.apache.org/ | 一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能。 | |
| SolrCloud | 基于Solr和Zookeeper的分布式搜索, Solr4.0 的核心组件之一,主要思想是使用 Zookeeper 作为集群的配置信息中心 | ||
| Solr | https://lucene.apache.org/solr/ | Solr是基于Lucene的搜索。 | |
| ElasticSearch | http://www.elasticsearch.org/ | 开源的(Apache2协议),分布式的,RESTful的,构建在Apache Lucene之上的的搜索引擎。 | |
| http://www.elasticsearch.cn/ | |||
| Sphinx | http://sphinxsearch.com | 一个基于SQL的全文检索引擎,可结合MySQL、PostgreSQL做全文检索,可提供比数据库本身更专业的搜索功能,单一索引可达1亿条记录,1000万条记录情况下的查询速度为0.x秒(毫秒级)。 | |
| SenseiDB | http://senseidb.com | Linkin公司开发的一个开源分布式实时半结构化数据库,在全文索引的基础封装了Browse Query Language (BQL,类似SQL)的查询语法。 | |
| 数据挖掘 | Mahout | http://mahout.apache.org/ | Hadoop成员,目标是建立一个可扩展的机器学习库 |
| 向量数据库 | Qdrant | Quickstart — Qdrant Client documentation | Qdrant是一个开源的向量搜索引擎,由Qdrant团队开发。它提供了高性能的向量检索和相似度搜索功能,支持多种向量类型和距离度量方法。Qdrant还提供了丰富的查询语法和灵活的配置选项,使得用户可以根据自己的需求进行定制化的搜索。 |
| Iaas(基础设施即服务) | OpenStack | https://www.openstack.org/ | 美国国家航空航天局和Rackspace合作研发的,以Apache许可证授权云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作,旨在为公共及私有云的建设与管理提供软件的开源项目。6个核心项目:Nova(计算,Compute),Swift(对象存储,Object),Glance(镜像,Image),Keystone(身份,Identity),Horizon(自助门户,Dashboard),Quantum & Melange(网络&地址管理),另外还有若干社区项目,如Rackspace(负载均衡)、Rackspace(关系型数据库)。 |
| Docker | http://www.docker.io/ | 应用容器引擎,让开发者可打包应用及依赖包到一个可移植的容器中,然后发布到Linux机器上,也可实现虚拟化。 | |
| Kubernetes | https://github.com/GoogleCloudPlatform/kubernetes/ | Google开源的容器集群管理系统 | |
| Imctfy | https://github.com/google/Imctfy/ | Google开源的Linux容器 | |
| 任务调度 | dolphinschedler | https://dolphinscheduler.apache.org/zh-cn/ | 任务调度框架,支持流程编排,去中心化思想 |
| XXL-JOB | https://dolphinscheduler.apache.org/zh-cn/ | XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 | |
| 其他 | Akka框架 | Akka是JAVA虚拟机平台上构建高并发、分布式和容错应用的工具包和运行时。Akka用Scala语言编写,同时提供了Scala和Java的开发接口。Akka处理并发的方法基于Actor模型,Actor之间通信的唯一机制就是消息传递。 | |
| antlr | 强大的跨语言语法解析器。可以用来读取、处理、执行或翻译结构化文本或二进制文件。它被广泛用来构建语言,工具和框架。Antlr可以从语法上来生成一个可以构建和遍历解析树的解析器。 | ||
| flowable | 流程编排 | ||
|
Calcite |
Apache Calcite 快速入门指南 - 知乎 (zhihu.com) | Apache Calcite 是一个动态数据管理框架,提供了:SQL 解析、SQL 校验、SQL 查询优化、SQL 生成以及数据连接查询等典型数据库管理功能。Calcite 的目标是 One Size Fits All,即一种方案适应所有需求场景,希望能为不同计算平台和数据源提供统一的查询引擎,并以类似传统数据库的访问方式(SQL 和高级查询优化)来访问不同计算平台和数据源上的数据。 |
|
| presto | 数据库查询引擎,支持跨库跨数据库种类查询 | ||
| datax | 阿里的数据同步工具 | ||
| dynamic-datasource | 动态数据源 | ||
| redisson | 分布式锁 | ||
| apache tika | Apache Tika – Apache Tika |
Aoache Tka是一个内容分析工具包,可以检测上千种文件类型,并提取们的教据和文本。tka在设计上十分精5,单一的接口使它易于使用,在 索引警索引,内容分析,都深等诸多方面得到了 |
|
| iceoryx源码阅读(一)——全局概览 - 爱新觉罗·L - 博客园 (cnblogs.com) |
iceoryx是一种基于共享内存实现的进程间通信组件,实现零拷贝传输。 |


浙公网安备 33010602011771号