GaussDB(DWS)云原生数仓技术解析
摘要:本文主要介绍GaussDB(DWS)云原生数仓架构、产品能力,帮助开发者快速了解GaussDB(DWS)云原生数仓相关信息与能力。
本文分享自华为云社区《直播回顾 | GaussDB(DWS)云原生数仓技术解析》,作者:胡辣汤。
在本期《GaussDB(DWS)云原生数仓技术解析》的主题直播中,我们邀请到华为云EI DTSE技术布道师/华为云数仓GaussDB(DWS)云原生首席SE 王传廷,针对GaussDB(DWS)云原生数仓架构、产品能力,与开发者和伙伴朋友们展开交流互动,帮助开发者快速了解GaussDB(DWS)云原生数仓相关信息与能力。
数仓需求变化及技术架构演进
云计算时代,数据仓库的需求和技术架构也在不断地发生变化。数仓需求主要分为两类场景:
- 公有云场景,主要是指用户直接购买的公有云厂商的云服务。公有云用户的需求更多关注在产品成本、扩容灵活弹性、数据共享。
- 线下部署场景,这类场景可能是用户购买的硬件部署了一个软件,也可能是用户在机房搭建了内部私有云环境。线下部署场景主要需求是:系统稳定、负载之间有较好的隔离能力、数据共享、弹性。
数仓技术架构演进由最初Shared Storage共享存储到Shared Nothing分布式计算架构再到现在的存算分离架构。
- 存算分离架构特点:存储类似shared storage,计算类似shared nothing,每个节点只处理自己分片的数据。
- 存算分离架构优点:计算存储分层扩展,计算节点扩容无需数据重分布,速度快,灵活;存储节点按需扩容,无限容量;计算节点之间无需协调机制,只需保证计算节点只处理自己分片的数据。

