Serverless 数仓技术与挑战(内含 PPT 下载)

近期,Databend Labs 联合创始人张雁飞发表了题为「Serverless 数仓技术与挑战」的主题分享。以下为本次分享的精彩内容:

主题: 「Serverless 数仓技术与挑战」

演讲嘉宾: 张雁飞

嘉宾介绍: Databend Labs 联合创始人。前青云数据库团队负责人、开源 Databend 项目主要负责人。

演讲大纲: 传统数仓在扩展性、成本和管理等方面具有局限性。在本次分享中,我们将介绍一种新型的 Serverless 数仓技术,这种技术不仅能够解决传统数仓的痛点,还能显著提升性能并降低成本。此外,我们还将讨论 Serverless 数仓所面临的技术挑战。

  • 传统数仓的局限性
  • 理想的 Serverless 数仓架构
  • 如何实现 Serverless 数仓以及有哪些挑战

以下为本次演讲的精彩内容:

当今(2023)大数据分析新问题

大数据分析面临的新问题

  • 近 5 年生产了 ~90% 数据

    •   根据 IDC 的统计和预测,近 5 年来产生了大约 90% 的数据。这里用的单位是 zttabytes(ZB),1024PB = 1EB,1024EB = 1ZB 是一个非常庞大的数字。过去的大数据架构难以适应当下的数据规模,亟需变更,怎么样才能做到弹性和 Serverless 拓展,从而匹配业务增长?
  • 计算和存储成本高昂

     在企业的IT基础设施中,云厂商提供的计算和存储服务导致了高昂的成本。经测算,如果为 EC2 实例创建总容量为 500TB 的 SSD(GP2)存储,每个月在 EBS 服务上将会花费超过 7 万 5 千美元。如何才能在保证低廉成本的同时满足业务性能需求,提供经济、高效能的大数据架构?

  • 大数据平台越来越复杂

 上图是知名投资机构 a16z 绘制的统一数据基础设施架构全景图,不难看出,庞大的数据量和复杂的数据需求,导致大数据平台也变得日益复杂,需要数十种工具紧密协作,对于产品生态愈发严苛的要求。如何无缝与其他工具进行集成,并且复用现有基础设施?

大数据架构,能否完美实现

上述这些问题,为大数据架构提出了新的要求,特别是在以下几个维度上,能否做到“完美”实现 :

  • 存储成本:极致低廉
  • 计算控制:极致精细,支持算子在 Lambda 函数中运行
  • 集群控制:极致弹性,按需伸缩、启停
  • 架构特点:all-in-one platform,完全 Serverless 化
  • 未来规划:为未来的云端大数据做好准备

传统数仓架构 vs. 弹性数仓架构

在进入到架构对比之前,我们先来看一个成本估测公式:Cost = Resource * Time ,也就是成本大致可以用资源与时间的乘积进行测算。

传统数仓架构

传统数仓往往采用 Shared-Nothing 架构,存储、计算一体化设计,弹性相对较弱。而且由于调度上采用资源固定(Fixed-Set)式调度策略,资源控制粒度粗,也会带来更多的成本。

对应到成本估测公式上,在时间一定的情况下,由于耗费资源数量较大,成本将会居高不下。

弹性数仓架构

弹性数仓则采用 Shared-Storage 架构,底层可以使用对象存储,真正做到存储、计算分离,从而支持实时弹性扩容和缩容以及资源按需(Workload-Based)式调度,资源控制粒度更细。

对应到成本估测公式上,相较于传统数仓,弹性数仓的成本将会显著降低:存储成本可以按实际使用量折算,不需要为冗余的存储进行服务;而计算成本则根据业务需要实时调度,按需启停,按量计费,无需保有大量空闲计算资源。

Databend: 新一代云数仓架构设计

新一代云数仓的架构新在哪里?影响现代云数仓架构设计的因素和挑战都有哪些?这一部分将会给你答案。

新一代云数仓

现有数仓的局限

ClickHouse 是一款流行的开源数仓,以性能卓越著称。采用向量化计算技术,细节优化非常到位。具有 Pipeline 处理器和调度器以及 MergeTree + Wide-Column 存储引擎,单机性能非常强悍。

