基于HashData的湖仓一体解决方案的探索与实践

news2024/11/25 4:32:04

2023年4月7日,由中国DBA联盟(ACDU)和墨天轮社区联合主办的第十二届『数据技术嘉年华』(DTC 2023) 在北京新云南皇冠假日酒店盛大开启。HashData资深解决方案架构师李俊在4月8号专题会场6-“融合应用:湖仓技术创新”上发表了《基于HashData的湖仓一体解决方案的探索与实践》的专题演讲。

本文根据演讲实录整理而成,演讲正文如下(全文阅读需要20分钟以上):

一、湖仓一体的演进

数据仓库的概念是比尔·恩门(Bill Inmon)在1991年出版的《Building the Data Warehouse》一书正式提出后被广泛接受。经过30年发展,在金融、通信、航空等各行各业都是有广泛应用。

数据仓库具有便于BI和报表系统接入,数据管控能力强的优势,但是随着大数据的兴起,表现出不支持非结构化数据、专有系统成本高,专有数据格式、灵活度低的劣势。

数据湖的概念兴起于大数据的出现,是在2010年左右,它具备存储成本较低、支持非结构化数据。数据湖一度被认为会取代数据仓库,但是随着数据湖投入实际应用中,人们逐步发现到它的一些劣势:对BI系统的支持不足、查询性能低、数据交互不实时、可靠性差等问题。

在数据湖与数据仓库之间学术界、工业界发生过激烈的争辩,最后基本达成共识:数据仓库与数据湖就像苹果与橙子,它们是完全不同的东西,不会相互取代。

数据仓库和数据湖不会相互取代,它们会共存,共同组成企业的数据平台。Gartner提出的逻辑数据仓库概念就包括了数据仓库和数据湖两个部分,这也是目前大多数企业的一个现状。

但是创新者并不满足于现状,在2020年左右由Databrick公司率先提出了Lakehouse的概念,在国内翻译成湖仓一体或者湖仓。

不难看出Lakehouse是前一半来源Data Lake,后一半是来源Data Warehouse。它的寓意是Lakehouse吸收数据湖和数据仓库的优势,创建一个新的平台。

湖仓一体(Lakehouse)分别在数据格式、数据类型、数据访问、可靠性、治理与安全、性能、扩展性、用户场景支持提出新要求。

为了满足上述的新要求,湖仓一体(Lakehouse)必须具备如下的关键能力。

  • 存算分离

数据湖需要提升的关键能力:

  • 事务

  • BI支持

  • 性能

  • 数据治理与安全

数据仓库需要提升的关键能力:

  • 多数据类型

  • 机器学习

  • 成本

二、国外湖仓技术发展简介

提到国外的湖仓技术,人们讨论最多的Databrick、Hudi、Iceberg这三家开源解决方案。Databrick家解决方案是DeltaLake,我有幸参加过DeltaLake的产品培训和试用,确实具备了事务、BI支持、性能等方面的关键能力,体验很好。

 Apache Hudi是DeltaLake的竞争对手。

 Apache Iceberg是DeltaLake的另一个竞争对手。正是由于开源Hudi、Iceberg快速的发展,逼迫DeltaLake由商用改为开源。

谈到Iceberg,我们需要重点介绍一个概念:Table Format(数据表格格式),Table Format是抽象层,帮助计算引擎处理底层的存储格式(ORC、Parquet等),而不是像以前那样需要直接操作底层存储。这个概念很重要,在后面的技术分享会用到。

 上面提到Apahce DeltaLake/Apache Hudi/Apache Icerberg三种开源解决方案都是数据湖向数据仓库融合的技术路线,HashData作为一个数据仓库解决方案将向大家展开一个数据仓库向数据湖融合的新视角。

三、HashData创新与探索实践

HashData最初的产品原型是基于Greenplum,它是一个典型的MPP架构,但是它是存算耦合的,即数据存储、数据计算都在一个数据节点。

 经过面向云原生的反复迭代设计后,HashData v3的架构是这样的。它是一个服务、计算、存储三者分离的架构,有效解决了传统MPP的木桶效应问题,使得HashData数据仓库具备支持超大规模的集群能力。

HashData目前已经成功应用于C行的超大规模数据仓库服务,截止2022年底,目前在生产中已经有2万多个数据节点 在运行,数据存储约13PB左右。