GaussDB(DWS)云原生数仓架构解析
华为云GaussDB(DWS)历经12年技术演进,2011年开始技术预研,2014年首次上市,通过不停地迭代和演进,从2017年开始大规模商用,当前全球已累积1700+大客户。针对数仓发展趋势,GaussDB(DWS)也在不断地演进,2022年推出实时数仓、IoT数仓,应对实时数据的接入,满足实时计算场景需求。2023年即将发布的云原生数仓,支持存算管三层分离、湖仓一体、数智融合,具备优异性能和极致弹性能力。
GaussDB(DWS)云原生数仓产品能力
一、极致弹性
GaussDB(DWS)云原生数仓极致弹性,具备管理层、计算层、存储层三层分离独立灵活伸缩,一数多用、按需配置优势。
存算管三层分离:存储层,支持私有格式和开放格式,开放格式主要支持ORC/Parquet/Hudi等大数据生态的主流格式。私有格式是GaussDB(DWS)的存储格式,数据存储在OBS上,在私有格式上具备更好的性能。计算层,我们抽象了Virtual Warehouse概念(简称VW),也叫逻辑集群。VW是一组计算单元,可以灵活地添加或者释放,数据不属于任何一个VW,仅仅只是绑定关系。管理层是指将集群管理查询优化与GaussDB(DWS)数据节点和GTM层体现出来。
一数多用:数据存储在OBS上,任意逻辑集群均可承载读写负载,多逻辑集群间共享数据,无需拷贝,提供跨逻辑集群建的实时和近实时两种数据共享方式。
按需配置:通过逻辑集群隔离不同业务,性能稳定,业务承载量或并发量线性扩展,可以进行读写分离或多读多写。
二、湖仓一体
之前使用大数据写数据,需要创建外表,指定外表字段,并与大数据字段对应,需要访问多少张表,就创建多少张表,当外表数量只有一两张时维护也比较容易,外表越来越多时,维护成本也随之增加,如果数据湖中字段发生了变化,外表也需要更改。GaussDB(DWS)云原生数仓在湖仓一体方面做了能力增强,降低维护成本。在这里我们引入新的概念External Schema。我们通过创建一个 External Schema的形式,自动对接Hive Metastore元数据管理,直接访问数据湖的数据表定义,不再需要创建外表,提升体验,降低维护代价。
同时我们支持外表和内表进行融合查询,混合查询数据湖和数仓内任意数据,查询一步到位输出到数仓内/数据湖,无需额外数据中转拷贝,数据湖享受数仓的极致查询性能。
三、数智融合
打通数据仓库与AI生产线,通过OBS共享开放格式数据,为AI生产线提供强劲的数据处理能力和灵活的供数方式。提供SQL语法,在数据分析过程中提供驱动AI训练、应用AI推理的能力。直接调用部署的推理服务端点,灵活性好;将模型二进制部署为UDF,性能好。
四、优异性能
存算分离后,我们通过三个方面保证数仓性能,分别是:缓存、近数据计算(计算下推)、IO调度。
- 缓存:将热数据优先缓存到本地,本地磁盘缓存空间够用的情况下,可以体验到和本地表一样的性能。GaussDB(DWS)在每个计算节点自带磁盘缓存,可以将OBS的数据缓存到本地,提升性能。
- 近数据计算:将冷数据优先计算下推到存储层,降低读取数据量。
- IO调度:充分利用云存储带宽优势,弥补其相较传统MPP的高延迟劣势;单查询充分利用资源,为并发查询提供稳定、可预测的性能保证;多级资源池灵活配置。
欢迎感兴趣的开发者观看直播回放,了解详细信息。更多关于GaussDB(DWS)产品技术解析、云原生数仓产品新特性的介绍,请关注GaussDB(DWS)论坛,直播安排将第一时间发布在GaussDB(DWS)论坛热门活动版块。
论坛链接:https://bbs.huaweicloud.com/forum/forum-598-1.html
GaussDB(DWS)云原生数仓技术解析的更多相关文章
- 文盘Rust -- rust 连接云上数仓 starwift
作者:京东云 贾世闻 最近想看看 rust 如何集成 clickhouse,又犯了好吃懒做的心理(不想自己建环境),刚好京东云发布了兼容ck 的云原生数仓 Starwfit,于是搞了个实例折腾一番. ...
- 混部之殇-论云原生资源隔离技术之CPU隔离(一)
作者 蒋彪,腾讯云高级工程师,10+年专注于操作系统相关技术,Linux内核资深发烧友.目前负责腾讯云原生OS的研发,以及OS/虚拟化的性能优化工作. 导语 混部,通常指在离线混部(也有离在线混部之说 ...
- 灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?
灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟? 历史进入2019年,放眼望去,今天的整个技术大环境和生态都发生了很大的变化.在己亥猪年春节刚刚过去的早春时节,我们来梳理和展望一下整个 ...
- 阿里下一代云分析型数据库AnalyticDB入选Forrester云化数仓象限
前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester Wave: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析型数 ...
- DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路
简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...
- 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践
本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...
- 云原生技术赋能ISV实现应用现代化
日前,由BP商业伙伴主办,中国开源云联盟和云原生应用现代化联盟协办的2021-2022云计算生态峰会成功举办.头部ISV代表.最终用户和云原生技术专家等与会各方围绕"云原生技术赋能ISV&q ...
- 网易云通过KCSP认证,云原生技术实力再获认可
近日,网易云通过KCSP认证,正式成为CNCF官方认可的Kubernetes服务提供商,也标志着网易云在云原生领域的技术实力得到了业界认可. Kubernetes是第一个从CNCF毕业的开源项目,凭借 ...
- 《CNCF × Alibaba云原生技术公开课》知识点自测(一):第一堂“云原生”课
(单选)1.容器启动后,我会时常 SSH 进入到容器里然后写很多文件.请问这破坏了云原生理念了吗? A. 否 B. 是 (单选)2.云原生架构必须选型 Kubernetes 方案. A. 否 B ...
- 牛年 dotnet云原生技术趋势
首先祝大家:新年快乐,牛年大吉,牛年发发发! 2020年的春节,新冠疫情使得全球业务停滞不前,那时候,没有人知道会发生什么,因此会议被取消,合同被搁置,项目被推迟,一切似乎都停止了.但是我们却见证了I ...
随机推荐
- Chromium 消息循环和线程池详解
Chromium 中的多线程机制由 base 库提供,要理解 Chromium 中的多线程机制,首先要理解的概念就是 base::MessageLoop 和 base::TaskScheduler , ...
- `.NET Web`新人入门必学项目`EarthChat`
.NET Web新人入门必学项目EarthChat EarthChat是一个基于.NET 7的实战项目,EarthChat提供了很多的最佳实践,EarthChat的目标也是成为一个很多人都喜欢的大型聊 ...
- 相邻像素相关性的matlab实现
目录 加密性能分析(一)相邻像素相关性的matlab实现 相邻像素相关性 (一)概念 (二)相邻像素的相关系数 (三)相邻像素分布图 加密性能分析(一)相邻像素相关性的matlab实现 相邻像素相关性 ...
- Python 包管理器入门指南
什么是 PIP? PIP 是 Python 包管理器,用于管理 Python 包或模块.注意:如果您的 Python 版本是 3.4 或更高,PIP 已经默认安装了. 什么是包? 一个包包含了一个模块 ...
- 使用rancher rke快速安装k8s集群
概述 Rancher Kubernetes Engine(RKE)是一个用于部署.管理和运行Kubernetes集群的开源工具.旨在简化Kubernetes集群的部署和操作. RKE具有以下特点和功能 ...
- CDQZ DS 题单总结(上)
Preview: 个人认为是一套非常好的题单,能在各个方面练习 DS 水平,并且很多题型也是比赛当中的经典题 题单链接 Challenge 0: 简单的数组,懒得写了. Challenge 1: 考虑 ...
- 代码安全之代码混淆及加固(Android)🔒
代码安全之代码混淆及加固(Android) 目录 代码安全之代码混淆及加固(Android) 摘要 引言 正文 代码混淆 代码加固 总结 参考资料 摘要 本文将介绍如何通过代码混淆和加固来保护An ...
- C语言判断输入的正整数是否既是5又是7的整倍数。
#include<stdio.h> void main() { int n;//定义变量 while (1) { scanf_s("%d", &n); if ( ...
- 学会XPath,轻松抓取网页数据
一.定义 XPath(XML Path Language)是一种用于在 XML 文档中定位和选择节点的语言.XPath的选择功能非常强大,可以通过简单的路径选择语法,选取文档中的任意节点或节点集.学会 ...
- 231106-jmeter随笔
1. 获取接口的执行时间 String ctime = prev.getTime().toString();2. String转int int c = Integer.parseInt(ctime); ...