缺点: 分布式能力弱,无法应对复杂分析,运维复杂度高,不是为云设计。

Snowflake 则是一款云数仓,支持多租户,存储、计算分离。基于对象存储,存储介质便宜。弹性能力非常强悍,面向云架构设计。

缺点: 单机性能一般,比较依赖分布式集群能力。

Databend = ClickHouse + Snowflake + Rust

前面列出的是目前在开源和商业化领域领先的两款数仓产品,看上去性能和弹性无法兼得,想要低成本和弹性计算是不是就必须放弃单节点的极致优化呢?我们来看一下 Databend 交出的答卷。

  • 借鉴 ClickHouse 向量化计算,提升单机计算性能。
  • 借鉴 Snowflake 存储、计算分离思想,提升分布式计算能力。
  • 借鉴 Git,MVCC 列式存储引擎,支持 Insert / Read / Delete / Update / Merge 等操作,以及 Time Travel 等高级特性。
  • 全面支持 HDFS 、基于云的对象存储、IPFS 等 20 多种存储协议。
  • 基于便宜的对象存储也能方便的做实时性分析。
  • 完全使用 Rust 研发(超过 33 万行代码),研发第一天就在 Github 开源。
  • 高弹性 + 强分布式,致力于解决大数据分析成本和复杂度问题。

云数仓架构设计

Databend Cloud 架构全景图

Databend Cloud 是基于开源云原生数仓项目 Databend 打造的一款易用、低成本、高性能的新一代大数据分析平台,提供一站式 SaaS 服务,免运维、开箱即用。下面是 Databend Cloud 的架构全景图,也是 Databend Labs 团队对新一代云数仓的架构的设计与实现。

影响云数仓架构设计的因素与挑战

Databend / Databend Cloud 之所以演化出现在的架构,是因为新一代云数仓除了要在性能上比肩传统数仓、弹性上对标弹性数仓之外,还必须解决下面几个重要的问题:

  • Ingest 海量数据网络费用问题:传统 INSERT 模式费用昂贵,需要一套基于 S3 的免费方案。
  • 对象存储不是为数仓而设计,延迟和性能如何平衡:Network-Bound -> IO-Bound -> CPU-Bound 。
  • 如何让系统更加智能,根据查询模式自动创建索引:如何让某些场景的 Query 越跑越快...
  • 如何面向 Warehouse + Datalake 双重需求设计?

前两个问题是云带来的挑战,而后两个问题将直面用户需求,一旦考虑清楚这些问题,云数仓的架构也就呼之欲出了。

Databend 生态全景图

数仓的产品的成败,除了本身的设计和实现之外,也非常依赖数据生态,其关键在于解决数据的输入与输出问题。

Databend 自身支持一定 ETL 能力,能够使用 Stage 和 Multiple Catalog 挂载外部数据源,提供全量、增量、条件等多种导入方式,支持使用 PRESIGN 上传和下载数据。

Databend 积极融入大数据生态,拓展「Databend 朋友圈」,提供全链路解决方案,帮助用户将数据转化为商业洞见。

Databend 为用户提供价值

Databend 是一款开源、开放,运维简单、分钟级部署,为云端海量数据分析而设计的新一代云数仓。

我们在前面介绍了 Databend 的设计与实现,以及在生态方面做的一些努力,但产品是否能够占据市场、满足用户需求,还需要靠数据说话。

Databend v1.0 于 2023 年 3 月 5 日正式发布,目前处于 v1.2 版本,我们统计了以下几条关键数据:

  • 替换 Trino/Presto 场景成本降低了 75%
  • 替换 Elasticsearch 场景成本降低了 90%
  • 归档场景成本降低了 95%
  • 日志和历史订单分析场景成本降低了 75%
  • ~1PB+/天(2023.9 统计)在使用 Databend 写入公有云对象存储
  • 用户来自欧洲、北美、东南亚、印度、非洲、中国等地,每月节省数百万美元

以下是一些在生产环境中使用 Databend 的用户,感谢他们一直以来的支持与陪伴。我们将继续提供更有价值的服务。 

Databend 在开源社区

