跳至主要内容

什么是数据湖仓?

数据湖仓是一种数据管理系统,既能提供经济高效、灵活且可规模化的存储能力,又具备数据结构化、数据治理、报表生成等分析功能。其支持以更具成本效益的方式,将来自数万乃至数十万数据源的原始数据以多种格式集中存储。这些数据可进一步供各类分析工具使用,例如用于训练人工智能模型、生成业务报表与数据仪表板。此外,数据湖仓具备多项能力,支持用户在湖仓内部直接对原始数据进行处理,为后续的深度分析提供支撑。

数据湖、数据仓库与数据湖仓三者有何区别?

数据湖仓架构是通过融合数据仓库与数据湖这两种传统集中式数据存储系统的优势发展起来的。

数据仓库

数据仓库是一种基于标准数据模式存储结构化数据的数据存储系统。模式作为预定义的蓝图,决定了关系数据库中信息的数据格式、关联关系与组织结构。

企业借助数据仓库系统,可快速获取数据处理、商业智能分析及企业级报表生成所需的数据。数据仓库技术不仅提供先进的分析工具与完善的数据治理机制,更赋予非技术用户便捷的操作体验。例如,您可以直接通过数据仓库中的仪表板,实时获取营销绩效报告。

然而,数据仓库在数据生命周期中增加了额外环节。为获得可直接用于分析的洞察,数据需经过提取-转换-加载(ETL)等多个环节的处理,方能存入数据仓库。此外,数据仓库无法处理非结构化与半结构化数据,而这类数据正是人工智能机器学习工作负载所必需的。不仅如此,在数据仓库架构中,存储与计算能力是紧密耦合的,这种特性会显著增加基础设施扩容成本。

数据湖

数据湖是一种以数据原始格式保留数据的存储系统。数据科学家可通过数据湖存储结构化、非结构化及半结构化数据。在数据湖中存储数据的速度较快,因为数据无需经过 ETL 管道,而是直接以原始形态存储。因此,数据湖能够高速存储海量信息,包括实时数据流。

由于可承载的数据量庞大,云数据湖非常适合用于数据探索、机器学习及其他数据科学应用场景。此外,数据湖依托低成本的存储服务,在扩容时也更具经济性。

与数据仓库不同,访问数据湖中存储的数据需要具备专业技术能力,这使得数据访问权限局限在较小范围的用户群体中。也就是说,只有精通数据科学的用户,才能对原始数据进行提取、处理与分析,进而挖掘业务洞察。此外,缺乏管理的数据湖可能会演变成“数据沼泽”。所谓数据沼泽,指的是数据处于无序混乱状态,这种状态会导致人们难以从中提取有价值的信息与洞察。

数据湖仓

数据湖仓是一种统一的数据架构,融合了数据仓库与数据湖的优势。其能为各类数据类型提供高性能、高性价且易于治理的存储空间。

与数据仓库不同,数据湖仓可存储半结构化与非结构化数据来满足机器学习场景的需求。此外,数据湖仓架构中包含 SQL 分析工具,可帮助业务管理人员开展报表生成工作,并从中提取具有可操作性的业务洞察。

数据湖仓有哪些核心特性?

数据湖仓为企业提供了构建可扩展、复杂且低延迟数据处理中心所需的数据管理功能。下文将介绍数据湖仓的部分核心特性。

支持多种数据类型与工作负载

数据湖仓可存储文本、图片、视频及音频文件等多种数据类型,且无需额外的数据转换步骤,也不依赖固定的数据模式。这有助于快速进行数据摄取,确保关联应用程序的数据新鲜度。

为满足数据多样性的需求,数据湖仓会将原始数据存储在对象存储中。对象存储是一种数据存储架构,针对海量非结构化数据的处理进行了专项优化。

支持事务处理

数据湖仓具备数据管理功能,可存储符合 ACID 特性的事务,这一点与传统数据库的事务处理能力类似。其中,ACID 是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)的缩写。

  • “原子性”将所有数据事务视为一个不可分割的整体,这意味着事务要么完全执行成功,要么完全不执行。
  • “一致性”指数据库在更新特定数据表时会呈现可预测的行为。每一次更新都需遵循预先定义的规则,确保维持数据一致性。
  • “隔离性”允许多个事务同时发生且互不干扰。即使多名用户并发更新数据库,每个操作仍独立运行,即前一个事务完成后,后一个事务才会开始。
  • “持久性”指数据库在系统故障时仍能保持已保存更改的能力。

ACID 机制共同保障了数据完整性,使软件开发团队能够构建依赖可靠事务型数据存储的应用程序。

流式摄取

数据流指从物联网(IoT)设备、金融交易记录、应用服务日志等各类数据来源持续产生的信息流,具有实时、连续的特点。

部分应用场景需要通过数据流来近乎实时地反映并可视化数据变化。数据湖仓架构能够直接摄取这些数据流,并将其提供给面向用户的应用程序使用。此外,数据科学家也可基于这些数据流构建分析工具,通过图表、表格、图形等形式对数据进行可视化呈现。

零 ETL 集成

零 ETL 是一种数据处理方式,在数据迁移过程中可绕开复杂的数据转换管道。数据湖仓基础设施支持零 ETL 集成。

传统上,企业会在数据仓库和数据湖的基础上构建自身的工作负载。这类数据架构需要额外搭建 ETL 管道,才能对数据进行查询和转换。而借助零 ETL 集成,数据科学家无需构建额外的数据管道,就能直接查询不同的数据孤岛。

