湖仓一体概念快问快答

news2024/9/21 12:21:51

概念篇 

问题一

“湖仓一体”是什么?                      

“湖仓一体”是一种新的架构模式,湖仓一体是将数据湖的灵活性和数仓的易用性、规范性、高性能结合起来的融合架构,无数据孤岛。湖仓一体数据存储在数据湖低成本的存储架构之上,既拥有数据湖数据格式的开放灵活性,又继承了数据仓库的高性能、易用性和规范性。

问题二

湖仓一体是伪命题吗?             

当然不是,湖仓一体是一种新的架构模式,虽然它将数据仓库与数据湖的优势充分结合,但它不同于数仓和数据湖的架构。很多新技术和新概念的出现都会伴随着用户的质疑,尤其是在中国数字化快速发展的过程中,甚至出现过昙花一现的新概念,让很多企业投入了无效资源。就湖仓一体这个概念,我们不妨参考下国际权威咨询机构 Gartner 对湖仓一体(Lakehouse)的定位,可以看到湖仓一体正处于快速发展的通道。

图片

Gartner数据管理领域技术成熟度曲线

问题三

湖仓一体貌似是个国外的概念?可能不太适用于中国的国情吧?

有些技术的发展在国内外确实是存在较大差异,比如信息安全技术,APP 等,但在数据库和大数据基础领域,中国与国际的发展非常同步。一个冷知识:由于中国本土存在着非常多的企业有着海量数据需要管理(如四大行、三大运营商、互联网大厂),中国在大规模分布式数据库等方面的技术需求和土壤甚至要超过美国。得益于大型企业的超大数据体量和复杂管理需求,湖仓一体这一技术更可能在中国发展的更快更好。

  问题四   

可不可以理解为“湖+仓=湖仓一体”?             

很多用户误以为湖+仓=湖仓一体,可能是因为湖仓一体整合了湖和仓各自的优势,所以误认为湖仓一体就是原有湖和仓的简单整合而已。

站在技术架构的角度就会更容易理解这个问题,过往建设数据湖采用 Hadoop,建设数仓采用 MPP 数据库,很难想象 Hadoop+MPP=湖仓一体 会是怎样诡异的架构,因为 Hadoop 和 MPP 本身是无法兼容的,只能通过 Hadoop+MPP+统一管理组件 进行逻辑整合,这其实是我们常说的“逻辑湖仓一体”、“湖仓分体”。

图片

所以,就像西红柿+鸡蛋≠西红柿炒鸡蛋,湖+仓≠湖仓一体,本质上是三种不同的事物,湖仓一体的架构与现有的湖和仓都不一样。湖仓一体的流行架构是存算分离,一份数据,多个计算引擎可以共享同一份数据。这种架构解决了 Hadoop+MPP 湖仓分体形成的数据孤岛。

图片

问题五

云上的数据仓库和数据湖都是可以实现弹性扩展的,是不是可以理解为已经实现了湖仓一体?

很多云厂商都提供了数据湖和数据仓库架在自己的云底座上面的,确切的说是提供了云上的 MPP 和云上的 Hadoop,尽管实现了逻辑上的湖仓一体,但是湖+仓≠湖仓一体,云上的 MPP+Hadoop 仍然会各自形成数据孤岛和数据冗余,仍要通过复杂的管理组件实现仓和湖的数据同步,本质上大多数厂商的湖仓分体现状是一样的。

价值篇

问题六

除了技术架构,湖仓一体相较于逻辑湖仓一体、湖仓分体还有哪些不同?创新点在哪里?      

确实,新技术的优势不仅体现在技术架构上,必须在业务价值上形成创新点。为此我们经过多个项目实践和长期调研,总结出湖仓一体的六大创新点 ANCHOR,同时 ANCHOR 也可以作为检验湖仓一体的金标准。

All Disparate Data(多源异构数据):支持关系表、文本、图像、视频等结构化数据和非结构化数据存储。

Native on Cloud(云原生):适合云环境,自由增减计算和存储资源,按用量计费,节约成本。

Consistency(数据一致性):通过完善的事务机制,保障不同用户同时查询和更新同 一份数据时的一致性。

High Concurrency (超高并发):支持数十万用户使用复杂分析 查询并发访问同一份数据。

One Copy of Data(一份数据):所有用户(BI 用户、数据科学家 等)可以共享同一份数据,避免数据孤岛,实现一份数据,就必须采用开放的格式。

Real-Time(实时T+0):通过全量数据 T+0 的流处理和实时按需查询,满足基于数据的事前预测、事中判断和事后分析。

问题七