Databend 从第一天起就在 GitHub 上开源,目前已经成为 Rust 社区中的明星数据库项目。我们与上下游社区紧密协作,共同建设 Rust 大数据生态。Databend 目前的贡献者中不乏大公司背景,比如 SAP、Yahoo、Fortinet、Shopee、Alibaba、Tencent、ByteDance、EMQ、快手,Databend 社区正在被顶级需求、顶级场景驱动。

体验 Databend

最后,欢迎大家体验 Databend 产品与生态,与我们共同建设坚实可靠的大数据基础设施。

  • 本地部署可以尝试我们的社区版本,官网地址是:https://databend.rs 。

  • 同时,也欢迎访问 Serverless Cloud 体验 Databend 在云上的澎湃动力:

    • 海外(AWS / GCP):https://app.databend.com
    • 国内(阿里云 / 腾讯云 / 华为云):https://app.databend.cn

点击下方「阅读原文」,即可获取演讲 PPT 。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue重修002

文章目录 版权声明一 指令修饰符1. 什么是指令修饰符?2. 按键修饰符3. v-model修饰符4. 事件修饰符 二 v-bind对样式控制的增强-操作class1. 语法:2. 对象语法3. 数组语法4. 代码练习 三 京东秒杀-tab栏切换导航高亮四 v-bind对有样式控制的增强-操作sty…

代码随想录刷题 Day18

513.找树左下角的值 这个题用层序遍历比较简单&#xff0c;按照模版改一句话就可以&#xff1b;层序遍历用这个queue来实现&#xff1b; 用前序遍历的话就需要用递归比较麻烦 class Solution { public:int findBottomLeftValue(TreeNode* root) {queue<TreeNode*> que…

Oracle-ADG无法应用日志问题(Bug-17695685)

问题: Oracle11.2.0.4.5的版本&#xff0c;ADG备库mrp进程出现无法应用日志的问题 问题原因分析: 查看当前mrp进程的状态&#xff0c;当前在应用日志thread# 1 626298 select inst_id,process,thread#,sequence#,status from gv$managed_standby;备库查看日志的状态&#xf…

国密国际SSL双证书解决方案,满足企事业单位国产国密SSL证书要求

近年来&#xff0c;为了摆脱对国外技术和产品的依赖&#xff0c;建设安全的网络环境&#xff0c;以及加强我国对网络信息的安全可控能力&#xff0c;我国推出了国密算法。同时&#xff0c;为保护网络通信信息安全&#xff0c;更高级别的安全加密数字证书—国密SSL证书应运而生。…

正则表达式新解

文章目录 是什么&#xff1f;正则用法匹配单个字符匹配一组字符其他元字符核心函数 贪婪匹配和非贪婪匹配正则练习 是什么&#xff1f; 正则表达式(Regular Expression)是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊…

案例题概述

案例题概述 考点 考点 新教材的新增考点 第一题必做&#xff0c;之后是4选2 感觉都是记忆的&#xff0c;课件完整一些&#xff0c;之后以看课件为主了&#xff0c;不在做详细笔记了

IDEA中如何查看自己的SpringBoot的版本

直接输入代码执行&#xff1a; public class App {public static void main(String[] args) {String springVersion SpringVersion.getVersion();String springBootVersion SpringBootVersion.getVersion();System.out.println("Spring版本:"springVersion"\…

java常用API(Math,System,Runtime)