当数据湖仓摄取数据后,会自动将数据转换为符合业务分析需求的格式。例如,Amazon Redshift 支持通过 Amazon Aurora 进行零 ETL 集成。Redshift 是一个数据仓库,而 Aurora 是一个关系数据库管理系统。集成后,Aurora 摄取的数据会在几秒钟内自动同步到 Redshift。通过这种方式,企业既能缩短获取洞察的时间,又能维持简洁且经济高效的数据基础设施。

统一分析

数据湖仓提供了统一的数据平台,可实现对所有存储数据的集中访问。这一特性帮助数据架构师解决了多系统间数据重复、数据不一致以及数据碎片化等问题。

集中式分析的另一核心优势在于,能避免云存储之间不必要的数据迁移,减少资源浪费与延迟。数据团队无需在多个数据孤岛中分别查询数据,而是通过一个连接数据湖仓的统一界面,即可完成数据的存储、分析与共享。例如,您可基于同一份数据,既提取非结构化数据用于机器学习工作负载,又生成市场营销绩效报告。

查询编辑器

数据分析师、机器学习工程师及其他数据使用者,可通过 SQL 查询编辑器轻松访问数据湖仓中的数据。他们能编写 SQL 命令用于数据分析、数据可视化,还可浏览历史数据、创建数据库模式等操作。此外,查询编辑器还能让数据工程师轻松共享自己创建的查询语句,从而有效提升团队协作效率。

支持机器学习/人工智能

数据湖仓支持用户构建、测试人工智能与机器学习(AI/ML)工作负载,并能实现其规模化部署。除了提供非结构化数据的直接访问权限外,许多数据湖仓服务商还会提供机器学习库、工具及分析功能,能够简化人工智能的开发流程。

例如,Amazon SageMaker 智能湖仓 可 Amazon SageMaker 融通式合作开发工作室实现无缝集成,为用户提供各类工具与分析功能,助力加速人工智能与机器学习的工作流程。

数据湖仓如何运作?

数据湖仓融合了数据仓库的高级分析能力与数据湖的灵活性,打造出兼具可扩展性、经济性与强大功能的数据平台。企业无需再维护相互独立的数据湖与数据仓库基础设施,而是可以选择通过数据湖仓更快速地获取业务洞察。

数据湖仓会从各类数据源摄摄取数据,在内部对数据进行整理,再以不同格式将数据提供给各类数据使用者。此外,数据湖仓采用“计算与存储分离”的架构。依托这一架构,您可对计算和存储功能分别进行弹性扩展,最大限度节省成本。

下文将为介绍构成数据湖仓的各个数据层级。

摄取层

摄取层负责将数据湖仓与各类数据来源建立连接,这些数据来源包括应用程序日志、数据库以及社交媒体信息流。在该层级中,数据始终以原始格式保存,不做任何修改。

存储层

存储层接收传入的原始数据,并将其存储在低成本且可扩展的存储器中。在数据湖仓设置中,该层级通常链接到云对象存储。对象存储支持多种类型的数据,涵盖结构化、半结构化和非结构化数据。

根据使用案例的不同,部分数据转换操作会在数据存入对象存储后执行。例如,若希望使用已摄取的数据训练机器学习模型,数据湖仓可将数据转换为 Parquet 格式后再存储。Parquet 是一种开源文件格式,其设计原理是将结构化数据按列拆分存储和处理,以此实现高效的数据管理。

暂存层

暂存层(亦称元数据层)通过提供模式支持,实现对数据湖仓中存储数据的治理、组织与优化。在该层级中,您可以定义相关策略来保障数据质量,并为满足合规要求创建审计跟踪记录。此外,数据团队能够运用 ACID 事务、文件索引、数据版本控制及缓存机制(其功能特性与传统数据仓库相仿),构建高度可靠的数据工作流。

API 层

应用程序编程接口(API)层允许软件开发人员及应用程序查询数据湖仓中存储的数据。该层级提供细粒度的数据访问能力,支持通过编程方式基于数据构建更高级的分析功能。例如,软件团队可通过 API 调用实时获取数据流,为投资类应用的仪表板提供动态数据支持。

语义层

语义层是数据湖仓的最顶层,也被称为数据消费层。该层级由数据分析工具与应用程序构成,可提供对存储数据及数据模式的访问能力。业务用户可通过该层级提供的工具生成报表、创建图表、执行洞察查询以及开展其他数据分析工作。

AWS 如何帮助您满足数据湖仓需求?

Amazon SageMaker 智能湖仓是一款数据湖仓产品,支持企业处理艾字节(EB)级别的数据,从中获取业务洞察并为人工智能工作负载提供支持。Amazon SageMaker 智能湖仓与 AWS 的各类数据存储、数据分析及机器学习服务深度集成,可为您提供以下支持:

  • 就地访问数据以开展近实时分析
  • 在单一数据中心构建人工智能与机器学习模型
  • 以最少的数据移动或复制操作,安全地访问、整合及共享数据

Amazon SageMaker 智能湖仓采用“计算与存储分离”架构,可实现高效扩展,性价比优于其他云数据湖仓产品。

Amazon SageMaker 智能湖仓与 AWS 数据仓库及数据湖实现集成:

  • Amazon Redshift 是一种能在数据湖仓场景中以卓越性价比提供大规模 SQL 查询能力的数据仓库解决方案
  • Amazon S3 是一种专为从任意位置检索任意数量数据而构建的数据湖对象存储服务

立即创建免费账户,在 AWS 上开启数据湖仓之旅。