【数据湖仓架构】数据湖和仓库:范式简介

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 【数据湖仓架构】数据湖和仓库:范式简介

是时候将数据分析迁移到云端了——您选择数据仓库还是数据湖解决方案?了解这两种方法的优缺点。


数据分析平台正在转向云环境,例如亚马逊网络服务、微软 Azure 和谷歌云。

云环境提供了多种好处,例如可扩展性、可用性和可靠性。此外,云提供商有大量的原生组件可供构建。还有多种第三方工具可供选择,其中一些是专门为云设计的,可通过云市场获得。

工具自然倾向于强调自己在分析集成中的作用。当您尝试选择最佳工具集时,这通常会令人困惑。在这篇文章中,我们将详细介绍许多工具的优缺点。

这是一个由三部分组成的系列文章的第一篇,我们评估了基于数据仓库和数据湖的解决方案的基本方法或范式的差异。

博客系列

 

  • 数据湖和仓库第 1 部分:范式简介
  • 数据湖和仓库第 2 部分:Databricks 和雪花
  • 数据湖和仓库第 3 部分:Azure Synapse 观点

两种范式:数据湖与数据仓库

基于一些主要组件的选择,云分析解决方案可以分为两类:数据湖和数据仓库。简而言之,数据仓库解决方案传统上是集中式的,而数据湖解决方案则分散到核心。这两种方法都有其优势,并且通常用于略有不同的目的。如今,产品具有这两个类别的典型特征是很常见的。即便如此,产品仍然展示其原始类别及其观点。

让我们将这种基本类别方法称为范式。理解范式的基本哲学有助于理解全局。

在这篇文章中,我们深入挖掘了范式的特征和差异。我们首先将分析平台划分为典型的组件阶段。在此之后,我们讨论从两种范式的角度选择组件的方法。

在本系列的下一篇文章中,我们将讨论如何在一些流行的产品中看到范式。

数据分析平台通常根据它们所涵盖的过程部分分为多个阶段。典型的批量数据流水线平台如上图所示。但是,文章分析也适用于实时平台。这些工具可以从处理(绿色)或存储(蓝色)的角度进行分类。下面的工具行对应于它们在平台不同阶段的可用性。

例如,典型的数据湖解决方案由单独的处理和存储工具组成。在数据仓库的情况下,一个单一的解决方案通常同时兼顾处理和存储功能。让我们更清楚一点。

从处理(绿色)的角度来看,数据平台阶段是:

  • 摄取 (Ingest )- 使用 API 接口或 ELT/ETL 工具从源系统读取数据
  • 准备(Prepare)——数据将进行初步清理和检查
  • 转换和丰富(Transform & Enrich)——根据用例丰富和修改数据
  • 服务 (Serve)- 准备好的数据提供给选择的工具以供实际使用
  • 可视化和报告(Visualize & Report )——信息以可视化或报告的形式提供给最终用户

此外,大数据世界的当前趋势是根据应用的处理级别将数据存储在多个层中。数据存储层(蓝色)通常至少包括:

  • 原始(也称为青铜)——未处理的源数据,按原样存储
  • 精炼(银)——经过初步清理和标准化的质量验证数据。数据通常尚未修剪。
  • 已发布(金)——经过处理、组合和丰富的数据。通常,数据也已针对特定用例进行聚合和修剪。

数据存储层的确切覆盖范围因源而异,但此处的细节无关紧要。但是,重要的是要注意,尤其是在银层和金层中,数据可以存储不止一次。例如,黄金层通常为不同的使用场景提供多个版本的数据。

比较数据分析平台

传统上,数据分析平台是用于公司报告目的的解决方案。对于这个用例,基于关系数据库的数据仓库是事实上的标准。但是,数据仓库不太适合处理新类型的数据,通常称为大数据。问题是由于数据量、实时要求和类型多样性造成的,其中包括非结构化和半结构化数据。为了补充工具集,在过去十年左右开发了数据湖类型的解决方案。