Math Math的常用方法 package myMath;public class myMath {public static void main(String[] args) {System.out.println(Math.abs(-99));//这个表示取绝对值的 打印结果为99//但是他有个bug.int最大取值范围是-2,147,483,648 到2,147,483,647System.out.println(Math.abs(-…

Linux -- 进程间通信之匿名管道

博客中涉及代码已全部上传至Gitee&#xff0c;有需要请自行下载 目录 前言通信基础管道 匿名管道第一步&#xff1a;创建管道第二步&#xff1a;创建子进程第三步&#xff1a;开始通信第四步&#xff1a;结束通信 匿名管道通信代码实现四种特殊情景 基于匿名管道的多进程控制对…

什么是城市坐标系,与国家坐标系的区别?

文章目录 先说国家坐标系什么是城市坐标系城市坐标系建设规范常见的城市坐标系 先说国家坐标系 先1954年我国建立了第一代国家大地坐标系统&#xff0c;即北京54坐标系&#xff0c;英文缩写BJ54&#xff0c;坐标原点在苏联&#xff0c;椭球参数直接拿苏联的。第一代坐标系的椭…

【C++杂货铺】一颗具有搜索功能的二叉树

文章目录 一、二叉搜索树概念二、二叉搜索树的操作2.1 二叉搜索树的查找2.2 二叉搜索树的插入2.3 二叉搜索树的删除 三、二叉搜索树的实现3.1 BinarySearchTreeNode&#xff08;结点类&#xff09;3.2 BinarySearchTree&#xff08;二叉搜索树类&#xff09;3.2.1 框架3.2.2 in…

Linux系统100条命令:关于Ubuntu和 CentOS 7 相同功能的不同的终端操作命令

安装软件包&#xff1a; Ubuntu&#xff1a;apt-get install package_name CentOS 7&#xff1a;yum install package_name 更新软件包列表&#xff1a; Ubuntu&#xff1a;apt-get update CentOS 7&#xff1a;yum update 卸载软件包&#xff1a; Ubuntu&#xff1a;apt-…

Diffusion Autoencoders: Toward a Meaningful and Decodable Representation

Diffusion Autoencoders: Toward a Meaningful and Decodable Representation (Paper reading) Konpat Preechakul, VISTEC, Thailand, CVPR22 Oral, Cited:117, Code, Paper 1. 前言 扩散概率模型 (DPM) 在图像生成方面取得了显着的质量&#xff0c;可与 GAN 相媲美。但是与…

C++ - 红黑树 介绍 和 实现

前言 前面 学习了 AVL树&#xff0c;AVL树虽然在 查找方面始终拥有 O(log N &#xff09;的极高效率&#xff0c;但是&#xff0c;AVL 树在插入 ,删除等等 修改的操作当中非常的麻烦&#xff0c;尤其是 删除操作&#xff0c;在实现当中细节非常多&#xff0c;在实现上非常难掌控…

如何套用模板制作大屏?

在山海鲸可视化的资源中心里内置了大量的二维、三维大屏模板&#xff0c;大家可以根据需要找到自己想要的模板&#xff0c;然后点击下载直接进行使用。 有需要可自行前往哔哩哔哩账号中观看相关内容的视频教程↓↓↓ 山海鲸可视化的个人空间-山海鲸可视化个人主页-哔哩哔哩视频…

cocos2dx查看版本号的方法

打开文件&#xff1a;项目根目录\frameworks\cocos2d-x\docs\RELEASE_NOTES.md 知道引擎版本号的意义&#xff1a; 1.面试中经常被问到(面试官想知道你会不会查版本号&#xff0c;你会查也不一定会去看&#xff0c;如果你去看了说明你是一个有心人&#xff0c;或者想深入研究下…

Java内存泄漏知识(软引用、弱引用等)

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、商业变现、人工智能等&#xff0c;希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、相关知识3.1 内存…

工作中Git管理项目和常见问题处理

工作中Git管理项目和常见问题处理 Git仓库的管理方式为什么会出现无法push到线上处理方法 Git仓库的管理方式 共用统一仓库,不同开发人员使用不同分支 步骤 下载代码 git clone <url>查看分支 git branch创建并切换分支 git checkout -b dev分支名称保持和远程分支一…

计算机视觉与深度学习-图像分割-视觉识别任务03-实例分割-【北邮鲁鹏】

目录 参考定义Mark R-CNN结构思路Mask R-CNN训练阶段使用的Mask样例Mask R-CNN实例分割结果Mask R-CNN检测姿态 参考 论文题目&#xff1a;Mask R-CNN 论文链接&#xff1a;论文下载 论文代码&#xff1a;Facebook代码链接&#xff1b;Tensorflow版本代码链接&#xff1b; K…

微信里怎么添加阅读付费链接

在微信中添加阅读付费链接为主题&#xff0c;首先需要开通微信支付商户号&#xff0c;然后创建自定义菜单&#xff0c;并设置跳转到付费链接的逻辑。以下是详细步骤&#xff1a; 注册并开通微信支付商户号 在微信开放平台上注册并开通微信支付商户号。这一步需要营业执照、法…