Data Lake架构揭秘

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

1. 引入

为在组织的数据环境中创造最大价值,传统的决策支持系统架构难以满足该需求。需要开发新的架构模式以释放数据的价值。为了充分利用大数据的价值,组织需要拥有灵活的数据架构,并能够从其数据生态系统中获取最大价值。

Data Lake概念已经存在了一段时间。但是,我还是看到很多组织结构很难理解这个概念,因为他们对其的理解仍然禁锢在传统的企业数据仓库范式中。

本文将深入研究Data Lake架构模式的概念并设计一个架构模式。

2. 传统数仓(DWH)架构

传统的企业DWH架构模式已经使用了很多年。包括数据源、数据提取、转换和加载(ETL),并且在此过程中,会进行某种结构的创建,清理等。在EDW中需要预先定义数据模型(尺寸模型或3NF模型),然后创建数据集市,以用于OLAP多维数据分析以及自助式BI。

这种架构已经服务了很多年。

但是,这种架构存在一些固有的挑战,并且在大数据时代无法解决。其中一些如下:

  • 这种架构需要我们先了解数据。源系统的数据结构是什么,它拥有什么样的数据,基数是什么,应该如何根据业务需求对其进行建模,数据中是否存在异常等等?这是一项繁琐而复杂的工作,进行需求分析或数据分析都需要花费数月时间。并且项目期限往往需要几个月甚至几年。
  • 我们还必须对要存储的数据和要丢弃的数据做出选择和权衡。前期花费大量时间来决定引入什么,如何引入,如何存储,如何转换等。只有较少的时间花费在实际执行数据发现,数据挖掘以及增值业务上。

3. 数据定义

现在让我们简要地讨论一下对数据定义是如何变化的。大数据的4V已经众所周知,即Volume,Velocity,Variety和veracity。其背景如下:

  • 自iPhone革命以来,数据量激增。全球有60亿部智能手机,每天创建近1PB的数据。
  • 数据不仅仅是静止的。有流数据,支持IoT的设备。
  • 还与数据的多样性有关。视频,照片都成为需要分析和利用的数据。
  • 数据的爆炸式增长对数据质量也带来了挑战。在大数据时代,哪一个应该被信任而哪个不应该被信任是一个更大的挑战。
    简而言之,可分析的数据定义在变化。现在不仅是结构化的数据,还包括各种非结构化数据。面临的挑战是如何将这些数据融合在一起并使得它们变得更有意义。

4. 摩尔定律

自2000年以来,处理能力,存储和相应的成本结构发生了巨大变化,它受到了摩尔定律的约束。关键点如下:

  • 自2000年以来,处理能力提高了约10,000倍。这意味着有效分析更多数据的能力得到了提高。
  • 存储成本下降了很多。自2000年以来,存储成本下降了1000倍以上。

5. 数据湖比喻

用一个类比来解释Data Lake的概念。

游览大湖总是一种非常愉快的感觉。湖中的水以其最纯净的形式存在,不同的人在湖上进行不同的活动。有些人在钓鱼,有些人喜欢乘船游览,这个湖还为生活在安大略省的人们提供饮用水。简而言之,同一个湖有多种用途。

随着数据范例的变化,出现了一种新的架构模式。它被称为数据湖架构。就像湖中的水一样,数据湖中的数据也采用最原始的形式存放。就像湖泊一样,它满足了不同人的需要,那些想要钓鱼的人或者想要乘船游览的人,或者想要从湖中喝水的人,一个数据湖架构都可以满足。它为数据科学家提供了探索数据和创建假设的途径。它为业务用户提供了探索数据的途径。它为数据分析人员提供了分析数据和寻找模式的途径。它为报告分析师提供了创建报告并呈现给利益相关者的途径。

数据湖与数据仓库或数据集市进行如下比较:

Data Lake以最原始的形式存储数据,可以满足多个利益相关者的需求,也可以用于打包数据,以供最终用户使用。另一方面,数据仓库是已经经过蒸馏和包装(矿泉水)以用于特定目的数据存储。

6. 数据湖架构

通过前面的背景介绍,现在让我们了解数据湖的概念体系结构。数据湖体系结构中的关键组件有可以结构化和非结构化的数据源,它们都集成到原始数据存储中,以最原始的方式存放数据,即不进行任何转换。它是一种廉价的持久性存储,可以大规模存储数据。然后,我们使用分析沙箱来理解数据、创建原型、进行数据科学并探索数据以建立新的假设和用例。

然后我们有了批处理引擎,该引擎将原始数据处理成可被用户直接使用的数据,即可以用于向最终用户出报告的数据结构。我们称其为已处理数据存储。有一个实时处理引擎,可以获取流数据并对其进行处理。此体系结构中的所有数据均已分类并整理。

下面让我们了解此体系结构中的每个组件组。

7. Lambda架构

