写点什么

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

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

评论

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

Flink 1.11 Unaligned Checkpoint 解析

Apache Flink

flink

实操案例:字符串哈希表操作

华为云开发者联盟

程序员 编程语言 C语言 哈希表 字符串

Flink 最佳搭档:开发部署平台 Zeppelin 的自白

Apache Flink

报告|50%CRM品牌陷入竞争旋涡,破圈迫在眉睫

人称T客

波士顿动力狗 SPOT 权威购买指北

早睡蟒

Python 人工智能 学习 波士顿动力 机械狗

tomcat 使用apr

zack

tomcat

「架构师训练营」第 7 周作业 - 总结

森林

Oracle JDK7 bug 发现、分析与解决实战

vivo互联网技术

数据库周刊33丨5大国产数据库中标中国移动;Oracle7月CPU安全预警;腾讯Tbase新版本发布;“2020数据技术嘉年华”有奖话题遴选;阿里云技术面试题;APEX 实现数据库自动巡检;MYSQL OCP题库……

墨天轮

MySQL 数据库 oracle 阿里云 面试

压测脚本

LEAF

「架构师训练营」第 7周作业 - 性能测试

森林

有趣的“第二个系统”

架构精进之路

提升认知 研发体系

架构师第七周总结

傻傻的帅

架构师

架构师都该懂的 CAP 定理

闻人

架构 分布式 架构师

k8s极简史:K8s多集群技术发展的历史、现状与未来

华为云开发者联盟

Kubernetes 容器 云原生 华为云

Flask 的 url 处理器

Leetao

Python flask Web框架

凡架构必拆分,分则有度

菜根老谭

微服务 康威定律 架构思维 分治思维

什么?不写代码也能做功能开发!- RUOYI教程

Java_若依框架教程

Java 技术 后端 开发 框架

金融科技的碎片化思考(上)

曲水流觞TechRill

金融科技 FinTech

网传Intel断供浪潮,英特尔:供应链调整

Geek_116789

Newbe.Claptrap 框架入门,第二步 —— 简单业务,清空购物车

newbe36524

容器 微服务 Reactive .net core ASP.NET Core

MySQL库表设计小技巧

Simon

MySQL 数据库设计

计算机网络基础(七)---网络层-ICMP协议

书旅

计算机网络 网络协议 网络层

Java 面向对象知识整理

多选参数

Java 编程

智能标注原理揭秘,一文读懂人工智能如何解决标注难题

百度大脑

人工智能 百度 学习 AI 百度大脑

JVM系列之:详解java object对象在heap中的结构

程序那些事

Java JVM GC JOL

企业架构框架之DoDAF

冯文辉

企业架构

itchat替代品,追妹子神器,个人微信给多个好友(群)发消息,定时提醒妹子喝水

Java_若依框架教程

技术 后端 itchat 微信消息 定时提醒

最新:英特尔断供浪潮系内部供应链调整,现已恢复供货

Geek_116789

一口气说出 4 种分布式一致性 Session 实现方式,面试杠杠的~

楼下小黑哥

nginx redis 分布式 session

来自前端童鞋对后端的吐槽@#$%^

Java小咖秀

程序员 程序人生 大前端

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