根据 Wikipedia 中的一个非常广泛的定义,数据湖是一种可以以原始形式存储数据的解决方案。一般来说,这意味着任何文件格式的潜在存储容量都是无限的。在实践中,该术语还涵盖处理存储数据的工具。


市场上倾向于将产品展示为“整体数据湖解决方案”。通常他们是对的:理论上,即使是具有大硬盘驱动器的虚拟机也能让有能力的编码人员创建数据湖解决方案。自然,这种极简主义的定义不是很有用。

相反,考虑范式的差异更有意义:数据仓库的基本原则和基于数据湖的解决方案。

数据仓库:以有组织的结构提供的已清理数据

对于数据仓库范式,基本方法是提供一个集中式产品,使数据能够存储在有组织的层次结构中,通常以数据库表的形式。该解决方案包括表之间的外键引用细粒度数据加密详细的用户访问管理等内容。对数据的访问主要通过特定的数据仓库产品处理,通常使用 SQL 语言。

数据仓库范式的优点是能够定义向用户提供的数据和格式。通常,数据以经过处理和干净的格式提供。例如,这样我们就可以保证数据的有效性。此外,源系统和数据的变化至少在某种程度上对用户是隐藏的。

另一方面,作为限制,我们依赖单一的产品供应商。例如,只能以产品支持的方式从数据仓库解决方案中检索数据。此外,我们需要以一种或另一种方式为数据的检索付费。数据仓库解决方案也可能成为数据处理的资源瓶颈。最近,在解决后一个限制方面取得了重大进展。

数据湖:去中心化带来的自由

数据湖范式的核心原则是责任分散。借助大量工具,任何人都可以在访问管理的范围内使用任何数据层中的数据:青铜、白银和黄金。组织数据和表的关系是可以的,但是通常不强制使用,我们可以很容易地绕过它们。

数据湖解决方案的一个主要优势是计算和处理工具的去中心化数据科学家可以在自己的机器上使用青铜层数据进行 Python 图像分析,数据工程师可以使用 Apache Spark 修改银层数据,分析师可以通过报告工具利用黄金层数据。SQL 语言通常作为一种可能性提供。此外,计算是分散的,几乎没有瓶颈。


数据湖范式解决方案的一个主要弱点是缺乏数据组织,包括集中的元数据存储库。如果由于纠错或源系统修改而导致处理的数据更改,则可能非常难以跟踪。此外,不能始终保证数据的有效性或结构集中式数据湖元数据管理工具越来越多,但使用它们取决于开发过程。技术很少强制这样做。

结论:数据湖和数据仓库

在这篇文章中,我们讨论了数据仓库和基于数据湖的解决方案的基本方法或范式的差异。基于数据仓库的解决方案通常是集中式的,而数据湖解决方案则分散到核心。然而,这两个类别的工具都在发展,并且划分变得越来越不清晰。然而,理解范式方法有助于理解全局。

原则上,您可以纯粹在数据湖或基于数据仓库的解决方案上构建云数据分析平台

我见过大量基于数据湖工具的功能齐全的平台。在这些情况下,可以使用特定于用例的数据库数据集市来提供信息,而根本不需要数据仓库。

另一方面,也有成功的解决方案,其中整个平台都建立在数据仓库产品之上。数据直接读入数据仓库,在那里进行处理和服务。


但是,由于此处解释的差异,基于其中一种范例的解决方案不一定在所有情况下都是最佳的。他们的优势和基本理念是不同的。在处理青铜级和白银级数据时,在早期阶段利用基于数据湖的方法可能是有意义的。然后可以将数据存储在数据仓库中,以进一步组织成白银和黄金数据。通过这种方式,所有数据既可以用于快速实验的原始格式,也可以用于报告的结构格式。

这样,我们可以利用这两种方法的优势。