第一个组件组用于处理数据。它遵循Lambda架构,一般Lambda架构会采用两条处理路径:批处理层和实时处理层。批处理层以可能的最原始形式存储数据,即原始数据存储和实时处理层几乎实时地处理数据。实时处理层将数据存储到原始数据存储中,并且可以在加载到已处理的数据存储之前存储瞬态数据。

8. 分析沙箱

分析沙箱是数据湖架构中的关键组件之一。这些是数据科学家的探索性领域,他们可以在其中开发和测试新的假设、合并和探索数据以形成新的用例,创建快速的原型以验证这些用例并意识到可以采取哪些措施从中提取价值。

简单来说,它是数据科学家可以发现数据,提取价值并帮助转变业务的地方。

9. 数据编录(Catalog)和治理

数据编录在传统商业架构中经常被忽略。在大数据领域,编录是非常重要的方面。让我们举个例子来说明它的重要性。

当我要求我的客户在不提供编录信息的情况下猜测这幅画的潜在成本时,答案从100美元到100,000美元不等。当我提供目录信息时,答案更接近于实际情况。顺便说一句,这幅画被巴勃罗·毕加索(Pablo Picasso)称为“旧吉他手”,创作于1903年。估计造价超过1亿美元。

数据编录非常相似。不同的数据块具有不同的值,并且该值根据数据的沿袭(lineage)、数据的质量、·创建的来源等而变化。需要对数据进行分类,以便数据分析师或数据科学家可以自己决定指向哪个数据用于特定分析。

10. 数据编录图

编录图提供了可以分类的元数据。编录是捕获有价值的元数据的过程,因此可以将其用于确定数据的特征并决定是否使用它。基本上有两种类型的元数据:业务元数据和技术元数据。业务元数据更多地与定义、逻辑数据模型、逻辑实体等有关;而技术元数据则是捕获与数据结构的物理实现有关的元数据。它包括数据库、质量得分、列、架构等。

根据编录信息,分析人员可以选择在正确的上下文中使用特定的数据点。举个例子,想象一下,数据科学家想要对库存周转率及其在ERP和库存系统中的定义方式进行探索性分析。如果对术语进行了分类,则数据科学家可以根据上下文决定使用来自ERP还是清单系统中的列。

11. 数据湖和传统数仓对比

上图表格试图解释差异

  • 首先,哲学不同。在数据湖体系结构中,我们首先要原始加载数据,然后决定应如何处理。在传统的DWH体系结构中,我们必须首先了解数据,对其进行建模,然后再将其加载。
  • 数据湖中的数据以原始格式存储,而DWH中的数据以结构化格式存储,类比湖水和蒸馏水。
  • Data Lake支持各种用户。
  • 分析项目确实是敏捷项目。这些项目的本质是,一旦你看到输出,便会思考更多并想要更多。Data Lake本质上是敏捷的。由于他们将所有数据存储在编录中,因此可以确保在出现新需求时可以轻松地进行调整。

12. AZURE上数据湖架构

云平台最适合实施数据湖架构.它们具有大量可组合的服务,可以将它们组合在一起以实现所需的可伸缩性。微软的Cortana Intelligence Suite提供了一个或多个组件,可以将其映射为实现数据湖架构的组件。

13. 总结

  • 数据湖是大数据架构的新范式。
  • 数据湖可以满足各种数据的需求。以原始格式存储数据,可以满足用户的广泛需求,并能提供更快的洞察力。
  • 细致的数据编录和管理是成功实施数据湖的关键。
  • 云平台为实施经济、可扩展的数据湖架构提供了端到端的端解决方案。
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
存储 传感器 SQL
【数据湖架构】Azure Data Lake数据湖指南(下)
【数据湖架构】Azure Data Lake数据湖指南
|
存储 机器学习/深度学习 分布式计算
【数据湖架构】Azure Data Lake数据湖指南(上)
【数据湖架构】Azure Data Lake数据湖指南
|
存储 SQL 缓存
【数据编制架构】Data Fabric 架构:优点和缺点
【数据编制架构】Data Fabric 架构:优点和缺点
|
机器学习/深度学习 人工智能 算法
【数据编制架构】Data Fabric 架构是实现数据管理和集成现代化的关键
【数据编制架构】Data Fabric 架构是实现数据管理和集成现代化的关键
|
19天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
4天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
12 3
|
8天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
26 3
|
12天前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
33 5
|
20天前
|
消息中间件 Java 网络架构
AMQP与微服务架构的集成策略
【8月更文第28天】在微服务架构中,各个服务通常通过HTTP/REST、gRPC等协议进行交互。虽然这些方法在很多场景下工作得很好,但在需要高并发、低延迟或需要处理大量消息的情况下,传统的同步调用方式可能无法满足需求。此时,AMQP作为异步通信的一种标准协议,可以提供一种更为灵活和高效的消息传递机制。
21 1
|
27天前
|
Java Docker 微服务
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
微服务架构的概念、特点以及如何在Java Web开发中实现微服务。
53 1

热门文章

最新文章