湖仓一体相较于逻辑湖仓一体、湖仓分体、湖上建仓,真正解决的痛点是啥?  

解决的痛点正如前文答案所述,都是围绕着 ANCHOR 六大价值点。除了实现了传统架构难以实现的一份数据、高性能和高并发、从离线到实时按需查询,湖仓一体架构为企业带来的价值也可以通过一组数字来说明:

  • 平台共享一份数据,存储成本降低 2 倍

  • 保障数据一致性,数据治理变得简单,治理工作量降低  3 倍

  • 平台开发工作量降低  1 倍

  • 平台维护成本降低 2 倍

问题八

湖仓一体技术栈如何选择?        

湖仓一体平台技术栈的选择可以从以下几个角度考虑:数据需求和业务场景、数据规模和性能要求、技术成熟度和生态系统、系统复杂度和维护成本、团队技术能力和培训成本。技术成熟度和可获得性方面,强烈建议抓住湖仓一体的本质——ANCHOR 六大特性:All Disparate Data(多源异构数据)、Native on Cloud(云原生)、Consistency(数据一致性)、High Concurrency (超高并发)、One Copy of Data(一份数据)、Real-Time(实时T+0)。

问题九

大家现在提湖仓一体,是“一体”更重要?还是湖和仓的“能力”更重要?        

在这个语境下,我们认为“一体”是一体化架构,“能力”是实现业务价值的能力。“一体”和“能力”的关系应该是怎样的?企业数据平台具备了湖仓一体的一体化架构,才拥实现业务价值的能力(即 ANCHOR 六大价值点),这是一个因果关系。单独的湖、仓、单独的仓、湖仓分体、逻辑湖仓一体都不能完全实现 ANCHOR 六大价值点。比如使用开放数据格式,形成一份数据,逻辑湖仓一体都是无法实现的。

问题十

建设完湖仓一体之后,湖在哪里仓在哪里?   

从概念上理解,湖仓一体架构不再区分湖和仓。从数据存储的角度,其数据存储在低成本的存储架构之上,既拥有数据湖数据格式的开放灵活性,又继承了数据仓库的高性能、易用性和规范性。过往,构建湖只能用 Hadoop 技术栈,否则存不下,做数仓就得用 MPP 数据库,这本来就是割裂的,而现阶的湖仓一体就不再有这样的问题,所以湖和仓都在新的一体化平台中,是架构上的统一。

问题十一

做湖仓一体是为了提升查询性能,湖仓一体的数据量会越来越大,如何保障性能?   

数据量越来越大恰恰是我们专注做湖仓一体的重要背景之一,也是湖仓一体重点要解决的问题。一个好的的湖仓一体架构本质上是存算分离的,因此,即便数据量越来越多,存储和计算资源也可以有针对性的扩展,保证平台在面对数据快速膨胀的情况下仍然能够高效执行复杂查询,此外,针对短时间内大量的查询需求,湖仓一体平台可以通过弹性资源临时增加计算资源来提升查询效率。

需要注意的是,查询性能不完全依赖环境资源,数据分区分片、索引优化、查询优化、存储优化、缓存优化等数据库调优策略都可以提升平台性能。

实施篇

问题十二

已经有数据仓库,将数据仓库改造成湖仓一体容易吗?        

目前的数据仓库基本都是基于 MPP 数据库构建的(当然也有用 Oracle 做数仓的情况),MPP 存算耦合,扩展能力有限,而湖仓一体架构的本质要求是存算分离,因此要用支持存算分离、多计算集群架构的分布式数据库替换原来的 MPP,并和其他引擎(如 Spark/Flink 等)共享同一份数据。因此基于数仓的湖仓一体改造路径是进行传统MPP产品替换,并对既有模型和应用进行改造。

问题十三

已经有数据湖,是否可以将数据湖改造成湖仓一体?

数据湖基本都是基于 Hadoop 构建的,底层存储是 HDFS,因此将数据湖改造成湖仓一体理论上是可行的,但是需要注意的是,数据要采用①开放的格式,以及②存算分离改造。之所以对 Hadoop 平台进行存算分离改造,是因为大多数的 Hadoop 部署都是存算耦合的,存算分离改造的最佳方式就是引入存支持存算分离、多计算集群架构的分布式数据库,让多个引擎(如 Spark/Flink 等)可以共享同一份数据。

问题十四

你提到让DB、 Spark 和 Flink 等多个引擎共享一份数据,引擎之间如果进行分工?

