写点什么

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

  • 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:525059

评论

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

5G+工业互联网的中国登山队,如何攀跃“产业化”山峦?

脑极体

架构师训练营 1 期第 9 周:性能优化(三)- 总结

piercebn

极客大学架构师训练营

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

代立冬

Apache 大数据 开源 DolphinScheduler Apache DolphinScheduler

应届秋招生,熬夜吃透华为架构师这份‘典藏级’计算机网络+计算机操作系统,成功上岸腾讯

网络协议 编程之路 计算机知识

InfoQ 写作平台的魔力

Yolanda

第五周作业

晴空万里

极客大学架构师训练营

架构师训练营第 9 周课后练习

叶纪想

极客大学架构师训练营

Week5 作业1

Sean Chen

第9周作业1

Yangjing

极客大学架构师训练营

一次用户故事拆(SPIDR)法实践

Bruce Talk

Agile 用户故事 User Story

架构师训练营第 9 周作业

netspecial

极客大学架构师训练营

能源区块链研究|区块链与核电安全

CECBC

区块链 核电

Week 9 作业01

Croesus

大数据和Hadoop平台介绍

MySQL从删库到跑路

大数据 hadoop

架构师训练营第九周课程笔记及心得

Airs

Java 中常见的细粒度锁实现

rookiedev

Java 多线程 细粒度锁

秒杀系统

橘子皮嚼着不脆

架构师训练营第二期 Week 5 总结

bigxiang

极客大学架构师训练营

助推城市智慧化!正舵者携手中科院演绎区块链魅力

CECBC

区块链 人工智能

架构师 01 期,第九周课后作业

子文

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

架构师训练营第二期 Week 5 作业

bigxiang

极客大学架构师训练营

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

技术选型总结一

Mars

技术选型

架构师训练营 week5 课后作业

花果山

极客大学架构师训练营

真零基础Python开发web

MySQL从删库到跑路

Python django Web bottle

第9周作业2

Yangjing

极客大学架构师训练营

第九周作业

极客大学架构师训练营

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