原文https://architect.pub/data-lakes-and-warehouses-intro-paradigms

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
5天前
|
存储 分布式计算 数据挖掘
数据架构 ODPS 是什么?
数据架构 ODPS 是什么?
50 7
|
5天前
|
数据采集 搜索推荐 数据管理
数据架构 CDP 是什么?
数据架构 CDP 是什么?
19 2
|
3月前
|
机器学习/深度学习 数据采集 人工智能
揭秘!47页文档拆解苹果智能,从架构、数据到训练和优化
【8月更文挑战第23天】苹果公司发布了一份47页的研究文档,深入解析了其在智能基础语言模型领域的探索与突破。文档揭示了苹果在此领域的雄厚实力,并分享了其独特的混合架构设计,该设计融合了Transformer与RNN的优势,显著提高了模型处理序列数据的效能与表现力。然而,这种架构也带来了诸如权重平衡与资源消耗等挑战。苹果利用海量、多样的高质量数据集训练模型,但确保数据质量及处理噪声仍需克服。此外,苹果采取了自监督与无监督学习相结合的高效训练策略,以增强模型的泛化与稳健性,但仍需解决预训练任务选择及超参数调优等问题。
149 66
|
2月前
|
存储 SQL 缓存
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
快手 OLAP 系统为内外多个场景提供数据服务,每天承载近 10 亿的查询请求。原有湖仓分离架构,由离线数据湖和实时数仓组成,面临存储冗余、资源抢占、治理复杂、查询调优难等问题。通过引入 Apache Doris 湖仓一体能力,替换了 Clickhouse ,升级为湖仓一体架构,并结合 Doris 的物化视图改写能力和自动物化服务,实现高性能的数据查询以及灵活的数据治理。
快手:从 Clickhouse 到 Apache Doris,实现湖仓分离向湖仓一体架构升级
|
3月前
|
存储 边缘计算 运维
实时数仓Hologres发展问题之实时数仓对Lambda架构的问题如何解决
实时数仓Hologres发展问题之实时数仓对Lambda架构的问题如何解决
63 2
|
10天前
|
数据采集 运维 DataWorks
DataWorks on EMR StarRocks,打造标准湖仓新范式
本文整理自阿里云计算平台产品专家周硕(簌篱)在阿里云DataWorks on EMR StarRocks解决方案介绍中的分享。介绍了阿里云DataWorks与EMR Serverless StarRocks的结合使用,详细阐述了在数据同步、数据消费、数据治理三大场景中的核心能力。DataWorks作为大数据开发治理平台,提供了从数据建模、数据集成、数据开发到数据治理的全链路解决方案,结合StarRocks的高性能分析能力,帮助企业实现OLAP分析、湖仓一体开发及数据综合治理,满足复杂业务场景下的需求,提升数据处理和分析效率。
39 4
|
15天前
|
前端开发 JavaScript API
探索JAMstack架构:现代Web开发的新范式
【10月更文挑战第28天】JAMstack架构是一种现代Web开发方法,以其高性能、高安全性和易于维护的特点受到开发者青睐。本文深入探讨了JAMstack的核心概念、优势、工具链及其如何改变Web开发方式,包括静态网站生成、API驱动和预渲染等关键技术。
|
19天前
|
存储 SQL 缓存
AnalyticDB 实时数仓架构解析
AnalyticDB 是阿里云自研的 OLAP 数据库,广泛应用于行为分析、数据报表、金融风控等应用场景,可支持 100 trillion 行记录、10PB 量级的数据规模,亚秒级完成交互式分析查询。本文是对 《 AnalyticDB: Real-time OLAP Database System at Alibaba Cloud 》的学习总结。
37 1
|
22天前
|
前端开发 JavaScript 安全
探索 JAMstack 架构:现代Web开发的新范式
【10月更文挑战第20天】JAMstack(JavaScript、APIs、Markup)架构是一种现代Web开发方法,通过预构建静态页面、动态功能通过APIs实现和依赖JavaScript,提供高性能、安全和可扩展的Web开发新范式。本文深入探讨其核心理念、优势、工具和最佳实践,帮助开发者理解和应用JAMstack。
|
1月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
179 1
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展