数据分析模式的演进
数据分析是一个不断变化的领域。稍微了解一下历史将帮助你欣赏到这一领域取得的进展,以及数据架构模式如何演进以满足不断变化的分析需求。
首先,让我们从一些定义开始:
- 什么是分析?分析被定义为将数据转化为洞察的任何行为。
- 什么是数据架构?数据架构是使数据的存储、转换、利用和治理成为可能的结构。
分析及支持分析的数据架构已经走过了很长的路。现在让我们来探讨一些在过去几十年中逐渐演变的模式。
本章探讨了数据增长的起源,并解释了对数据架构新范式的需求。本章首先检视了主导的范式——企业数据仓库,在20世纪90年代和2000年代很受欢迎。它探讨了与这一范式相关的挑战,然后介绍了导致数据激增的驱动因素。接着,它进一步探讨了新范式——数据湖的崛起及其面临的挑战。此外,本章最后提倡了对一个新的范式——数据湖仓的需求,并阐明了一个经过良好设计的数据湖仓所提供的关键优势。
我们将在以下主题中涵盖所有这些内容:
- 发现企业数据仓库时代
- 探索变革的五个因素
- 调查数据湖时代
- 介绍数据湖仓范式
探索企业数据仓库时代
由Ralph Kimball和Bill Inmon推广的企业数据仓库(EDW)模式在20世纪90年代和2000年代占主导地位。这一时代的需求相对较为简单(至少与当前背景相比是如此)。焦点主要集中在优化数据库结构以满足报告需求上。在这个时期,分析与报告是同义的。机器学习是一个专业领域,尚未在企业中普及。
下图展示了一个典型的企业数据仓库模式:
如图1.1所示,该模式涉及由数据库或平面文件结构组成的源系统。数据源主要是结构化的,即行和列。一个称为提取-转换-加载(ETL)的过程首先从源系统中提取数据。然后,该过程将数据转化为有利于分析的形状和形式。一旦数据被转换,就被加载到企业数据仓库(EDW)中。然后,数据的子集被填充到下游的数据集市中。数据集市可以被看作是满足特定部门业务需求的小型数据仓库。
正如你可以想象的,这一模式主要关注以下方面:
- 创建一个对存储进行优化并为报告建模的数据结构
- 关注业务的报告需求
- 将结构化数据转化为可操作的洞察
每个硬币都有两面。EDW模式也不例外。它有其优势和劣势。这一模式经受住了时间的考验。由于以下关键优势,它被广泛采用:
- 由于大多数分析需求与报告相关,这一模式有效地满足了许多组织的报告需求。
- 大型企业数据模型能够将组织的数据结构化为逻辑和物理模型。这一模式以模块化和高效的方式管理组织的数据。
- 由于这一模式只服务于结构化数据,因此用于利用结构化数据的技术得以发展,并且随时可用。关系数据库管理系统(RDBMS)得以发展,并被适当地用于报告的特性。
然而,它也面临一系列随着数据量增长和新的数据格式出现而浮出水面的挑战。与EDW模式相关的一些挑战包括:
- 这一模式不如变化迅速的业务需求希望它变得敏捷。对报告需求的任何更改都必须经过漫长的数据模型更改、ETL代码更改和报告系统的相应更改过程。通常,ETL过程是一种专业技能,并成为减少数据到洞察转化时间的瓶颈。分析的性质是独特的。你看到的产出越多,你就越要求。许多EDW项目被认为是失败的。失败并非来自技术角度,而是来自业务角度。在操作上,为了满足这些快速发展的需求而需要进行的设计更改太难处理了。
- 随着数据量的增长,这一模式变得成本过高。大规模的并行处理数据库技术开始演变,专门用于数据仓库工作负载。维护这些数据库的成本也是禁锢的。它涉及昂贵的软件价格、频繁的硬件更新和可观的人工成本。投资回报不再合理。
- 随着数据格式的演变,与EDW相关的挑战变得更为明显。数据库技术已经发展到可以满足半结构化数据(JSON)的需求。然而,基本概念仍然是基于关系数据库管理系统(RDBMS)。底层技术无法有效地满足这些新类型数据的需求。分析非结构化数据的价值更大。数据的多样性对EDW来说过于复杂,难以处理。
EDW主要专注于商业智能(BI)。它促进了定期报告的创建、自由数据分析和自助式BI。尽管它适应了大多数执行分析的角色,但不利于AI/ML用例。EDW中的数据已经被清理并以对报告的高度专注的方式进行了结构化。这留下了很少的空间供数据科学家(当时的统计建模者)探索数据并提出新的假设。简而言之,EDW主要关注于BI。
而EDW模式变得主流的同时,一场完美的风暴正在兴起,改变了数据架构模式。接下来的部分将专注于五个不同的因素,它们共同作用,以改变数据架构模式为善。
探索变革的五个因素
2007年改变了我们所知的世界;史蒂夫·乔布斯走上舞台宣布iPhone发布的那一天是数据时代的转折点。那一天酝酿出了完美的“数据”风暴。
完美风暴是由罕见的多种因素组合而成的气象事件。在数据演进的世界中,在过去的十年里发生了这样一场完美的风暴,它将数据推上了战略性企业资产的顶峰。五个因素引发了这场完美的“数据”风暴。
正如图1.2所示,形成完美风暴的有五个因素。数据的指数增长和计算能力的增加是前两个因素。这两个因素与存储成本的降低同时发生。人工智能的崛起和云计算的进步同时汇聚在一起,形成了这场完美的风暴。
这些因素独立发展并共同趋势,改变和塑造了产业。让我们简要地了解一下每个因素。
数据的指数增长
数据的指数增长是完美风暴的第一个因素。
根据国际数据公司(IDC)的数据,到2025年,生成的总数据量将达到约163 ZB(字节),即一万亿吉字节。而2010年,这个数字大约是0.5 ZB。这种数据的指数增长归因于互联网技术的巨大改进,推动了许多行业的增长。电信行业是发生转变的主要行业。这反过来又改变了许多其他行业。数据变得无处不在,每个企业都渴望更多的数据带宽。社交媒体平台也开始被广泛使用。像Facebook、Twitter和Instagram这样的平台在互联网空间里涌入了更多的数据。流媒体服务和电子商务也产生了大量的数据。这些生成的数据被用来塑造和影响消费者行为。最后但同样重要的是,物联网(IoT)领域的技术飞跃产生了大量的数据。
传统的企业数据仓库(EDW)模式无法应对这种数据增长。它们被设计用于处理结构化数据。大数据已经改变了可用数据的定义。现在的数据是庞大的(体积),其中一些是持续流动的(速度),以不同的形状和形式生成的(多样性),来自各种来源且带有噪声(真实性)。
计算能力的增加
计算能力的指数增长是完美风暴的第二个因素。
摩尔定律是美国工程师戈登·摩尔在1965年提出的一个预测,即每年硅芯片上的晶体管数量翻倍一次。迄今为止,这一定律一直忠实于其预测。2010年,微处理器上的晶体管数量约为20亿。到2020年,这一数字已经达到了540亿。计算能力的这种指数增长与提供无限计算能力的云计算技术的崛起密切相关,而且价格合理。
计算能力在一个合理的价格点上的增加为大数据提供了迫切需要的推动力。组织现在可以以更低的价格点采购越来越多的计算能力。云计算中可用的计算能力现在可以用于按需处理和分析数据。
存储成本的降低
存储成本的迅速降低是完美风暴的第三个因素。
存储成本也呈指数级下降。在2010年,将一GB数据存储到硬盘驱动器(HDD)中的平均成本约为0.1美元。而在10年后,这一数字降至大约0.01美元。在传统的企业数据仓库(EDW)模式中,组织必须谨慎选择哪些数据需要存储用于分析,哪些数据可以丢弃。保留数据是一项昂贵的提议。然而,存储成本的指数级下降意味着现在可以以之前成本的一小部分存储所有数据。现在无需挑选哪些数据应该被存储,哪些应该被丢弃。以任何形式的数据都可以以较低的价格进行存储。现在可以实施先存储,后分析的策略。
人工智能的崛起
人工智能(AI)系统并非新事物。实际上,它们的起源可以追溯到1950年代,当时使用统计模型基于过去的数据估计数据点的值。由于当时缺乏运行这些模型所需的计算能力和大量数据,这一领域在很长一段时间内未受到关注。
然而,在长时间的休眠之后,人工智能技术在2010年代初期迎来了复苏。这种复苏部分原因在于强大的计算资源的丰富和数据的充分可用。现在,人工智能模型可以更快地进行训练,并且结果惊人地准确。
存储成本降低和计算资源更加充足的因素对人工智能来说是一种福音。现在可以训练更加复杂的模型。
这对深度学习算法尤其是真实。例如,一种称为卷积神经网络(CNNs)的深度学习技术在图像检测方面变得非常流行。随着时间的推移,越来越深层次的神经网络被创建出来。现在,人工智能系统在检测对象方面已经超过了人类。
随着人工智能系统变得更加准确,它们变得越来越受欢迎。这推动了循环行为,越来越多的企业将人工智能应用于数字化转型议程中。
云计算的进步
完美“数据”风暴的第五个因素是云计算的崛起。云计算是计算和存储资源按需提供的服务。典型的公共云服务提供商包括亚马逊(AWS)、微软(Azure)和谷歌(GCP)等大型科技公司。云计算消除了在组织数据中心托管大型服务器的需求。根据在云中订阅的服务,组织还可以减少对软件和硬件维护的依赖。云以非常经济的价格提供了大量的按需服务。自2010年以来,云计算领域不断攀升。2010年,全球公共云的支出约为770亿美元,而到2020年已经达到约4410亿美元。云计算还促使了数字原生业务(DNB)的崛起。它推动了Uber、Deliveroo、TikTok和Instagram等组织的兴起,仅举几例。
云计算对数据而言是一种福音。随着云计算的兴起,数据现在可以以较低的成本存储。云提供的相对无限的计算能力意味着能够迅速转换数据。云计算还提供创新的数据平台,可以轻松点击利用。
这五个因素在一个适当的时刻相互交汇,挑战了现有的数据架构模式。完美“数据”风暴促使了一个以大数据为重点的新数据架构范式的崛起,即数据湖。
探讨数据湖时代
数据湖的起源可以追溯到2004年。在2004年,Google的研究人员Jeffery Dean和Sanjay Ghemawat发表了一篇题为《MapReduce: Simplified Data Processing on Large Clusters》的论文。这篇论文奠定了一项新技术的基础,演变成了Hadoop,最初的作者是Doug Cutting和Mike Cafarella。 Hadoop后来被整合到了Apache Software Foundation,这是一个分散的开源开发者社区。Hadoop一直是Apache生态系统中最重要的开源项目之一。 Hadoop基于一个简单的概念——分而治之。这个想法包括三个步骤:
- 将数据分发到多个文件,并将它们分布在集群中的各个节点上。
- 使用计算节点在每个集群节点上本地处理数据。
- 使用与每个节点通信并聚合数据以得到最终输出的编排器。 多年来,这个概念逐渐获得了推广,为分析出现了一种新的范式。这种架构范式就是数据湖范式。一个典型的数据湖模式可以在下图中描述:
这种模式解决了企业数据仓库(EDW)模式中普遍存在的挑战。数据湖架构模式能够提供的优势是显而易见的。其主要优势包括:
- 数据湖适用于结构化和非结构化数据。Hadoop生态系统最初是为存储和处理JSON、文本和图像等数据格式而开发的。而EDW模式并未设计用于存储或分析这些数据类型。
- 数据湖模式可以以相对较低的成本处理大量数据。数据湖可以存储和处理的数据量可达高TB或PB级。而EDW模式发现难以高效地存储和处理这么大量的数据。
- 数据湖能更好地应对快速变化的业务需求。不断发展的人工智能技术可以更好地利用数据湖。
尽管这种模式得到了广泛采用,但它也有自己的挑战。与这种模式相关的一些挑战包括:
- 数据湖很容易变成数据沼泽。数据湖接收各种形式的数据,并以其原始形式存储。其理念是首先摄取数据,然后再弄清楚如何处理它。这导致治理方面容易失控,对数据湖的治理变得具有挑战性。没有适当的数据治理,数据就会在数据湖的各个地方迅速增多,很快就变成了数据沼泽。
- 数据湖在技术快速发展方面也面临挑战。数据湖范式主要依赖于开源软件。开源软件迅速演变成难以管理的庞然大物。该软件主要由社区驱动,缺乏适当的企业支持。这导致了大量的维护开销和实施复杂性。企业需要的许多功能在开源软件中缺失,例如健壮的安全框架。
- 数据湖更注重于AI的支持,而非BI。随着开源软件演变,更多的关注点集中在支持人工智能上。人工智能正在经历自己的发展过程,并随着Hadoop的潮涌而起伏。而BI被视为过时,因为它已经成熟了。
很快就变得明显,单独采用数据湖模式在长期内是不可持续的。需要一种新的范式将这两种模式融合起来。
介绍数据湖仓范式
在2006年,英国数学家Clive Humbly创造了如今著名的短语:“数据是新石油。” 这就像透过水晶球,窥探未来。数据是组织的生命线。竞争优势取决于组织如何使用数据。在这个数字化转型的时代,数据管理至关重要。越来越多的组织正在拥抱数字化转型计划,而数据是这些转型的核心。
正如前面讨论的,企业数据仓库(EDW)和数据湖的范式在它们的时代是合适的。它们有它们的优势和挑战。需要出现一种新的范式,它在核心上是有纪律的,而在边缘上是灵活的。
新的数据架构范式被称为数据湖仓。它努力将数据湖和企业数据仓库(EDW)这两种范式的优势结合起来,同时尽量减少它们的挑战。
一个经过适当架构的数据湖仓提供了四个关键优势。
它从结构化和非结构化数据中获取洞察:数据湖仓架构应能够存储、转换和整合结构化和非结构化数据。它应能够将它们融合在一起,实现从数据中提取有价值洞察。
它满足组织的不同角色需求:数据是一道供不同角色品尝的美食。数据湖仓应能够满足这些角色的需求。数据湖仓满足一系列组织角色的需求,满足他们对洞察的要求。数据科学家应该有一个测试他们假设的场所。分析师应该能够使用他们选择的工具分析数据,业务用户应该能够准确及时地获得他们的报告。它使数据分析民主化。
它促进了强大治理框架的采用:数据湖架构模式的主要挑战是缺乏强大的治理框架。数据湖很容易变成数据沼泽。相比之下,企业数据仓库架构由于内容太少而受到过多治理的限制。数据湖仓架构力求在治理方面取得平衡。它力求为正确的数据类型实现适当的治理,并使正确的利益相关方能够访问。
它利用云计算:数据湖仓架构需要具备灵活性和创新性。该模式需要适应不断变化的组织需求,缩短数据转化为洞察的时间。为了实现这种灵活性,采用云计算技术是必不可少的。云计算平台提供所需的创新性。它提供了具有可伸缩性和灵活性的适当技术堆栈,并满足现代数据分析平台的需求。
数据湖仓范式解决了企业数据仓库和数据湖范式所面临的挑战。然而,它确实有自己一套需要管理的挑战。其中一些挑战包括:
- 架构复杂性: 鉴于数据湖仓模式融合了企业数据仓库和数据湖模式,它必然会具有相当一部分的架构复杂性。这种复杂性体现在实现该模式所需的多个组件中。架构模式是一种交换,因此在架构复杂性与潜在业务收益之间进行仔细权衡至关重要。数据湖仓架构需要小心谨慎地走这条路。
- 全面数据治理的需要: 与数据湖范式相关的挑战并没有随着数据湖仓范式的出现而神奇地消失。数据湖最大的问题之一是它容易变成数据沼泽。随着数据湖仓在范围和复杂性上的增长,缺乏全面治理框架是将数据湖仓变成沼泽的一种确切方式。
- 在灵活性与纪律之间平衡: 数据湖仓范式力求在核心上具有灵活性,以及在边缘上具有适应不断变化的业务需求的灵活性。它运作的原则是在核心上保持纪律,在边缘上保持灵活性。实现这一目标是一种谨慎的平衡行为,清晰地定义灵活性的界限和纪律的严格性。数据湖仓的管理者在确保这种平衡方面发挥着关键作用。
让我们回顾一下我们在本章讨论的内容。
总结
这一章是关于新范式的起源。了解起源是重要的,这样我们就能理解前任的不足之处以及新框架如何发展以解决这些不足之处。了解导致这种演变的驱动因素也很重要。技术领域的其他发展,如存储、云计算和人工智能,对数据架构产生了涟漪效应。在这一章中,我们首先探讨了长时间占主导地位的EDW架构模式。然后,我们探讨了导致完美的“数据”风暴的因素。随后,本章深入探讨了数据湖架构模式。接着讨论了新的架构范式——数据湖仓的需求。最后,本章总结了新架构范式的关键优势。
下一章旨在深入研究数据湖仓架构的组件。