大数据开发综述(Awesome Big Data,未完待更新)
- 2020 年 5 月 17 日
- AI
- C/C++/C#, javascript, Python, 其 他, 卷积神经网络, 图神经网络, 循环神经网络, 数据库系统, 数据挖掘应用, 深度学习, 深度学习框架, 深度神经网络, 算法, 面试经验
目录清单
- 关系型数据库管理系统
- 框架
- 分布式编程
- 分布式文件系统
- Key-Map数据模型
- 数据文档模型
- Key-Value数据模型
- 图数据模型
- NewSQL数据库
- 列式数据库
- 时间序列数据库
- 类似SQL的处理系统
- 数据摄取
- 服务编程
- 调度
- 机器学习
- Benchmarking
- 安全
- 系统部署
- 应用程序
- 搜索引擎和框架
- MySQL 分支和演进
- PostgreSQL 分支和演进
- Memcached 分支和演进
- 嵌入式数据库
- 商业智能
- 数据可视化
- 物联网和传感器数据
- 有趣的阅读材料
- 有趣的论文
- 视频
- 图书
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.分布式文件系统
- Ambry – 一个分布式对象存储,支持存储数万亿个不变的小对象和数十亿个大对象。
- Apache HDFS – 一种跨多台计算机存储大文件的方法。
- Apache Kudu – Hadoop 的存储层,以实现对 FAST 数据的快速分析。
- BeeGFS – 以前的 FhGFS,并行分布式文件系统。
- Ceph Filesystem – 设计软件存储的平台。
- Disco DDFS – 分布式文件系统。
- Facebook Haystack – 对象存储系统。
- Google GFS – 分布式文件系统.
- Google Megastore – 可扩展、高度可用的存储。
- GridGain -GGFS,兼容 Hadoop 的内存文件系统。
- Lustre file system -高性能分布式文件系统。
- Microsoft Azure Data Lake Store – Azure 云 Quantcast 文件系统
- Quantcast File System QFS -开源分布式文件系统。
- Red Hat GlusterFS – 横向扩展网络连接存储文件系统。
- Seaweed-FS – 简单且高度可扩展的分布式文件系统。
- Alluxio – 跨群集框架以内存速度可靠地共享文件。
- Tahoe-LAFS – 分散式云存储系统。
- Baidu File System – 分布式文件系统。
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 ,目前国内虽然有人翻译完了这篇帖子,但还没有人详细讲解所有框架,所以我也打算挑战一下自己。谢谢大家支持