湖仓一体旨在解决数据仓库和数据湖的核心挑战,从而为组织提供更理想的数据管理解决方案。它们代表了市场上数据管理解决方案的下一步发展方向。
了解采用 AI 的障碍,特别是缺乏 AI 治理和风险管理解决方案。
立即注册,获取有关负责任 AI 工作流的电子书
由于湖仓一体是在解决数据仓库和数据湖的挑战中出现的,因此有必要定义这些不同的数据存储库并了解它们的不同之处。
数据湖通常构建在 Apache Hadoop 等大数据平台上。它们以其低成本和存储灵活性而闻名,因为它们没有传统数据仓库的预定义模式。它们还能容纳不同类型的数据,如音频、视频和文本。由于数据生产者主要生成非结构化数据,因此这是一个重要的区别,因为这也使得更多的数据科学和人工智能 (AI) 项目成为可能,从而推动在整个组织中获得更多的洞察分析并做出更好的决策。然而,数据湖本身也面临一些挑战。数据湖的规模和复杂性可能需要更多的技术资源(例如数据科学家和数据工程师)来驾驭其存储的数据量。此外,由于数据治理在这些系统的下游实施,数据湖更容易出现更多的数据孤岛,进而演变成数据沼泽。当发生这种情况时,数据湖将无法使用。
数据湖和数据仓库通常协同使用。数据湖充当新数据的汇集系统,而数据仓库则将下游结构应用于该系统中的特定数据。然而,要协调这些系统来提供可靠的数据可能会耗费大量的时间和资源。处理时间过长会导致数据过时,而额外的 ETL 层会给数据质量带来更多风险。
湖仓一体针对数据仓库和数据湖的缺陷进行优化,形成了更好的数据管理系统。它为组织提供了快速、低成本的企业数据存储,同时还提供了足够的灵活性来支持数据分析和机器学习工作负载。
数据管理解决方案
数据湖解决方案
如前所述,湖仓一体将数据仓库与数据湖的最大优势集于一身。它利用与数据仓库类似的数据结构,并结合数据湖的低成本存储和灵活性,使组织能够快速、高效地存储和访问大数据,同时还能减轻潜在的数据质量问题。它支持多样化的数据集(即结构化数据和非结构化数据),可以满足商业智能和数据科学工作流的需求。它通常支持 Python、R 和高性能 SQL 等编程语言。
湖仓一体还支持较大数据工作量的 ACID 事务。ACID 代表原子性、一致性、隔离性和耐久性,所有这些都是定义事务以确保数据完整性的关键属性。原子性可以定义为对数据的所有更改都像单个操作一样执行。一致性是指数据在事务开始和结束时处于一致的状态。隔离性是指其他事务看不到事务的中间状态。因此,并发运行的事务看起来是序列化的。持久性是指在事务成功完成后,即使系统发生故障,对数据的更改仍然会持续存在并且不会被撤消。此功能对于确保数据一致性至关重要,因为会有多个用户同时读取和写入数据。
湖仓一体架构通常由五层组成:摄取层、存储层、元数据层、API 层和消费层。这些构成了湖仓一体的架构模式。
第一层负责从一系列不同的来源收集数据,并将其转换为可以在湖仓一体中存储和分析的格式。摄取层可以使用协议与内部和外部源(如数据库管理系统、NoSQL 数据库、社交媒体等)连接。顾名思义,这一层负责数据的摄取。
在这一层中,结构化、非结构化和半结构化数据以开源文件格式(例如 Parquet 或优化行列式 (ORC))存储。湖仓一体的真正优势是,系统能够以可承受的成本接受所有数据类型。
元数据层是湖仓一体的基础。它是一个统一的目录,可为湖存储中的每个对象提供元数据,帮助组织和提供有关系统中数据的信息。这一层还为用户提供了使用 ACID 事务、文件缓存和索引等管理功能的机会,以加快查询速度。用户可以在该层中实施预定义模式,从而实现数据治理和审计功能。
湖仓一体使用 API 来增加任务处理能力并进行更高级的分析。具体来说,这一层为消费者和/或开发人员提供了在抽象层面上使用一系列语言和库(例如 Tensorflow)的机会。这些 API 针对数据资产消耗进行了优化。
由于湖仓一体的设计目的是将数据仓库和数据湖的最佳功能结合在一起,因此它为用户带来了特定的关键优势。其中包括:
随时随地为您的所有数据扩展 AI 工作负载。IBM watsonx.data 是业界唯一的开放式数据存储,它支持您利用多个查询引擎来运行受治理的工作负载(无论它们位于何处),从而最大限度提高资源利用率并降低成本。
基于数十年来在数据安全、可扩展性和可用性方面的创新,借助 IBM Db2 可随时随地保护您的应用程序和分析的安全性,并实现高性能和高弹性。
先进的云原生数据仓库,专为随时随地提供统一、可扩展的分析和洞察而设计。凭借精细的弹性扩展以及暂停和恢复功能,Netezza Performance Server 可为您提供大规模企业级的成本和资源控制。
1 湖仓一体:统一了
数据仓库和高级分析的新一代开放平台(ibm.com 外部链接)斯坦福大学,2021 年