《深入理解Hadoop(原书第2版)》——1.4大数据和事务性系统

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

本节书摘来自华章计算机《深入理解Hadoop(原书第2版)》一书中的第1章,第1.4节,作者 [美]萨米尔·瓦德卡(Sameer Wadkar),马杜·西德林埃(Madhu Siddalingaiah),杰森·文纳(Jason Venner),译 于博,冯傲风,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4大数据和事务性系统

以大数据作为参照来理解事务概念的发展变化是非常重要的。这个问题的讨论会涉及相应的NoSQL数据库。Hadoop系统使用HBase来作为自己的NoSQL数据存储。你也可以使用Cassandra或者云计算提供商(如Amazon Dynamo)的NoSQL系统来替代。

大多数的RDBMS使用者都要求数据库必须要遵守ACID准则,但是遵守这些准则是有系统代价的。当数据库后台需要处理峰值为每秒数百万次的事务操作的时候,要求苛刻地遵守ACID准则对数据库来说是个巨大的挑战。

ACID是atomicity(原子性)、consistency(一致性)、isolation(隔离性)和durability(持久性)的首字母简写。进一步详细讲解见:http://en.wikipedia.org/wiki/ACID

对苛刻的ACID准则做出妥协是必要的。做出妥协的理论依据就是著名的CAP理论(又称Brewer理论)。CAP理论是下面三点的首字母缩写:

  • Consistency(一致性):在分布式系统中的所有数据备份,在同一时刻有同样的值。
  • Availability(可用性):在合理且明确的时间内,保证每个请求都能获得成功或者失败的结果的响应。
  • Partition tolerance(分区容忍性): 在集群中一部分节点故障后,集群整体仍可使用。
  • 这个理论用来证明,任何分布式系统只能同时满足其中的两个特性,而无法三者兼顾。现在,让我们仔细地思考对比下面列出的各种系统:
  • 一致性和可用性:遵守ACID准则的单机RDBMS是兼顾一致性和可用性的系统的一个例子。但是不满足分区容忍性。如果这个RDBMS当机了,用户将无法访问数据。
  • 一致性和分区容忍性:一个RDBMS集群就是这样的系统。分布式事务保证了所有用户在同一时刻获取到相同的数据(一致性);数据的分布式存储天然地保证在集群部分节点故障的情况下,集群系统仍然可用。可是,分布式事务在满足系统一致性的同时,也有副作用,导致系统无法做到可用性,在两阶段提交事务执行期间,系统是不可用的。一致性限制了系统可以支持的同时执行的事务数量,反过来也影响到了系统的可用性。
  • 可用性和分区容忍性:本类别中这样的系统常常被归类为“最终一致性”系统。考虑一下流行的电子商务网站,比如亚马逊。假如你正在浏览商品目录,发现你需要的商品正好有货。在购买流程中很自然就可以想到,在你发现所需的商品有货并发起了购买请求这段时间内,其他人更早地进入并抢购了商品。所以有必要及时显示最新库存变化。库存变化将会广播到为用户提供服务的集群中的其他所有节点。为了给用户提供库存变化后的最新值,当商品库存变化后的数据在各个节点的传递还没有完成的时候,如果系统阻止了用户的访问,就会使网站丧失可用性,从而影响交易量。为了系统可用性和分区容忍性而牺牲系统一致性,我们选择这个折中来使多个节点为用户显示相同的数据(在一个小的时间窗内,用户看到的数据可能是不同的,这个时间窗的大小取决为用户提供服务的那个节点)。

如何做出折中选择,在大数据系统设计的时候是非常关键的。本书的主题MapReduce只是大数据生态环境中的一个组件。它常常与其他类似HBase这样的产品搭配使用,在选择不同产品配合使用的时候,在本章讲解的这些权衡中做出选择,是解决方案是否可行的关键。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
1月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
1月前
|
存储 数据可视化 数据挖掘
基于大数据的电影可视化、推荐与票房预测系统
本系统基于Python与Flask框架,结合Echarts等技术,实现电影数据的采集、存储与可视化展示。通过对票房、评分、评论等数据的分析,生成图表与词云,帮助用户直观理解电影市场趋势,支持决策制定与观影推荐,提升电影行业的数据分析能力与用户体验。
|
3月前
|
机器学习/深度学习 存储 分布式计算
ODPS驱动电商仓储革命:动态需求预测系统的落地实践
本方案基于ODPS构建“预测-仿真-决策”闭环系统,解决传统仓储中滞销积压与爆款缺货问题。通过动态特征工程、时空融合模型与库存仿真引擎,实现库存周转天数下降42%,缺货率下降65%,年损减少5000万以上,显著提升运营效率与GMV。
246 1
|
3月前
|
数据采集 搜索推荐 算法
大数据信息SEO优化系统软件
大数据信息SEO优化系统软件(V1.0)是公司基于“驱动企业价值持续增长”战略,针对企业网站、电商平台及内容营销场景深度定制的智能化搜索引擎优化解决方案。该软件以“提升搜索排名、精准引流获客”为核心目标,通过整合全网数据采集、智能关键词挖掘、内容质量分析、外链健康度监测等功能模块,为企业构建从数据洞察到策略落地的全链路SEO优化体系,助力品牌高效提升搜索引擎曝光度,实现从流量获取到商业转化的价值升级。
85 2
|
22天前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
28天前
|
数据采集 数据可视化 安全
基于python大数据的天气可视化分析预测系统
本研究探讨基于Python的天气预报数据可视化系统,旨在提升天气数据获取、分析与展示的效率与准确性。通过网络爬虫技术快速抓取实时天气数据,并运用数据可视化技术直观呈现天气变化趋势,为公众出行、农业生产及灾害预警提供科学支持,具有重要的现实意义与应用价值。
|
1月前
|
数据可视化 数据挖掘 大数据
基于python大数据的水文数据分析可视化系统
本研究针对水文数据分析中的整合难、分析单一和可视化不足等问题,提出构建基于Python的水文数据分析可视化系统。通过整合多源数据,结合大数据、云计算与人工智能技术,实现水文数据的高效处理、深度挖掘与直观展示,为水资源管理、防洪减灾和生态保护提供科学决策支持,具有重要的应用价值和社会意义。
|
1月前
|
数据采集 数据可视化 数据挖掘
基于python大数据的nba球员可视化分析系统
本课题围绕NBA球员数据分析与可视化展开,探讨如何利用大数据与可视化技术提升篮球运动的表现评估与决策支持能力。研究涵盖数据采集、处理与可视化呈现,结合SQLite、Flask、Echarts等技术构建分析系统,助力球队训练、战术制定及球迷观赛体验提升。
|
2月前
|
存储 数据挖掘 大数据
基于python大数据的用户行为数据分析系统
本系统基于Python大数据技术,深入研究用户行为数据分析,结合Pandas、NumPy等工具提升数据处理效率,利用B/S架构与MySQL数据库实现高效存储与访问。研究涵盖技术背景、学术与商业意义、国内外研究现状及PyCharm、Python语言等关键技术,助力企业精准营销与产品优化,具有广泛的应用前景与社会价值。
|
1月前
|
数据可视化 大数据 数据挖掘
基于python大数据的招聘数据可视化分析系统
本系统基于Python开发,整合多渠道招聘数据,利用数据分析与可视化技术,助力企业高效决策。核心功能包括数据采集、智能分析、可视化展示及权限管理,提升招聘效率与人才管理水平,推动人力资源管理数字化转型。

热门文章

最新文章