数据仓库向数据湖融合另一挑战是如何提供低成本解决方案?来自华为云官网的数据显示,对象存储的成本仅仅只有磁盘、SSD的价格的几十分之一。如果把所有的数据全部存储在对象存储中,整体解决方案将大幅降低。不幸的是对象存储的IO不太好,这样会牺牲性能。在价格和性能中间,我们采用多级存储技术:持久化数据存储在对象存储中,在计算层增加热点缓存技术,很好的解决了这个问题。

 采用了对象存储的HashData数据湖解决方案整体成本可以降低到原来的1/10,但通过热点缓存技术保证了性能。相关Benchmark数据报告表明,性能非常接近原来的水平。

 对于机器产生的数据比如IoT数据,HashData支持流式计算引擎准实时写入,从而提高数据分析的实效性。

 在A能源集团案例中,统一数据湖已经存储油藏、地质、勘探、生产等数据1.7PB,当然也有上面提到的机器设备产生的流式数据。

对于半结构化数据,现在基本上数据库都有很好的支持,这是不重复说明了。重点在于非结构化数据,数据库其实可以以二进制方式存储图片等,但使用起来比较麻烦,这不是一个好的解决方法。

对于非结构化分析,目前我们给出的解决方案是分两部分:

  1. 原始文件存储在对象存储中。

  2. 解析出来的结构化数据存储于数据库中,便于检索比对。

    下面以高速公路的卡口数据分析案例进一步说明。摄像头抓拍车牌信息后,将原始照片存储到对象存储,以做原始证据。解析出来的车牌号、颜色、时间存放到HashData数据库,以支持流量统计监测、逃费稽核等应用。

  3. 对于机器学习,HashData支持SQL方式调用函数在库内进行机器学习,现在新增支持更开放的Python的原生支持。综上,HashData湖仓一体解决方案是一个以服务、计算、存储三者分离的技术架构为基石,面向多种场景,包括数据仓库、数据湖,也包括数据要素市场等场景的解决方案。

 

四、湖仓融合的思考与展望

湖仓融合后的会形成一个统一存储+多计算引擎的格局。对于数据格式的融合,HashData后续会引入Iceberg作为TableFormat。

今天分享的更多的技术平台融合,更多模型、数据治理、数据资产管理方面的湖仓一体专题请参考以上两本杂志。

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

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

相关文章

从零开始学JAVA(05):面向对象编程--04