引擎的分工方法和原则就是让不同引擎做它最擅长的事情。传统的数据湖和数据仓库主要处理三大类数据:结构化数据、非结构化数据、流式数据,因此可以有针对性采用不同引擎进行数据的处理。比如,针对流数据处理,建议使用应用广泛的 Flink;针对非结构化数据和机器学习等场景,建议使用 Spark;针对结构化数据的查询和跑批等核心场景,建议采用支持存算分离、多计算集群架构的分布式数据库,比如 OushuDB。

图片

湖仓一体虚拟计算集群示意图

问题十五

目前我们企业既有湖也有仓,应该新建湖仓一体,还是基于湖和仓改造升级比较好?升级改造的话,是从湖到湖仓一体还是从仓到湖仓一体?

对于有湖有仓的用户,可以考虑从湖到湖仓一体的改造路线,并使用支持存算分离、多计算集群架构的分布式数据库替换传统的数仓,请参考上一个回答的详细内容。当然也可以考虑新建。

问题十六

基于原有的湖进行湖仓一体改造,改造工作量大吗?

改造的工作量有些是基于需求而变化的,这里我们可以讨论下一些必须的改造工作。

首先要看客户是不是有数据仓库。如果有数据仓库,就需要进行数仓的迁移,要理清数据仓库的模型情况,实施过程还涉及到数据迁移,模型迁移,脚本迁移,还有做应用接口改造,迁移过程中需要有自动化迁移工具。如果没有数仓,迁移的工作就可以省去,但湖仓一体平台建设就要覆盖数据建模等工作,从0到1实现数据建模也是不小的工程。此外,原数据湖与新湖仓一体虽然可以共用底层存储,比如 HDFS,S3 等,但仍涉及到脚本和应用迁移。

这里还要分享一点,就是我们不要畏惧平台改造,平台改造过程中可以重新梳理数据脉络,找出数据隐藏的暗病。解决了既有的数据问题,落地的湖仓一体平台才会是一个高效的平台。

问题十七

管理数据湖和管理数仓是两个团队,实现湖仓一体后组织架构需要什么变化吗?           

对于业务侧,湖仓一体的实现会直接影响企业的数字化转型战略,业务侧的组织架构的变化应该根据企业数字化转型战略进行调整。对于技术侧,IT 体系比较庞大的企业组织内部很可能会区分数据湖团队和数据仓库团队,两个团队之间一般是平行关系,这也是由于以往技术架构割裂和业务归口造成的历史原因。湖仓一体实现后,生态整合了,技术可扩展性更强了,易用性更高了,湖仓一体平台依然包括多个组件,比如数据库,不同的计算引擎,存储,调度,ETL 工具,数据资产管理,BI 工具等,根据用户的具体情况,依然需要多人或者多个团队合作。但这本质上是管理问题,不是技术问题,管理问题首先还是应该理清企业自身的管理诉求和数字化转型战略。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/821623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥云课ROS机器人旧版实验报告-07外设

项目名称 实验七 ROS[Kinetic/Melodic/Noetic]外设 成绩 内容:使用游戏手柄、使用RGBD传感器,ROS[Kinetic/Melodic/Noetic]摄像头驱动、ROS[Kinetic/Melodic/Noetic]与OpenCV库、标定摄像头、视觉里程计,点云库、可视化点云、滤波和缩…

嵌入式系统工程师怎样才能不落伍

不断增加的复杂性和异质化正在衍生出一些新的方法,能够避免在设计周期结束时出现意外。 在一个系统中,硬件的表现是否优秀取决于运行在其上的软件。随着系统复杂性的增加,总是软件在拖后腿。 缩小硬件和软件差距的方法是不断改进软件开发的方…

【Java】多医院、多诊所、多机构SaaS模式云HIS信息管理系统源码

云HIS,一款基于云计算和大数据技术的智慧医院云平台,为医疗机构提供了一种全新的信息化解决方案,旨在实现数据安全、用户满意度和成本效益的最佳平衡。 基于云计算技术的B/S架构的HIS系统,为基层医疗机构提供标准化的、信息化的、…

攻击数亿个账户,黑客利用OAuth2.0疯狂作恶

一、OAuth协议介绍 OAuth是一种标准授权协议,它允许用户在不需要向第三方网站或应用提供密码的情况下向第三方网站或应用授予对存储于其他网站或应用上的信息的 委托访问 权限。OAuth通过访问令牌来实现这一功能。 1.发展历史 OAuth协议始于2006年Twitter公司Ope…

Python爬虫遇到URL错误解决办法大全

在进行Python爬虫任务时,遇到URL错误是常见的问题之一。一个错误的URL链接可能导致爬虫无法访问所需的网页或资源。为了帮助您解决这个问题,本文将提供一些实用的解决方法,并给出相关代码示例,希望对您的爬虫任务有所帮助。 一、…

