写点什么

构建切实有效的湖仓一体架构

  • 2021-03-07
  • 本文字数:2281 字

    阅读完需:约 7 分钟

构建切实有效的湖仓一体架构

数据仓库曾一直做为决策支持系统的支撑平台。数据仓库使用良好设计的模式规范数据,例如星形模型、雪花模型和正常范式等。

 

时至二十一世纪的头十年,在三个方面上发生了翻天覆地的变化:

  1. 数据的定义发生了改变。数据的类型更加多样化,可归为非结构化和半结构化数据。

  2. 云计算不断推陈出新。云技术的创新正产生经济影响,数据存储的成本得以降低。

  3. 处理能力得到了提升。付出以往的部分代价,就能处理更多的数据。

在所有进展中,称为“黄色小象”的 Hadoop 一定值得一提。Hadoop 是一种分布式计算框架,支持对非结构化数据的存储和处理。

 

Hadoop 生态系统迅速演进,进而出现了称为“数据湖”的非结构化数据存储和处理新范式。

 

事情总是两面的,数据仓库和数据湖的共存提出了一些挑战。数据仓库无法生成数据所需的洞察。另一方面,数据湖由于缺乏结构和治理,会迅速沦为“数据沼泽”。两种技术渐行渐远。

 

进入本世纪第二个十年,专家们提出了一种两全其美融合的新架构模式,称为“湖仓一体”(Data Lakehouse)架构模式。

 

下面介绍湖仓一体的各组件。

湖仓一体的定义



上图列出了数据湖和数据仓库各自的优缺点。

 

湖仓一体架构力图结合数据仓库的弹性和数据湖的灵活性。人们创建数据仓库来支持商业智能,主要用例包括编制报表、发布下游数据集市(Data Marts),以及支持自助式商业智能等。数据湖的概念来自于数据科学对数据的探索,主要用例包括通过快速实验创建和检验假设,以及利用半结构化和非结构化数据等。

 

如何结合数据仓库和数据湖的优点,同时最大程度地减少每种模式自身的弊端?由此提出了湖仓一体范式。



湖仓一体具有以下五个关键特性:

 

  1. 支持分析结构化和非结构化数据;

  2. 适用于分析师和数据科学家,不仅支持报表,而且支持机器学习和人工智能相关用例;

  3. 数据可治理,避免产生沼泽;

  4. 架构鲁棒安全,确保利益相关者能正确访问以数据为中心的安全架构;

  5. 以合理代价实现有效扩展。

湖仓一体的概念架构

为介绍湖仓一体范式,下面给出其概念架构。



上图给出的概念架构中,各核心组件通过有效的组织,形成了全新的湖仓一体范式。

 

  • 支持结构化和非结构化数据。无论是类关系数据库那样静态存储,还是以实时数据流方式提供,数据均可转化为洞察。

  • 数据抽取(Data ingestion)服务提供多种抽取方式,将数据抽取到数据湖中,既可以满足批处理需求,也可以满足流式加载需求。一条经验法则是,数据抽取中不做任何数据转换。

  • 抽取的数据存储在数据湖的原始数据区域,该区域也称为“青铜层”(bronze layer)。数据依照源数据结构进行管理,实现源数据和下游分析的解耦。

  • 数据处理(data processing)服务处理原始数据区域中的数据,执行清洗、归并、复杂业务逻辑等操作,并进一步准备好适用于人工智能、商业智能等下游分析的数据格式。

  • 数据同时周期性地临时存放在已清洗数据区域,该区域也称为“白银层”(silver layer)。已清洗数据区域避免对数据重复做多次处理。处理完成的数据最终存储在已处理数据区域,该区域也称为“黄金层”(gold layer)。

  • 至此,数据都存储在数据湖中,可用于即席分析、机器学习和报表等多种用例。但数据湖不利于结构化报表或自助式商业智能,而数据仓库在此类需求上表现出色。这需要数据存储同时提供数据仓库能力。

  • 数据编目(Data cataloging)服务确保所有源数据、数据湖和数据仓库中的数据、数据处理流水线管道以及从湖仓一体中抽取的输出都做了适当的编目,防止湖仓一体变成数据沼泽。例如,对 Facebook 这样规模的数据做编目,可从中获取湖仓一体的所有数据内容、数据间的关联关系,以及数据转换的世系信息。

  • 数据分析(Analytics)服务提供多种数据用途。数据科学家可创建分析沙箱,运行实验和假设测试。数据分析人员可创建沙箱,触发快速查询并对数据执行即席分析。人工智能和机器学习人员可运行和维护模型。商业智能为用户提供了具有丰富可视化效果的自助式商业智能。

五个架构原则

