世界各地的组织都在寻找存储解决方案来管理大数据的数据量、延迟时间、弹性和数据访问要求。最初,公司利用现有的技术栈,尝试让数据湖提供与仓库相同的功能,调整数据仓库以处理大量的半结构化数据,或选择将数据保留在这两种系统中。
最终,这些方法导致了成本居高不下、用户不愉快以及整个企业的数据重复。数据湖仓一体已成为一种新的混合数据架构,旨在提供数据仓库和数据湖的所有出色优势,同时消除两个系统的弱点。
Google Cloud 基于我们的低费用存储服务、无服务器计算引擎和功能强大的数据管理产品,提供可伸缩性极强且安全的云原生数据湖仓一体解决方案。详细了解 Google Cloud 如何帮助您构建开放式数据湖仓一体。
数据湖仓一体是一种将数据湖和数据仓库融合在一起的数据架构。数据湖仓一体支持机器学习、商业智能和预测分析,使组织能够利用低成本、灵活的存储服务来存储所有类型的数据(结构化、非结构化和半结构化数据),同时提供数据结构和数据管理功能。
数据湖仓一体是一种现代数据架构,它结合了数据湖(原始形式的大型原始数据存储库)和数据仓库(经过整理的结构化数据集)的主要优势来创建单一平台。具体来说,数据湖仓一体让组织可以使用低成本存储空间来存储大量原始数据,同时提供结构和数据管理功能。
过去,数据仓库和数据湖必须作为单独的孤立架构来实现,以避免底层系统过载并对同一资源造成争用。公司使用数据仓库来存储用于商业智能 (BI) 的结构化数据,并使用报告和数据湖存储用于机器学习 (ML) 工作负载的非结构化和半结构化数据。但是,若需要将任一架构中的数据一起处理,这种方法需要定期在两个独立系统之间转移数据,从而产生复杂性,导致成本增加,并带来数据新鲜度、重复和一致性方面的问题。
数据湖仓一体旨在打破这些孤岛,提供所需的灵活性、可伸缩性和敏捷性,以确保您的数据为业务创造价值,而不会导致效率低下。
“数据湖仓一体”一词合并了两种类型的现有数据存储库:数据仓库和数据湖。那么,数据湖仓一体、数据湖和数据仓库有什么不同呢?
数据仓库为需要生成报告和决策数据洞见的企业用户提供了快速的数据访问和 SQL 兼容性。所有数据都必须经过 ETL(提取、转换和加载)阶段。这意味着,在加载之前,系统会根据用例以特定格式或架构来对其进行优化,以支持高性能查询和数据完整性。但是,这种方法会限制访问数据的灵活性,而且若需要迁移数据以备将来使用,会造成额外的费用。
数据湖以原生格式存储大量非结构化和结构化数据。与数据仓库不同,数据在分析期间需要处理、清理和转换来提高加载速度,因此非常适合大数据处理、机器学习或预测分析。然而,数据湖需要具备数据科学方面的专业知识,这限制了可以使用这些数据的人群,而且若得不到妥善维护,数据质量可能会随着时间的推移而下降。数据湖还增加了实时查询的难度,因为数据未经处理,因此数据仍可能需要经过清理、处理、注入和集成才能使用。
数据湖仓一体将这两种方法结合起来,形成了一个单一的结构,让您可以出于从 BI、数据科学到机器学习等众多不同目的访问和利用数据。换言之,数据湖仓一体可以捕获组织的所有非结构化、结构化和半结构化数据,并将其存储在低成本存储空间中,同时为所有用户提供根据需要整理和探索数据的功能。
主要的数据湖仓一体功能包括:
BI 应用直接访问湖仓一体中的源数据,可减少数据重复。
在使用数据湖仓一体时,请务必考虑它要实现的目标。数据湖仓一体旨在集中各种数据源并简化工程工作,让您组织中的每个人都可以成为数据用户。
数据湖仓一体使用与数据湖相同的低费用云对象存储空间来提供按需存储,以便轻松预配和扩缩。与数据湖一样,它能够以原始形式捕获和存储大量所有类型的数据。湖仓一体在该存储区中集成了元数据层,以提供类似仓库的功能,例如结构化架构、对 ACID 事务的支持、数据治理以及其他数据管理和优化功能。
简化的架构 数据湖仓一体消除了两个独立平台的孤岛,因此您只需专注于管理和维护单个数据存储库。工具还可以直接连接到源数据,这样您就无需提取或准备要在数据仓库中使用的数据。 | 提高数据质量 您可以在数据湖仓一体架构中强制执行结构化数据和数据完整性的架构,以确保一致性。此外,湖仓一体可缩短提供新数据的时间,确保数据更新及时。 | 费用更低 在低成本存储空间中存储大量数据,而无需维护数据仓库和数据湖。数据湖仓一体还有助于降低 ETL 流程和去重产生的费用。 |
提高可靠性 数据湖仓一体可减少多个系统之间的 ETL 数据传输,从而降低数据移动时出现质量问题或技术问题的可能性。 | 改进的数据治理 通过数据湖仓一体将数据和资源整合在一起,从而更轻松地实现、测试及交付治理和安全控制措施。 | 减少数据重复 不同系统中存在的数据副本越多,数据不一致和不可信的可能性就越大。借助数据湖仓一体,您可以获得可在整个企业之间共享的单一数据源来做出决策,从而防止数据重复导致任何不一致并产生额外的存储费用。 |
多种工作负载 您可以将多个工具直接连接到湖仓一体,从而在同一存储库中为分析、SQL、机器学习和数据科学工作负载提供支持。 | 高可伸缩性 借助数据湖仓一体的低成本云对象存储空间,您可以将计算与存储空间分离开来,提供近乎无限的即时可伸缩性。您可以根据业务需求分别对计算能力和存储空间进行扩缩。 |
简化的架构
数据湖仓一体消除了两个独立平台的孤岛,因此您只需专注于管理和维护单个数据存储库。工具还可以直接连接到源数据,这样您就无需提取或准备要在数据仓库中使用的数据。
提高数据质量
您可以在数据湖仓一体架构中强制执行结构化数据和数据完整性的架构,以确保一致性。此外,湖仓一体可缩短提供新数据的时间,确保数据更新及时。
费用更低
在低成本存储空间中存储大量数据,而无需维护数据仓库和数据湖。数据湖仓一体还有助于降低 ETL 流程和去重产生的费用。
提高可靠性
数据湖仓一体可减少多个系统之间的 ETL 数据传输,从而降低数据移动时出现质量问题或技术问题的可能性。
改进的数据治理
通过数据湖仓一体将数据和资源整合在一起,从而更轻松地实现、测试及交付治理和安全控制措施。
减少数据重复
不同系统中存在的数据副本越多,数据不一致和不可信的可能性就越大。借助数据湖仓一体,您可以获得可在整个企业之间共享的单一数据源来做出决策,从而防止数据重复导致任何不一致并产生额外的存储费用。
多种工作负载
您可以将多个工具直接连接到湖仓一体,从而在同一存储库中为分析、SQL、机器学习和数据科学工作负载提供支持。
高可伸缩性
借助数据湖仓一体的低成本云对象存储空间,您可以将计算与存储空间分离开来,提供近乎无限的即时可伸缩性。您可以根据业务需求分别对计算能力和存储空间进行扩缩。
数据湖仓一体的概念仍然是一个相对较新的架构,这意味着它的一些最大挑战在于它正在不断发展,而最佳实践仍由尝鲜者定义。
此外,从零开始构建数据湖仓一体也非常复杂。在大多数情况下,您需要选择开箱即用的数据湖仓一体解决方案,或者使用像 Google Cloud 这样的平台来提供支持开放式湖仓一体架构所需的所有组件。
数据湖仓一体架构包含以下层:
现有的数据湖仓一体例子有 Databricks Lakehouse Platform 和 Amazon Redshift Spectrum。然而,随着技术不断成熟以及数据湖仓一体的普及,其实现方式已经从耦合湖仓一体组件转向特定数据湖。
例如,Google Cloud 方法一直是为了统一企业数据运营、数据湖和数据仓库的核心功能。这种实现将 BigQuery 的存储和计算能力置于数据湖仓一体架构的核心。然后,您可以使用 Dataplex 和 Analytics Hub 应用统一的治理方法和其他类似仓库的功能。
BigQuery 不仅与 Google Cloud 生态系统集成,还让您可以使用合作伙伴和开源技术,将湖和仓库的最佳功能整合到一个系统。
我们继续以此方法为基础进行构建,并发布了现处于预览版阶段的 BigLake。BigLake 是一个统一的存储引擎,可简化对数据仓库和数据湖的数据访问。您可以应用精细的访问权限控制机制,并加快分布式数据的查询性能。