写点什么

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

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

评论

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

《一文讲透》第 1 期:KWDB 单点安装部署

KWDB数据库

数据库 Influxdb 开源数据库 国产数据库 容器化部署

人工智能 | 检索增强生成(RAG)

测试人

软件测试

《一文讲透》第2期:两种 KWDB 的快速上手连接方式

KWDB数据库

oracle 物联网 JDBC 开源数据库 数据库架构

如何利用京东API接口在商品详情页展示全网价格数据信息

代码忍者

API 接口 pinduoduo API

家政平台(源码+文档+部署+讲解)

深圳亥时科技

简单聊聊快递行业需要过等保的必要性-行云管家

行云管家

堡垒机 等保测评 过等保 快递

昆仑万维推出「天工大模型4.0」4o版(Skywork 4o),实时语音对话助手Skyo上线在即

新消费日报

深入了解HR人事管理系统:8大厂商的综合评估

易成研发中心

不要为了找工作而考证!

老张

考试认证 求职面试

EXCEL导入—设计与思考

京东科技开发者

淘宝商品详情API:实现商品属性与价格数据的动态同步

代码忍者

API 接口 pinduoduo API

告别延迟,酣战不停!GoLink携手火山引擎打造丝滑游戏加速体验

火山引擎边缘云

边缘计算 游戏 火山引擎 加速器

【HarmonyOS NEXT】异步编程的神器之Promise

冉冉同学

鸿蒙 HarmonyOS 客户端 harmony HarmonyOS NEXT

位置共享可以修改自己位置吗

科技热闻

Crossover和虚拟机能玩的游戏一样吗 CrossOver相比于虚拟机有哪些优势

阿拉灯神丁

windows 游戏 虚拟机软件 Mac电脑软件 CrossOver 24

如何在Go语言中实现表单验证?整一个validator吧!

左诗右码

企业RAG构建中,如何用“行级别权限管控”避免数据泄露

Zilliz

权限管理 Milvus 企业数据安全

企业人事管理系统对比:9款值得信赖的推荐

易成研发中心

2024-11-20:交替子数组计数。用go语言,给定一个二进制数组 nums, 如果一个子数组中的相邻元素的值都不相同,我们称这个子数组为交替子数组。 请返回数组 nums 中交替子数组的总数。 输

福大大架构师每日一题

福大大架构师每日一题

【FAQ】HarmonyOS SDK 闭源开放能力 —ArkUI

HarmonyOS SDK

HarmonyOS

Java代码之美,从遵循样式规范开始

京东零售技术

Java 架构 后端 代码

IoTDB 航空航天解决方案:从制造到试飞,助力国之重器翱翔长空

Apache IoTDB

大模型在软件测试中的应用论讨

京东科技开发者

如何安全有效的删代码?

京东科技开发者

服装智能制造软件平台(源码+文档+部署+讲解)

深圳亥时科技

如何进行需求全周期管理

易成研发中心

需求管理

即时通讯技术文集(第43期):直播技术合集(Part3) [共13篇]

JackJiang

即时通讯;IM;网络编程

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