你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
什么是 Data Lake?
Data Lake 是一种存储库,可以按数据本来的原始格式存储大量的数据。 Data Lake 存储经过优化,数据大小规模可以达到数 TB 甚至数 PB。 这些数据通常来自多个不同源,可以包括结构化的、半结构化的或非结构化的数据。 Data Lake 可以帮助你以原始的非转换状态存储一切内容。 此方法不同于传统的数据仓库,后者在引入数据时对数据进行转换和处理。
关键 Data Lake 用例包括:
- 云和物联网 (IoT) 数据移动。
- 大数据处理。
- 分析。
- 报告。
- 本地数据移动。
请考虑 Data Lake 的以下优势:
Data Lake 永远不会删除数据,因为它以其原始格式存储数据。 此功能在大数据环境中特别有用,因为你可能无法提前知道可以从数据中获得什么见解。
用户可以浏览数据并创建自己的查询。
Data Lake 可能比传统的提取、转换和加载 (ETL) 工具更快。
Data Lake 比数据仓库更灵活,因为它可以存储非结构化和半结构化数据。
完整的 Data Lake 解决方案由存储和处理两部分组成。 Data Lake 存储的设计用途包括:容错、确保无限可伸缩性,以及在引入各种形状和大小的数据时实现高吞吐量。 Data Lake 处理涉及一个或多个处理引擎,这些引擎可以纳入这些目标,并可以对大规模存储在数据湖中的数据进行操作。
何时应使用 Data Lake
我们建议你使用 Data Lake 进行数据探索、数据分析和机器学习。
Data Lake 可充当数据仓库的数据源。 使用此方法时,Data Lake 会引入原始数据,然后将其转换为结构化的可查询格式。 此转换通常使用提取、加载和转换 (ELT) 管道,就地对数据进行引入和转换操作。 关系源数据可能会通过 ETL 过程直接进入数据仓库,并跳过 Data Lake。
你可以在在事件流式处理或 IoT 方案中使用 Data Lake 存储,因为 Data Lake 可以保存大量的关系数据和非关系数据,不需进行转换,也不需架构定义。 Data Lake 可以在低延迟的状况下处理大量的小型写入数据,并已针对大规模的吞吐量进行了优化。
下表比较了数据湖和数据仓库。
挑战
大量数据:管理大量原始和非结构化的数据可能非常复杂且耗费大量资源,因此你需要可靠的基础结构和工具。
潜在的瓶颈:数据处理可能会导致延迟和效率低下,尤其是当你拥有大量数据和多种数据类型时。
数据损坏风险:数据验证和监视不当会导致数据损坏的风险,这可能会损害数据湖的完整性。
质量控制问题:由于数据源和格式的多样性,确保适当的数据质量是一项挑战。 必须实施严格的数据治理做法。
性能问题:随着 Data Lake 的增长,查询性能可能会下降,因此,你必须优化存储和处理策略。
技术选择
在 Azure 上构建全面的 Data Lake 解决方案时,请考虑以下技术:
Azure Data Lake Storage 将 Azure Blob 存储与 Data Lake 功能相结合,提供与 Apache Hadoop 兼容的访问权限、分层命名空间功能和增强的安全性,从而可实现高效的大数据分析。
Azure Databricks 是一个统一的平台,你可以用它来处理、存储和分析数据并实现数据盈利。 它支持 ETL 流程、仪表板、安全性、数据探索、机器学习和生成式 AI。
Azure Synapse Analytics 是一项统一服务,可用于引入、浏览、准备、转换、管理和提供数据,以满足即时商业智能和机器学习需求。 它与 Azure Data Lake 深度集成,以便可以高效地查询和分析大型数据集。
Azure 数据工厂是基于云的数据集成服务,可用于创建数据驱动型工作流,以便协调和自动完成数据移动和数据转换。
Microsoft Fabric 是一个全面的数据平台,将数据工程、数据科学、数据仓库、实时分析和商业智能统一到单一解决方案中。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Avijit Prasad | 云顾问
要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。
后续步骤
- 什么是 OneLake?
- Data Lake Storage 简介
- Azure Data Lake Analytics 文档
- 培训:Data Lake 存储简介
- Hadoop 和 Azure Data Lake Storage 的集成
- 连接到 Data Lake 存储和 Blob 存储
- 使用 Azure 数据工厂将数据加载到 Data Lake 存储中