mysql进阶-触发器

在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如 商品信息 和 库存信息 分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时 在库存表中…

牛客网Verilog刷题——VL41

牛客网Verilog刷题——VL41 题目答案 题目 请设计一个可以实现任意小数分频的时钟分频器,比如说8.7分频的时钟信号,注意rst为低电平复位。提示:其实本质上是一个简单的数学问题,即如何使用最小公倍数得到时钟周期的分别频比。设小…

23种设计模式详解与示例代码(详解附DEMO)

设计模式在Java中的应用与实现 🚀🚀🚀1.创建型模式1. 工厂方法模式(Factory Pattern)2.抽象工厂模式(Abstract Factory Pattern)3. 单例模式(Singleton Pattern)4.原型模…

Bug解决:ModuleNotFoundError: No module named ‘taming‘

from taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer ModuleNotFoundError: No module named taming 在安装 taming-transformers时,出现了以下两个报错: 报错一: from taming.modules.vqvae.quantize import V…

使用langchain与你自己的数据对话(四):问答(question answering)

之前我已经完成了使用langchain与你自己的数据对话的前三篇博客,还没有阅读这三篇博客的朋友可以先阅读一下: 使用langchain与你自己的数据对话(一):文档加载与切割使用langchain与你自己的数据对话(二):向量存储与嵌入使用langc…

2023CRM如何选型?有哪些特点需要注意?

企业管理中客户关系管理系统被认为是至关重要的一环。随着市场竞争加剧和科技不断发展,企业面临着各种选择,如何选择适合自己的CRM系统变得非常重要。本文将为您介绍2023CRM选型最新指南。 首先,应该了解CRM系统的分类,根据自己的…

LeetCode每日一题——1331.数组序号转换

题目传送门 题目描述 给你一个整数数组 arr ,请你将数组中的每个元素替换为它们排序后的序号。 序号代表了一个元素有多大。序号编号的规则如下: 序号从 1 开始编号。一个元素越大,那么序号越大。如果两个元素相等,那么它们的…

【Python机器学习】实验07 K-means无监督聚类

文章目录 聚类K-means 聚类1 准备数据2 给定聚类中心,计算每个点属于哪个聚类,定义函数实现3 根据已有的数据的标记,来重新更新聚类中心,定义相应的函数4 初始化聚类中心,定义相应的函数5 定义K-means算法6 绘制各个聚…

windwos server 2008 更新环境,且vs_redis 安装失败

KB2919442 下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id42153 KB2919355 下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id42153 安装步骤:先安装442,后安装355

C++ 对象的生存期

对象(包括简单变量)都有诞生和消失的时刻。对象诞生到结束的这段时间就是它的生存期。在生存期内,对象将保持它的状态(即数据成员的值),变量也将保持它的值不变,直到它们被更新为止。对象的生存…

windows下安装anaconda、pycharm、cuda、cudnn、PyTorch-GPU版本

目录 一、anaconda安装及虚拟环境创建 1.anaconda的下载 2.Anaconda的安装 3.创建虚拟环境 3.1 环境启动 3.2 切换镜像源 3.3环境创建 3.4 激活环境 3.5删除环境 二、pycharm安装 1.pycharm下载 2.pycharm的安装 三、CUDA的安装 1.GPU版本和CUDA版本、cudnn版本、显卡…

布瑞特单圈绝对值旋转编码器串口数据读取

布瑞特单圈绝对值旋转编码器串口数据读取 数据手册:http://briter.net/col.jsp?id109 (2.1版本RS485说明书通信协议 单圈.pdf) 绝对式编码器为布瑞特BRT38-ROM16384-RT1,采用RS485通信。 该绝对式编码器共有5根线:红、黄、黑、绿、白 由…

解决 MyBatis-Plus + PostgreSQL 中的 org.postgresql.util.PSQLException 异常

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

计算机网络期末复习要点(谢希仁第8版)抱佛脚通用

熬夜苦肝4天,拿下! 课本是谢希仁的计算机网络,第8版。 本文原创!禁止转载。 复习建议:本博客不一定能涵盖你们考试的重点,所以不是走到穷途末路的同学还是应该多多回归课本,课本每章后面都有…

DRM几个重要的结构体及panel开发

一、DRM Linux下的DRM框架内容众多,结构复杂。本文将简单介绍下开发过程中用到的几个结构体。这几个结构体都在之前文章里面开发DRM驱动时用到的,未用到的暂不介绍。 DRM中的KMS包含Framebuffer、CRTC,ENCODER,CONNECTOR&#xff…