《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一1.5 大数据系统应有的属性

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

本节书摘来自华章出版社《大数据系统构建:可扩展实时数据系统构建原理与最佳实践》一书中的第1章,第1.1节,南森·马茨(Nathan Marz) [美] 詹姆斯·沃伦(JamesWarren) 著 马延辉 向 磊 魏东琦 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.5 大数据系统应有的属性

你应该使大数据系统努力具备尽可能多的关于复杂性和可扩展性的属性。大数据系统不仅要运行良好、有效地使用资源,还必须易于推理。下面逐一介绍这些属性。

1.5.1 鲁棒性和容错性

面对分布式系统的挑战,构建“做正确的事”的系统并非易事。尽管会遇到机器随机出现故障、分布式数据库中一致性的复杂语义、重复的数据、并发性等问题,但系统仍需能够正确运行。这些挑战使得“推断系统在做什么”变得很难。使大数据系统具备鲁棒性的一部分工作是为了避免这些复杂性(挑战),以便你能很容易推断系统(即探索系统)。
正如之前所讨论的,系统必须是可以容忍人为错误的。这是系统中经常被忽视的属性,开发者应予以重视。在生产系统中,偶尔有人出差错是不可避免的,比如部署错误代码损坏了数据库中的值。如果你将不变性和重新计算性构建到大数据的核心系统中,那么该系统通过提供一个清晰、简单的恢复机制,就能很容易地适应人为错误。这些内容将在第2~7章中详细描述。

1.5.2 低延迟读取和更新

一方面,绝大多数的应用程序需要对读取操作有很低的延迟—这一时间通常是几毫秒到几百毫秒;另一方面,更新延迟的需求在不同应用程序之间有着很大的区别。一些应用程序需要更新操作立即传播,但其他应用程序延迟几个小时也是可以的。无论如何,大数据系统中如果需要低延迟更新,你就必须能够实现它。更重要的是,你需要在不影响系统鲁棒性的前提下,能够实现低延迟读取和更新。本书将从第12章开始介绍如何在速度层实现低延迟更新。

1.5.3 可扩展性

面对数据或负载的增加,可扩展性能够通过将资源添加到系统中来保持性能。Lambda架构在系统堆栈的所有层是水平可扩展的—扩展是通过添加更多的机器来实现的。

1.5.4 通用性

一个通用系统可以支持大多数应用程序。事实上,如果本书所述内容没有推及大多数的应用程序,那么它不会是非常有用的。因为Lambda架构是基于所有数据功能的,可以推广到所有应用程序,无论是财务管理系统、社交媒体分析、科学应用、社交网络,还是其他应用。

1.5.5 延展性

每次添加相关功能或对系统的工作方式做出一些改变时,你不需要重复劳动。具备可延展性的系统允许以最小的开发成本添加功能。
通常,一个新特性或一个现有功能的改变需要将旧数据迁移成新格式。系统具备可延展性的要素之一就是它容易实现大规模迁移。能够轻松、快捷地完成大规模迁移,是你将学习的方法的核心。

1.5.6 即席查询

几乎每个大型数据集中都有意料之外的值,因此,能够对数据进行即席(ad hoc)查询是非常重要的。此外,能够任意地挖掘数据集为业务优化和新的应用程序也提供了可能。最终,除非你可以问这些数据任意问题,否则你将不能利用数据发现有趣的事情。本书的第6章和第7章在讨论批处理时,将介绍进行即席查询的方法。

1.5.7 最少维护

维护是开发人员的重负,它是需要保持系统平稳运行的工作。包括预测什么时候添加用于扩展的机器、保持进程启动并运行以及调试生产环境中的任何错误。
减少维护的一个重要途径是选择实现复杂性尽量低的组件,即依赖底层具有简单机制的组件。特别是分布式数据库,它往往有着非常复杂的内部结构。系统越复杂,出错的可能性就越大,你越需要了解有关系统调试和优化的知识。
通过依靠简单的算法和组件,来降低实现复杂性,进而实现最少维护。Lambda架构采用的一个技巧是:将复杂性推出核心组件,并将其送到几小时后输出是可丢弃的系统的片段中。所使用的最复杂的组件,如读/写分布式数据库,在输出最终是可丢弃的这一层中。本书第12章在讨论速度层时将详细讨论该技术。

1.5.8 可调试性

一旦出错,大数据系统必须提供必要的信息来调试系统。关键是能够追踪系统中的每一个值,并能明确该值是如何产生的。
“可调试性”是在Lambda架构中通过批处理层的功能特性和尽可能使用重新计算算法来实现的。
将所有这些属性组合在同一个系统中实现,这看起来是一个令人生畏的挑战。但从基本原理出发,正如Lambda架构做的,这些属性将从最终的系统设计中自然而然地生成。
在深入介绍Lambda架构之前,我们来看更传统的架构—以依赖增量计算为特征—以及它们无法满足这些属性的原因。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
20天前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
2月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
2月前
|
存储 数据可视化 数据挖掘
基于大数据的电影可视化、推荐与票房预测系统
本系统基于Python与Flask框架,结合Echarts等技术,实现电影数据的采集、存储与可视化展示。通过对票房、评分、评论等数据的分析,生成图表与词云,帮助用户直观理解电影市场趋势,支持决策制定与观影推荐,提升电影行业的数据分析能力与用户体验。
|
4月前
|
机器学习/深度学习 存储 分布式计算
ODPS驱动电商仓储革命:动态需求预测系统的落地实践
本方案基于ODPS构建“预测-仿真-决策”闭环系统,解决传统仓储中滞销积压与爆款缺货问题。通过动态特征工程、时空融合模型与库存仿真引擎,实现库存周转天数下降42%,缺货率下降65%,年损减少5000万以上,显著提升运营效率与GMV。
391 1
|
3月前
|
机器学习/深度学习 算法 大数据
构建数据中台,为什么“湖仓一体”成了大厂标配?
在大数据时代,数据湖与数据仓库各具优势,但单一架构难以应对复杂业务需求。湖仓一体通过融合数据湖的灵活性与数据仓的规范性,实现数据分层治理、统一调度,既能承载海量多源数据,又能支撑高效分析决策,成为企业构建数据中台、推动智能化转型的关键路径。
|
4月前
|
数据采集 搜索推荐 算法
大数据信息SEO优化系统软件
大数据信息SEO优化系统软件(V1.0)是公司基于“驱动企业价值持续增长”战略,针对企业网站、电商平台及内容营销场景深度定制的智能化搜索引擎优化解决方案。该软件以“提升搜索排名、精准引流获客”为核心目标,通过整合全网数据采集、智能关键词挖掘、内容质量分析、外链健康度监测等功能模块,为企业构建从数据洞察到策略落地的全链路SEO优化体系,助力品牌高效提升搜索引擎曝光度,实现从流量获取到商业转化的价值升级。
105 2
|
19天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。