一、StringBuilder StringBuilder是一个非常方便的用来处理和拼接字符串的类,它和string不同的是,它是可变的 package com.lcy.learn;public class LearnStringBuilder {public static void main(String[] args) {// StringBuilder首先是可变的// 而且对…

牛客网算法八股刷题系列(九)训练过程损失函数不下降问题

牛客网算法八股刷题系列——训练过程损失函数不下降问题题目描述正确答案:D\mathcal DD题目解析延伸:训练过程损失函数不下降的其他情况题目描述 在训练神经网络时,损失函数(Loss)(\text{Loss})(Loss)在最初的几个Epoch\text{Epoch}Epoch时没…

delphi 实现Ribbon风格的窗体

随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格。 那么我们如果要自己开发,应当怎么做呢?本文就是为大家解开这个疑团的。 首先,Delphi本身并没有Ribbon风格的窗口可以直…

epoll为什么用红黑树?

网络编程的时候有没有碰到过 Socket 对象?或者在配置代理的时候,有没有碰到配置 Socket 地址?当你看到服务端 Socket、客户端 Socket 等名词时,是否可以明确理解这些概念? 学习好这些知识有一条主线,就是抓…

Dockerfile构建镜像缓慢解决方案总结

分几种不同的情况,不断更新中 1、Dockerfile apk add 下载更新软件时,比较慢,如何解决 例子如下: 更好一下仓库源 RUN sed -i s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g /etc/apk/repositories或者改成科大的镜像 RUN…

android核心架构Framework组件介绍

作为一个android开发者,核心架构是必须要了解的。只有了解每个核心层的作用,才能更深入的理解和学习。本篇主要讲解Java Framework层核心代码流程。 文章目录一,Android系统架构1.System Apps2.Java Framework3.系统运行库层4.硬件抽象层&…

Matplotlib库的简单用法

Matplotlib库的简单用法 Matplotlib是python科学计算中最基础、最重要的绘图库,是Python中最流行的数据可视化库之一,它提供了大量的绘图函数和工具,可以让用户创建各种类型的图表和图形,一般使用matpltlib完全可以满足我们绘图需…

“成功学大师”杨涛鸣被抓

我是卢松松,点点上面的头像,欢迎关注我哦! 4月15日,号称帮助一百多位草根开上劳斯莱斯,“成功学大师”杨涛鸣机其团队30多人已被刑事拘留,培训课程涉嫌精神传销,警方以诈骗案进行立案调查。 …

基于4412的dm9000驱动移植

1 概述 以太网高速稳定的特性比Wifi无线传输有一定的优势,当无线传输无法满足一些智能设备,需要开发设计以太网模块。Linux支持以太网系统,结合4412开发板,重点学习dm9000驱动的设计与实现。 2 硬件资源分析 2.1 4412开发板以太网…

【Python】Python中的列表,元组,字典

文章目录列表创建列表获取元素修改元素添加元素查找元素删除元素列表拼接遍历列表切片操作元组创建元组元组中的操作字典创建字典添加/修改元素删除元素查找字典的遍历合法的key类型列表 列表是一种批量保存数据的方式,列表使用[]表示 创建列表 创建两个空列表 …

nginx优化及配置

nginx隐藏版本号 查看方法 浏览器F12 看network头部看server curl -i 192.168.232.7 获取头部(查版本号) 配置文件改 添加server_tokens off 改源码 cd /src/core vim nginx.h 修改 修改的IIS为window常用的软件服务 重新编译安装 cd nginx_1.2…

【C++】while 循环应用案例 - 猜数字游戏

目录 1、缘起 2、案例描述 3、代码 4、相关知识点 4.1、rand() 函数 4.2、srand() 函数 5、总结 1、缘起 猜数字游戏是一种简单而又有趣的游戏,在这个游戏中,计算机会生成一个随机数字,玩家需要通过不断猜测来猜出这个数字。在本篇博…

使用docker搭建lnmp环境+redis服务

lnmp搭建过程,前文已经写了传送门,本文主要写一下运行redis容器和php-fpm容器内安装redis扩展 redis 1.创建宿主机配置和数据文件夹 [rootlocalhost ~] mkdir -p /lnmp/redis/{data,conf}2.放置/lnmp/redis/conf/redis.conf文件 点我下载 3.启动容器 …

k8s+kubeedge+sedna安装全套流程+避坑指南+解决办法

最近在学习边缘计算要用到kubeedge,安装了好多次总会遇到各种各样的问题,因此在这里一一列出,以方便下次安装。则里面可能出错的地方太多,如果有问题,请私信联系。 一、环境准备 节点IP环境软件云端节点172.23.70.23…

Python|矿产卫片Excel经纬度坐标数据转换为shp点数据——OGR库实现

1.实验需求 基于Excel表格里面的经纬度坐标数据,自动生成点shp矢量文件,并添加属性信息。 2.编程思路详解 ①使用Pandas库读取原始矿产图斑列表表格; xlsx_path = uC:\\Users\\YaoJun\\Desktop\\矿产图斑列表.xlsx #sheet_name默认为0,即读取第一个sheet的数据 df = pd.…

TPM管理工作应该如何开展?

在制造行业,Total Productive Maintenance(TPM)管理被广泛认为是提高生产效率和设备可靠性的有效方式。然而,实施TPM管理需要深入的专业知识和经验。本文将探讨如何开展TPM管理工作,以确保制造企业的生产效率和设备可靠…

2023-Python实现烯牛数据采集

文章目录👉1、目标网址👉2、接口分析👉3、代码实现【JS 逆向百例】 1/100 学习记录:哈喽~ 前面我们接触了一些JS逆向的数据获取,如果前面的百度,有道翻译和正方教务系统的登录加密你已掌握,说明…

计组2.4——加法器的设计

计组:2.4算术逻辑单元异或门实现奇偶校验的原理串行加法器&&并行加法器并行加法器的优化算术逻辑单元 控制信号: 当M0时表示算术运算 当M1时表示逻辑运算 S0~ S3表示做什么运算,因此ALU可以表示16种算数运算和16种逻辑运算 Ai,Bi代表…

PL-VINS线特征处理部分源码阅读

PL-VINS线特征处理部分源码阅读1 linefeature_tracker2 三角化单目三角化双目三角化3 后端优化线特征状态量重投影误差本文主要阅读PL-VINS中引入线特征的代码实现,包括线特征表示方法(Plcker参数化方法、正交表示法)、前端线特征提取与匹配、…

遥感、GIS及GPS在土壤空间数据分析、适应性评价、制图及土壤普查中的应用

摸清我国当前土壤质量与完善土壤类型,可以为守住耕地红线、保护生态环境、优化农业生产布局、推进农业高质量发展奠定坚实基础,为此,2022年初国务院印发了《关于开展第三次全国土壤普查的通知》,决定自2022年起开展第三次全国土壤…