原创干货 | 史上最全的大数据学习资源(Awesome Big Data)

很多人在学习大数据的时候比较迷茫,不知从何学起,也不能够比较系统、全面的了解大数据框架。为此,过往记忆花了一个周末的时间把 Awesome Big Data (https://github.com/onurakpolat/awesome-bigdata)里近 600 个大数据相关的调度、存储、计算、数据库以及可视化等介绍全部翻译了一遍,供大家查漏补缺,全面学习,强烈建议收藏。更多大数据技术知识学习,请持续关注【过往记忆大数据】微信公众号。

关系型数据库管理系统
  • MySQL 世界上最流行的开源数据库。

  • PostgreSQL 世界上最先进的开源数据库。

  • Oracle Database - 对象关系数据库管理系统。

  • Teradata - 高性能 MPP 数据仓库平台。

框架
  • Bistro - 用于批处理和流分析的通用数据处理引擎。它基于一种新的数据模型,该模型通过函数来表示数据,并通过列操作来处理数据,而不仅仅使用 MapReduce 或 SQL 等传统方法来设置操作。

  • IBM Streams - 分布式处理和实时分析平台。可以和大数据生态系统中的许多流行技术 (Kafka、HDFS、Spark等) 集成

  • Apache Hadoop -分布式处理框架。集成了 MapReduce(并行处理)、YARN(作业调度)和HDFS(分布式文件系统)。

  • Tigon - 高吞吐的实时流处理框架。

  • Pachyderm - Pachyderm 是一个基于 Docker 和 Kubernetes 的数据存储平台,可以用在重复的数据处理和分析场景。

  • Polyaxon - 一个可复制、可扩展的机器学习和深度学习平台。

分布式编程
  • AddThis Hydra - 分布式数据处理和存储系统,最初由 AddThis 开发。

  • AMPLab SIMR - 在 Hadoop MapReduce v1 上运行 Spark。

  • Apache APEX - 用于大数据流和批处理的统一企业平台。

  • Apache Beam - 用于定义和执行数据处理工作流的统一模型和一组特定于语言的sdk。

  • Apache Crunch - 一个简单的Java API,用于处理 Join 和数据聚合之类的任务,这些任务在普通 MapReduce 上实现起来很繁琐。

  • Apache DataFu - 由 LinkedIn 为 Hadoop 和 Pig 开发的用户定义函数的集合。

  • Apache Flink - 分布式处理引擎框架,用于在无界和有界数据流上进行有状态计算。

  • Apache Gearpump -基于 Akka 的实时大数据流引擎。

  • Apache Gora - 内存数据模型和持久性框架。

  • Apache Hama - BSP(Bulk Synchronous Parallel)计算框架。

  • Apache MapReduce -在集群上使用并行分布式算法处理大型数据集的编程模型。

  • Apache Pig - 用于表达 Hadoop 数据分析程序的高级语言。

  • Apache REEF - 用来简化和统一低层大数据系统的保留性评估执行框架

  • Apache S4 - 一个常规用途的、分布式的、可伸缩的、容错的、可插入式的平台,主要用于处理连续的数据流

  • Apache Spark - 快速、通用的大规模数据处理引擎

  • Apache Spark Streaming - 实时流处理引擎,属于 Spark 的一部分.

  • Apache Storm - Twitter 开发的,可在 YARN 上进行流处理的框架。

  • Apache Samza -基于 Kafka 和 YARN 的流处理的框架

  • Apache Tez - 基于 YARN 的,可执行复杂 DAG (有向无环图)任务的应用程序框架。

  • Apache Twill - YARN 上的抽象,减少了开发分布式应用程序的复杂性。

  • Baidu Bigflow - 一个允许编写分布式计算程序的接口,它提供了许多简单、灵活、强大的 API 来轻松处理任何规模的数据。

  • Cascalog - 数据处理和查询库。

  • Cheetah - MapReduce 之上的高性能,用户自定义数据仓库。

  • Concurrent Cascading - Hadoop 上的数据管理/分析框架。

  • Damballa Parkour - 为 Clojure 开发的 MapReduce 库。

  • Datasalt Pangool - 可替代 MapReduce 范式.

  • DataTorrent StrAM -实时计算引擎,旨在以一种尽可能畅通的方式支持分布式、异步、实时的内存大数据计算,同时最小化开销和对性能的影响。

  • Facebook Corona - Hadoop 的增强,可以消除单点故障。

  • Facebook Peregrine - Map Reduce 框架.

  • Facebook Scuba - 分布式内存数据存储。

  • Google Dataflow - 创建数据管道来帮助我们摄取、转换和分析数据。

  • Google MapReduce - map reduce 框架.

  • Google MillWheel - 容错流处理框架。

  • IBM Streams - 用于分布式处理和实时分析的平台。 提供开箱即用的高级分析工具包,如地理空间,时间序列等。

  • JAQL - 声明式编程语言,用于处理结构化、半结构化和非结构化数据。

  • Kite - 一组库、工具、示例和文档,重点在于简化在 Hadoop 生态系统之上构建系统的过程。

  • Metamarkets Druid - 用于实时分析大型数据集的框架。

  • Netflix PigPen - 是 Clojure 语音的 Map-Reduce,可以编译到 Apache Pig 或者 Cascading 中

  • Nokia Disco - 诺基亚开发的 MapReduce 框架。

  • Onyx - 云的分布式计算。

  • Pinterest Pinlater - 异步作业执行系统。

  • Pydoop - 用 Python 编写,并采用 MapReduce 和 HDFS 技术对 Hadoop 进行扩展的 API。

  • Ray - 用于构建和运行分布式应用程序的快速而简单的框架。

  • Rackerlabs Blueflood - 多租户分布式度量处理系统

  • Skale - NodeJS 上的高性能分布式数据处理框架。

  • Stratosphere - 通用集群计算框架。

  • Streamdrill - streamdrill 在计算不同时间窗口上的事件流活动非常有用,并找出最活跃的时间窗口。

  • streamsx.topology - 用于在 Java,Python 或 Scala 中构建 IBM Streams 应用程序的库。

  • Tuktu - 易于使用的批处理和流式计算平台,可以使用 Scala,Akka 和 Play 构建!

  • Twitter Heron - 由 Twitter 开发的一个实时、分布式、容错的流处理引擎,主要用于代替 Storm。

  • Twitter Scalding - 用于 Map Reduce 作业的 Scala 库,基于 Cascading 构建。

  • Twitter Summingbird - Summingbird 是一个类库,它允许我们编写看起来像原生 Scala 或 Java 集合转换的 MapReduce 程序,并在许多着名的分布式 MapReduce 平台上执行,包括 Storm 和 Scalding,由 Twitter 开发。

  • Twitter TSAR - Twitter 开发的时间序列聚合器

  • Wallaroo - 超快弹性数据处理引擎,可以使有状态、分析、流处理和事件驱动的 AI 应用程序能够快速投入生产,而无需考虑规模。它为开发人员提供了几种语言的 api 来实现他们的自定义业务逻辑。

分布式文件系统
  • Ambry - 分布式对象存储,支持存储数万亿个小的不可变对象或者数十亿个大对象。

  • Apache HDFS - 提供对应用程序数据的高吞吐量访问的分布式文件系统。

  • Apache Kudu - Hadoop 的存储层可实现对数据的快速分析。

  • BeeGFS - 之前称为 FhGFS,是一种并行分布式文件系统。

  • Ceph Filesystem - 一个支持POSIX接口的文件系统

  • Disco DDFS - 分布式文件系统。

  • Facebook Haystack - 对象存储系统。

  • Google Colossus - 分布式文件系统 (GFS2).

  • Google GFS - 分布式文件系统。

  • Google Megastore - 可扩展、高可用的存储。

  • GridGain - GGFS, Hadoop 兼容的内存文件系统。

  • Lustre file system - 高性能分布式文件系统。

  • Microsoft Azure Data Lake Store - Azure 上兼容 HDFS 的存储

  • Quantcast File System QFS - 开源分布式文件系统。

  • Red Hat GlusterFS - 横向扩展网络附加的存储文件系统。

  • Seaweed-FS -简单且高度可伸缩的分布式文件系统。

  • Alluxio - 开源的基于内存的分布式存储系统。

  • Tahoe-LAFS - 去中心化的云存储系统。

  • Baidu File System - 分布式文件系统。

分布式索引
  • Pilosa 开源的分布式位图索引,极大地加速了跨多个大规模数据集的查询。

文档数据模型
  • Actian Versant - 面向对象的商业数据库管理系统。

  • Crate Data - 是一个开源的大规模可扩展数据存储,它不需要任何管理。

  • Facebook Apollo - Facebook 的类似于 Paxos 的 NoSQL 数据库。

  • jumboDB - 基于 Hadoop 的面向文档的数据存储。

  • LinkedIn Espresso - 可水平扩展的面向文档 NoSQL 数据存储。

  • MarkLogic - 模式无关的企业 NoSQL 数据库技术。

  • Microsoft Azure DocumentDB - NoSQL 云数据库服务,支持 MongoDB 协议

  • MongoDB - 面向文档的数据库系统。

  • RavenDB - 支持事务的开源文档数据库。

  • RethinkDB - 支持表 join 和 group by 等查询的文档数据库。

Key Map 数据模型

注意: 业界存在一些术语混淆,存在两种不同的东西被称为“列式数据库”。这里列出的一些是围绕“键 - 映射”数据模型构建的分布式持久性数据库:所有数据都有一个(可能是组合的)键,键值对的映射与之关联。在某些系统中,多个这样的值映射可以与一个键关联,这些映射称为“列族”(值映射键称为“列”)。

另一种也称为“列式数据库”的技术,特点是它在磁盘或内存中如何存储数据。 这些系统将所有行的相同列值数据存储在一起。 因此,需要做更多的工作来获得给定键的所有列,但是需要更少的工作来获得给定列的所有值。
前一种在这里称为“键映射数据模型”。 这些和 Key-value Data Model 存储之间的界限相当模糊。
后者更多地是关于存储格式而不是数据模型,这些数据库我们把它归到 Columnar Databases 里面去了。
你可以到 Prof. Daniel Abadi 的博文: 了解更多关于如何区分这两存储系统的讨论。 .
  • Apache Accumulo - 构建在 Hadoop 之上的分布式键值存储系统。

  • Apache Cassandra - 受 BigTable 启发的、面向列的分布式数据存储。

  • Apache HBase - 受 BigTable 启发的、面向列的分布式数据存储。

  • Baidu Tera - 受 BigTable 启发的一种大型分布式表格存储系统,具有高性能、可伸缩等存储特点,最初的设计是为了管理万亿量级的超链和网页信息。

  • Facebook HydraBase - 由 Facebook 开发的 HBase 演化版本。

  • Google BigTable - 面向列的分布式数据存储。

  • Google Cloud Datastore - 一个完全托管的无模式数据库,用于在 BigTable 上存储非关系数据。

  • Hypertable - 受 BigTable 启发的、面向列的分布式数据存储。

  • InfiniDB - 通过MySQL接口访问,并使用大规模并行处理来并行化查询。

  • Tephra - 使 HBase 支持事务

  • Twitter Manhattan - Twitter 开发的实时、多租户分布式数据库。

  • ScyllaDB - 使用 C++ 编写的面向列的分布式数据存储,完全兼容 Apache Cassandra。

Key-value 数据模型
  • Aerospike - 一个分布式,高可用的 K-V 类型的 NOSQL 数据库。提供类似传统数据库的ACID操作。

  • Amazon DynamoDB - 分布式 key/value 存储, Dynamo 论文的实现。

  • Badger - 一个快速、简单、高效和持久的键值存储,是用 Go 编写。

  • Bolt - 可在 Go 语言中使用的嵌入式键值数据库.

  • BTDB - .Net 中的 Key Value 数据库,包含 Object DB Layer, RPC, dynamic IL 等等。

  • BuntDB - Go 语言的一个快速,可嵌入,基于内存的键/值数据库,支持自定义索引和地理空间。

  • Edis - 协议兼容 Redis 的数据库,可替代 Redis。

  • ElephantDB - 专门用于从 Hadoop 导出数据的分布式数据库。

  • EventStore - 分布式时间序列数据库。

  • GridDB - 一款高度可扩展的 NoSQL 数据库,非常适用于物联网和大数据领域,还具有高可靠性和高性能这些特性。

  • HyperDex - 可扩展的下一代键值和文档存储,具有多种功能,包括一致性,容错性和高性能。

  • Ignite - 分布式内存网格数据库,具有可持久化,分布式事务,分布式计算等特点,此外还支持丰富的键值存储以及SQL语法。

  • LinkedIn Krati - 一个简单的持久化数据存储,具有非常低的延迟和高吞吐量。

  • Linkedin Voldemort - 分布式 key/value 存储系统。

  • Orac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值