数据湖是一个集中存储结构化和非结构化数据的大型数据仓库。它支持从仪表板和可视化到大数据处理、实时分析和机器学习的各种分析类型,帮助用户在不预先结构化数据的情况下做出更好的决策。与传统的数据仓库不同,数据湖采用扁平化设计存储数据,通常以文件或对象存储的形式存在,而数据仓库则将数据存储在层次化的维度和表中。用户现在有更多的选项来管理、存储和使用他们的数据。
由于数据仓库的局限性,数据湖应运而生。尽管数据仓库为企业提供了非常有效和可扩展的分析能力,但它们成本高昂、专有,并且无法处理大多数企业希望解决的现代用例。与传统数据仓库不同,数据仓库在前期就施加了模式(即数据如何排列的正式框架),而数据湖允许将组织的所有数据存储在一个单一的中心位置,并且可以保持原样。
数据湖可以容纳数据精炼过程的所有阶段的数据,包括在原始数据精炼过程中创建的中间数据表。原始数据可以被摄取并存放在组织的结构化、表格数据源(如数据库表)旁边。数据湖可以处理所有类型的数据,包括照片、视频、音频和文档等非结构化和半结构化数据,这对于当今的机器学习和高级分析用例至关重要。这与大多数数据库和数据仓库形成对比。
数据湖非常有用且方便,让分析数据湖的需求和用途。Hadoop系统和数据湖经常被一起提及。数据被加载到Hadoop分布式文件系统(HDFS)中,并存储在基于分布式处理架构的Hadoop集群的多个计算机节点上。然而,数据湖越来越多地使用云对象存储服务而不是Hadoop来构建。一些NoSQL数据库也被用作数据湖的平台。
包括结构化、非结构化和半结构化数据的大型数据集通常存储在数据湖中。大多数数据仓库所依赖的关系数据库不适合这种情况。关系系统通常只能存储结构化事务数据,因为它们需要一个固定的数据模式。数据湖不需要任何前期定义,并支持多种模式。因此,它们现在可以管理各种形式的多种数据类型。
因此,数据湖是许多公司数据架构的关键部分。它们通常被企业用作大数据分析和其他涉及数据挖掘、预测建模和机器学习等高级分析方法的数据科学应用的平台,这些方法需要大量的数据。对于数据科学家和分析师来说,数据湖提供了一个中心区域,他们可以在这里定位、准备和分析相关数据。没有数据湖,这个过程会更加困难。此外,企业更难以充分利用其数据资产来支持更明智的业务决策和策略。
数据湖具有多种能力。数据湖的能力包括:
Delta湖是一个开源数据存储层,它保证了数据湖的可靠性。它集成了批量和流数据处理、可扩展的元数据管理和ACID事务。Delta湖设计集成了Apache Spark API,并位于当前的数据湖之上。Delta湖支持可扩展的元数据处理、ACID事务和批量与流数据处理的统一。它使用当前的数据湖,并与Apache Spark API完全兼容。
让更多地了解Delta湖的特点。
当前的大数据处理、运行和维护非常具有挑战性。流系统、数据湖和数据仓库通常至少以三种方式在现代数据架构中使用。业务数据通过流网络传输,如Amazon Kinesis和Apache Kafka,这些网络优先考虑更快的交付。然后数据被收集在数据湖中,这些数据湖适用于大规模、低成本的存储,并包括Apache Hadoop或Amazon S3。最重要的数据上传到数据仓库,因为遗憾的是,数据湖本身在性能或质量方面无法单独支持高端业务应用。这些数据仓库的存储成本比数据湖高得多,但它们针对性能、并发性和安全性进行了调整。
批量和流系统在Lambda架构中同时准备记录,这是一种常见的记录准备技术。然后在查询时将结果合并,以提供全面的回答。由于处理最近产生的事件和旧事件的严格延迟要求,这种架构声名狼藉。这种架构的主要缺点是维护两个独立系统的开发和运营负担。过去,人们尝试将批量和流集成到一个单一的系统中。然而,公司并不总是成功。
大多数数据库的一个关键组成部分是ACID。然而,在HDFS或S3上提供与ACID数据库相同的可靠性水平是具有挑战性的。Delta湖通过在事务日志中跟踪对记录目录所做的所有提交来实现ACID事务。Delta湖架构提供可序列化隔离级别,以确保多个用户之间的数据一致性。
Delta湖提供的建立模式和帮助其执行的能力有助于阻止危险材料进入数据湖。通过在数据被消化到数据湖之前防止错误数据进入系统,并提供逻辑故障信号,它防止了数据腐败。使用Delta湖时,数据版本控制提供回滚、完整的审计跟踪和可重复的机器学习过程。Delta湖架构支持合并、更新和删除操作,使得Change-Data-Capture、Slowly-Changing-Dimension(SCD)活动、流Upserts等复杂用例成为可能。
组织选择了Delta湖,这是一个开放格式的数据管理和治理层,结合了数据湖和数据仓库的最佳特性,以构建成功的Lakehouse。企业正在使用Delta湖跨行业推动合作,提供可靠的单一真相来源。Delta湖消除了数据孤岛,通过在数据湖上提供质量、稳定性、安全性和性能,使整个组织都能进行分析——无论是流操作还是批量操作。客户可以创建一个高度可扩展、成本效益高的Lakehouse,消除数据孤岛,并为最终用户提供自助分析。