深度解析大数据处理系统关键层次架构

本文深度解析了大数据处理系统的层次架构,包括数据存储层的ACID和BASE两大阵营,如Dynamo、Cassandra、HBase等;资源管理器层的YARN和Mesos;调度器的作业调度器和协调器;计算框架如Spark、Flink、MapReduce等;数据分析层的工具如Pig、Hive;数据集成层的摄入/消息传递、ETL/工作流等;以及操作框架中的监测管理和基准测试工具。对于大数据从业者和学习者,提供了全面的理解和参考。
摘要由CSDN通过智能技术生成

在数据存储层,还有很多类似的系统和某些系统的变种,这里,仅仅列出较为出名的几个。

一、数据存储层

宽泛地讲,据对一致性(consistency)要求的强弱不同,分布式数据存储策略,可分为ACID和BASE两大阵营。

ACID是指数据库事务具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。ACID中的一致性要求比较强,事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。

BASE对一致性要求较弱,它的三个特征分别是:基本可用(Basically Available), 软状态/柔性事务(Soft-state,即状态可以有一段时间的不同步), 最终一致性(Eventual consistency)。BASE还进一步细分基于键值的,基于文档的和基于列和图形的 – 细分的依据取决于底层架构和所支持的数据结构(注:BASE完全不同于ACID模型,它以牺牲强一致性,获得基本可用性和柔性可靠性,并要求达到最终一致性)。在数据存储层,还有很多类似的系统和某些系统的变种,这里,我仅仅列出较为出名的几个。如漏掉某些重要系统,还请谅解。

1、BASE

(1)键值存储(Key Value Stores)

Dynamo:这是由亚马逊工程师们设计的基于键值的高可用的分布式存储系统(注:Dynamo放弃了数据建模的能力,所有的数据对象采用最简单的Key-value模型存储,可简单地将Dynamo理解为一个巨大的Map。Dynamo是牺牲了部分一致性,来换取整个系统的高可用性)。

Cassandra:这是由Facebook工程师设计的一个离散的分布式结构化存储系统,受亚马逊的Dynamo启发,Cassandra采用的是面向多维的键值或面向列的数据存储格式(注:Cassandra可用来管理分布在大量廉价服务器上的巨量结构化数据,并同时提供没有单点故障的高可用服务)。

Voldemort:这又是一个受亚马逊的Dynamo启发的分布式存储作品,由全球最大的职业社交网站LinkedIn的工程师们开发而成。

(2)面向列的存储(Column Oriented Stores)

BigTable:Bigtable是一个基于Google文件系统的分布式数据存储系统,是为谷歌打拼天下的“三驾马车”之一,另外两驾马车分别是分布式锁服务系统Chubby和下文将提到的MapReduce。

HBase:Hbase是一个分布式的、面向列的开源数据库。其设计理念源自谷歌的 BigTable,用Java语言编写而成。

Hypertable:Hypertable也是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable类似的模型。

(3)面向文档的存储(Document Oriented Stores)

CouchDB:这是一款面向文档的、开源数据存储管理系统。

MongoDB:是目前非常流行的一种非关系型(NoSQL)数据库。

(4)面向图(Graph)的存储

Neo4j:Neo4j是一款目前最为流行的高性能NoSQL 图数据库,它使用图来描述数据模型,把数据保存为图中的节点以及节点之间的关系。这是最流行的图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值