大数据开发综述(Awesome Big Data,未完待更新)

目录清单


  1. 关系型数据库管理系统
  2. 框架
  3. 分布式编程
  4. 分布式文件系统
  5. Key-Map数据模型
  6. 数据文档模型
  7. Key-Value数据模型
  8. 图数据模型
  9. NewSQL数据库
  10. 列式数据库
  11. 时间序列数据库
  12. 类似SQL的处理系统
  13. 数据摄取
  14. 服务编程
  15. 调度
  16. 机器学习
  17. Benchmarking
  18. 安全
  19. 系统部署
  20. 应用程序
  21. 搜索引擎和框架
  22. MySQL 分支和演进
  23. PostgreSQL 分支和演进
  24. Memcached 分支和演进
  25. 嵌入式数据库
  26. 商业智能
  27. 数据可视化
  28. 物联网和传感器数据
  29. 有趣的阅读材料
  30. 有趣的论文
  31. 视频
  32. 图书

1.关系型数据库


  • MySQL -世界上最受欢迎的开源数据库。
  • PostgreSQL -世界上最先进的开源数据库。
  • Oracle Database – 数据库-对象关系数据库管理系统。
  • Teradata – 高性能 MPP 数据仓库平台。

2.框架


  • Bistro – 用于批处理和流分析的通用数据处理引擎。 它基于一种新颖的数据模型,该模型通过函数表示数据并通过列操作处理数据,而不仅仅使用 MapReduce 或 SQL 等传统方法来设置操作。
  • IBM Streams – 用于分布式处理和实时分析的平台。 与大数据生态系统中的许多流行技术(Kafka,HDFS,Spark 等)集成。Apache Hadoop-分布式处理框架。 集成 MapReduce(并行处理),YARN(作业调度)和 HDFS(分布式文件系统)。
  • Apache Hadoop – 分布式处理框架。 集成 MapReduce(并行处理),YARN(作业调度)和 HDFS(分布式文件系统)。
  • Tigon -高吞吐量实时流处理框架。
  • Pachyderm – 基于 Docker 和 Kubernetes 构建的数据存储平台,可提供可重现的数据处理和分析。
  • Polyaxon – 一个可重现和可扩展的机器学习和深度学习的平台。

3.分布式编程


  • AddThis Hydra – 最初在 AddThis 开发的分布式数据处理和存储系统。
  • AMPLab SIMR -在 Hadoop MapReduce v1 上运行 Spark。
  • Apache APEX – 用于大数据流和批处理的统一企业平台。
  • Apache Beam – 用于定义和执行数据处理工作流的统一模型和一组特定于语言的 SDK。
  • Apache Crunch – 一个简单的 Java API,用于在普通 MapReduce 上实现连接和数据聚合等繁琐的任务。
  • Apache DataFu – 由 LinkedIn 开发的用于 Hadoop 和 Pig 的用户定义函数的集合。
  • Apache Flink – 高性能运行时和自动程序优化。
  • Apache Gearpump – 基于 Akka 的实时大数据流媒体引擎。
  • Apache Gora – 用于内存数据模型和持久性的框架。
  • Apache Hama – BSP(批量同步并行)计算框架。
  • 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 – 用于执行复杂的任务 DAG(有向无环图)的应用程序框架,基于 YARN。
  • 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 – 适用于 Hadoop 的 Python MapReduce 和 HDFS API。
  • Ray – 用于构建和运行分布式应用程序的快速而简单的框架。
  • Rackerlabs Blueflood – 多租户分布式度量处理系统
  • Skale – NodeJS 上的高性能分布式数据处理框架。
  • Stratosphere – 通用集群计算框架。
  • Streamdrill – 用于计算不同时间窗口内的事件流活动并查找最活跃的时间窗口
  • streamsx.topology – 支持在 Java、Python 或 Scala 中构建 IBM Streams 应用程序的库。
  • Tuktu – 易于使用的批量和流计算平台,使用 Scala、Akka 和 Play 构建!
  • Twitter Heron – Heron 是 Twitter 推出的替代 Storm 的实时、分布式、容错的流处理引擎。
  • Twitter Scalding – 用于 Map Reduce 作业的 Scala 库,基于 Cascading 构建。
  • Twitter Summingbird – Summingbird 是一个类库,它允许我们编写看起来像原生 Scala 或 Java 集合转换的 MapReduce 程序,并在许多着名的分布式 MapReduce 平台上执行,包括 Storm 和 Scalding,由 Twitter 开发。
  • Twitter TSAR – Twitter 的时间序列聚合器。
  • Wallaroo – 超快且有弹性的数据处理引擎。 大数据或快速数据-无需大惊小怪,无需 Java。

4.分布式文件系统


5.分布式索引


Pilosa 开源分布式位图索引,可显著加快跨多个海量数据集的查询速度。

6.文档数据模型


  • Actian Versant – 商用的面向对象的数据库管理系统。
  • Crate Data – 是一个开源的、可大规模扩展的数据存储。 它不需要管理。
  • Facebook Apollo – Facebook 的类似 Paxos 的 NoSQL 数据库。
  • jumboDB – 基于 Hadoop 的面向文档的数据存储区。
  • LinkedIn Espresso – 水平可伸缩的面向文档的 NoSQL 数据存储。
  • MarkLogic – 与架构无关的 Enterprise NoSQL 数据库技术。
  • Microsoft Azure DocumentDB – NoSQL 云数据库服务,协议支持 MongoDB
  • MongoDB – 面向文档的数据库系统。
  • RavenDB – 一个事务性的、开源的文档数据库。
  • RethinkDB – 支持表连接和 GROUP BY 等查询的文档数据库。

7.Key-Map 数据模型


注:业内有一些术语混淆,有两种不同的东西叫做“列式数据库”。 这里列出的一些是围绕“key-map”数据模型构建的分布式持久数据库:所有数据都有一个键(可能是组合的,如 key=<key1,key2>),key-value 对的映射与此键相关联。 在一些系统中,多个这样的值映射可以与一个键相关联,并且这些映射被称为“列族”(值映射键被称为“列”)。
另一组也可以称为“列式数据库”的技术的不同之处在于它在磁盘或内存中存储数据的方式–而不是以传统的方式存储数据,在传统方式中,给定键的所有列值都是相邻存储的,“逐行”地存储所有列值。 因此,获取给定键的所有列需要更多的工作,而获取给定列的所有值需要更少的工作。
前一组在这里被称为“键映射数据模型”。 这些存储和键值数据模型存储之间的界限相当模糊。

xxx

补充


之前打算毕业转大数据开发,但苦于在网上找学习资料的过程太过于繁琐,也对新手不友好。本文转自 //github.com/onurakpolat/awesome-bigdata目前国内虽然有人翻译完了这篇帖子,但还没有人详细讲解所有框架,所以我也打算挑战一下自己。谢谢大家支持