建立真实有效湖仓一体架构,应遵循如下五个关键原则:

  1. 计算和存储的解耦:首要原则是加入解耦和存储。存储便宜且持久,计算昂贵且短暂。计算和存储的解耦,可使系统灵活地按需升级并扩展计算服务。

  2. 目标驱动的存储层:数据以多种形态和形式呈现,因此数据的存储方式应具灵活性,以适应数据的不同形态和用途。灵活性包括根据数据的种类及提供方式不同,提供关系层、图数据层、文档层以及 Blob 等多模态存储层。

  3. 模块化的体系架构:该原则源自于 SOA,确保数据处于核心地位,以围绕数据开展所需服务为关键。基于数据开展数据抽取、处理、编目和分析等不同类型的服务,而不是借助流水线将数据提供给服务。

  4. 聚焦于功能,而非技术:该原则体现了灵活性。功能的变化缓慢,但技术的变革日新月异。因此一定要聚焦于组件所完成的功能,进而可轻易追随技术的发展而替换旧技术。

  5. 活动编目(Active cataloging):该项基本原则是避免数据湖沦为数据沼泽的关键。编目上需具有明确的治理原则,有助于确保数据充分记录到数据湖中。编目内容可遵循如下经验法则:

  • 对所有需抽取到数据湖中的数据做编目;

  • 对所有存储在数据湖和服务层的数据做编目;

  • 对源数据转化到服务层的数据世系做编目。

总结

数据是复杂的,并且在不断地发展。业务也在迅速地变化,需求同样再不断地变化,架构必须具备能适应所有变化的灵活性,上述五个架构原则有助于建立切实有效的湖仓一体架构。谨记:

 

内核规范,边缘灵活。

扩展阅读:

作者简介

Pradeep Menon,微软数据和人工智能分析师。

 

原文链接: Making Data Lakehouse real yet effective

2021-03-07 15:525023

评论

发布
暂无评论
发现更多内容

TiDB 4.0 新特性尝鲜指南献上,投稿【试玩体验】斩获 TiDB 限量周边~

TiDB 社区干货传送门

TiUP 使用梳理 - 01

TiDB 社区干货传送门

TiDB 3.0:窗口函数初体验

TiDB 社区干货传送门

TiDB 热点问题详解

TiDB 社区干货传送门

TiDB备份恢复方式你知多少?

TiDB 社区干货传送门

Lightning for CSV:快速指南

TiDB 社区干货传送门

TiDB 分区表优化实践

TiDB 社区干货传送门

TiDB 悲观锁实现原理

TiDB 社区干货传送门

贝壳金服 TiDB 在线跨机房迁移实践

TiDB 社区干货传送门

Gravity 的测试调研 Gravity -> TiDB

TiDB 社区干货传送门

Region 创建、分裂及合并的原理

TiDB 社区干货传送门

TiDB Ansible 使用指南

TiDB 社区干货传送门

【精选实践】一体化无边界的大数据基础平台

TiDB 社区干货传送门

【TiDB 4.0 试玩体验】TiDB 性能对比(v3.0.12 VS v4.0.0-rc)

TiDB 社区干货传送门

TiDB 在海航易建科技与香港航空研发收益支持系统过程中的实践

TiDB 社区干货传送门

TiSpark 服务安装、部署及测试

TiDB 社区干货传送门

初探TiDB-TiFlash

TiDB 社区干货传送门

TiDB 在株式会社 FUNYOURS JAPAN 的应用

TiDB 社区干货传送门

TiDB 实战优化之 SQL 常见问题与优化案例

TiDB 社区干货传送门

解读 TiDB Server

TiDB 社区干货传送门

4.0 新特性前瞻:新表数据编码格式

TiDB 社区干货传送门

Chaos Mesh + SkyWalking,打造可观测的混沌工程

TiDB 社区干货传送门

TiDB 5.3 发版 —— 跨越可观测性鸿沟,实现 HTAP 性能和稳定性的新飞跃

TiDB 社区干货传送门

TiDB 性能问题排查常用操作

TiDB 社区干货传送门

迁移 MySQL 集群到 TiDB 相关问题整理

TiDB 社区干货传送门

TiDB 的统计信息

TiDB 社区干货传送门

VIPKID 的高可用架构设计及 TiDB 应用实践

TiDB 社区干货传送门

TiUP 使用梳理 - 02

TiDB 社区干货传送门

TiDB new feature max_execution_time

TiDB 社区干货传送门

知乎已读服务的前世今生与未来

TiDB 社区干货传送门

Raft 协议学习笔记

TiDB 社区干货传送门

构建切实有效的湖仓一体架构_架构_Pradeep Menon_InfoQ精选文章