解析云上实时数仓的挑战与实践 | Databend @DTCC 2024 演讲回顾

本文主要是介绍解析云上实时数仓的挑战与实践 | Databend @DTCC 2024 演讲回顾,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8 月 22 日 ~ 24 日,由 IT168 联合旗下 ITPUB、ChinaUnix 两大技术社区主办的第 15 届中国数据库技术大会(DTCC2024)在北京朗丽兹西山花园酒店成功召开。本次大会以“自研创新 数智未来”为主题,通过深度交流与探讨,推动数据库技术的自主创新和数智化转型。

作为一家技术领先的数据仓库服务商,Databend 也在本次大会亮相。Databend 联合创始人吴炳锡在“湖仓一体化技术”技术专场中受邀出席担任主持人,并为观众带来主题为《解析云上实时数仓的挑战与应对》的主题分享

图片

近年来,IT 技术迅猛发展,尤其是大数据领域更是日新月异。从曾经年薪百万的大数据架构师到如今被戏称为“数据搬砖”的大数据工程师,行业角色的转变令人深思。尤其是在云计算时代,大数据工程师的工作内容似乎更加琐碎,甚至让人感到难以把握。在本次交流中,吴炳锡老师深入剖析了大数据架构及实时数仓的演进与挑战,探讨如何在云环境中实现高效且低成本的数据治理与应用。以下为演讲实录:

图片

大数据技术栈经过多年演进,整个产品架构现在已经变得非常复杂,各种新技术让人眼花缭乱。从最早的 Oracle、Teradata 到 Hadoop、Kafka,再到 Spark、Flink 流批一体架构,以及现在的 ClickHouse、Hudi、Iceberg、Paimon、Trino、Implala 和各种大模型。一个企业想建设大数据平台,没几个月到半年时间可能都搞不定。

图片

那么能不能找到一个更简单的,面向云的架构?

在私有化方案中,理想架构是分布式存算一体。但到了云上,由于所有流量和流程都是要付费的,这个架构就不是很值得了。在云上,我们将元数据变成一个统一的服务,然后用 K8s 来支撑计算,实现无状态可弹性扩展,不需要还可以弹性收缩;存储用对象存储。最终实现 Pay as you Go,IT 基础架构就如同用电一样,按需付费,用多少付多少钱。

图片

技术的发展路径殊途同归,就像 SpaceX 的发动机近些年的变化一样,都是朝着简单自动化、低成本高性能、可规模化方向发展,大数据技术也经历着大道至简的发展过程。Hadoop 时代做一个大数据架构,需要各种东西,二三十个组件可能都搞不定,一出现问题动不动就要把所有东西重启一遍,架构非常复杂。之后,大家就开始简化架构,过渡到开源湖仓架构。用 Iceberg 统一开放表格式, 加上Spark、Trino 来实现。再往后面就更简单了,大数据进入湖仓一体化架构,对外是统一的 SQL 入口,直接用 SQL 的方式查询。在这个过程中,大数据架构的成本变得更低,更简单易用,同时有了更高性能的存储和高性能的计算能力。由于解决了产品结构的复杂性,用户的数据无需再多次搬家,都统一存放在对象存储里面。此外,以前的大数据里面经常会有数据丢失、数据不一致的问题,Databend 由于是从数据库切到大数据的,第一个理念就是要搞定事务,所有数据的写入必须保证完整一致性。

实时数仓架构在云上面临的挑战

进入云时代,我们发现大数据架构如果只是简单地把 Spark、Flink 搬上云,只解决了海量数据写入的问题,之后你会发现还是有很多东西满足不了,至少还需要一个 MPP 的 OLAP 数仓。但这又要涉及到数据迁移,来回的数据迁移会造成大量的数据不一致,这对于数据治理是一个非常大的挑战。数据技术栈的增多也会造成运维成本特别高。在这种架构下,数据的实时性处理非常差,数据处理的流程也比较长,数据从接入、清洗到最终提供服务,流程快的话 5 分钟就非常不错了,想缩小到分钟或者秒级,基本上不太可能。此外,技术栈一多数据加工资源占用就多,存在严重的性能问题。我们以前看到过一个项目,从 Kafka 到 ETL,再到 ClickHouse,总共200多台机器,其中 ClickHouse 大概 60 台+,Kafka + ETL的机器占用 140 台左右,整个过程非常长,占用资源很大。如此多的技术栈也很容易形成数据孤岛,使得数据散落在各处。经常有数据从数仓建设起就在里面,但从来没被用过。

另外在扩展性方面也面临比较大的问题,大量的本地盘成本可预见的顶不住。现在业界里面有个趋势是把本地盘慢慢替换成云上的对象存储,用对象存储去做数据处理。

图片

在海外有一个比较好的解决方案, Snowflake。在这个产品中,不管你的 SQL 是离线的还是实时的,基本上都可以非常方便地搞定,而且很快。它帮助用户解决了实时数仓架构在云上面临的一些挑战:

01 多账号,多 VPC 下构建一个统一的大数据分析环境

现在很多公司按部门拆分云上的账号,甚至按小组拆分,需要每个 VPC 中一套传统的方案,成本比较高,容易形成数据孤岛及增加运维复杂度。在 Snowflake 里,可以让你跨 VPC 建一个数据中心。比如说你的数据中心有中国香港区、新加坡区、美国东1区、欧洲区等,Snowflake 可以建一个统一的数据中心。同时,它还利用了对象存储本身写入不要钱,内网读取没有流量费等特点,省下来很多流量的费用。

02 云上资源闲置率高,收费项多

目前,很多企业云上的资源闲置非常高,有超过 15% 企业云上使用率都只在 10%,大家买了大量的资源,用的却非常的少,造成了大量的资源浪费。但云上其实有很多项目是收费的,比方流量费,本地盘费用等等。

03 构建副本成本高

传统大数据很难做到多区数据可用,需要大量的数据副本提升数据的可用性。如果你有大量的数据需要存储,数据副本可能会更贵。但用对象存储就会大大缓解这个痛点,AWS 的 S3,阿里云的 OSS、腾讯云的 COS 等对象存储本身就有副本,可以省出来大量构建副本的费用。

Databend 就是针对这种云上架构的特点,研发出一个真正存储一体化的大数据解决方案。它可以满足用户关于云上数仓的绝大部分需求:

图片

  • 统一 SQL 接口,SQL 为王。用户无需再单独学习一套新的语言,不论多复杂的任务,只用 SQL 就可以运行起来;

  • 支持海量数据任意字段查询及任意条件查询;

  • 集群扩缩容方便,计算秒级扩缩容;

  • 支持半结构化对象,复杂 json 处理;

  • 支持外置 UDF,复杂业务逻辑 SQL 化;

  • 基于存算分离架构,数据可以放到 S3;

  • 支持即席查询,同时支持一定量的并发,实时查询;

  • 完善的租户和权限,支持物理级别隔离;

  • 内置流的能力处理,任务调度能力;

  • 复杂任务友好出错处理机制。

如何在云上构建简单易用的大数据平台

图片

Databend 是面向云设计的数仓平台,架构上分为三部分:

第一层是元数据服务。只需要少量本次盘存储,可能 100G 都不到。但单实例可以支持几万级的库表,每秒万级的并发能力;

第二层是 Databend-Query 层这是一个无状态的计算和存储引擎管理层;最下层是存储层,使用对象存储持久化存储数据。

此外,Databend 是基于 Rust 从 0 到 1 开发出来的,这也让 Databend 占了一个特别大的优势:只要你能安装 Rust 编译器,就可以编译通过,就可以在这个环境里运行。所以我们基本实现了所有国产化平台都能运行,所有的 Arm 平台都能运行。而且 Arm 平台可以运行得更好,跑得更稳。

图片

上图是 Databend 的数据写入流程。很多企业在处理数据写入时,会大量使用到 Kafka,通过 Kafka 接收数据后把数据写入到 S3 的一个临时接入桶中。我们的很多用户没有用 Kafka,而是使用 OpenDAL 或者官方的 SDK,直接将数据往对象存储里写,写的过程中 ndjson、paruqet、CSV、ORC 等格式都可以。

数据写完后,Databend 的存算引擎会定期的,甚至秒级地利用批量加功能,把 S3 中的文件加载到 Databend 中。这里有一个比较有意思的功能,所有的 S3 都支持 notify 地址,当你的数据写到 S3 里面,它会往外发通知,你只用订阅这个通知来触发这个任务,就可以实现数据的秒级写入。比如数据每秒钟产生了 1 万个文件,Databend 基本上一秒钟也能加载进来,实现秒级的数据加载。然后数据直接对外提供服务就可以了。

如果你有非常复杂的数据清洗需求,Databend 有数据治理集群可以来处理。你可以把每个任务拆分到不同集群里,有序地进行处理。另外,Databend 内部有 stream,每张表如果有增量的话,可以借助 stream 做相应的计算。这样的话还可以把 Spark 、Flink 也能省下来。

此外,Databend 也可以按不同的业务拆分成多个业务集群,实现同一份数据对外提供服务。

图片

谈到 Databend 的时候经常说到易用性,但易用性怎么证明呢?

第一,Databend 采用全部标准化 SQL 操作。所有 Snowflake 的函数在 Databend 中也都以 SQL 实现了;

第二,不用考虑分区。我们不要求用户做什么分区,Databend 内部已经帮用户做好分区了。我们按照压缩前 100- 150MB 的数据,压缩到对象存储;

第三,不用考虑索引;

第四,不用考虑数据长度,只用考虑数据类型;

第五,扩容也不用考虑 Reshuffle,扩容计算节点与存储是分开的;

第六,无感升级,关掉再起来就是个新的;

第七,可视化的执行计划;

第八,同一份数据多个服务集群同时使用,绝对算例隔离;

九,结构化和半结构化整合;

十,支持 Python UDF 和 AI 整合。

图片

这是 Databend 在云上与 Snowflake 做的一个性能对比测试,在一个 8 核 64G 的节点跑,在 TPCH-100 测试中,数据 100G 压缩完后,在 Databend 只占 24G 的存储空间。整个测试下来,Databend 云平台里面收费只有 0.65 美元。此外,在某客户真实环境里,55 亿大表场景下,统计每年数据行数场景,5 秒完成统计,全表扫描;全表最小最大值统计场景,4 秒完成统计,全表扫描;统计 2022 年数据行数场景,1秒完成统计,部分扫描;统计一年每个月的数据汇总,2-3 秒完成。

图片

Databend 最早的场景是做数据库归档,包括大数据归档。比如 MySQL、TiDB、 OB ,用户觉得贵,数据又特别大,就可以归档到 Databend 中,用对象存储+ K8s 一个非常小的实例就可以,基本成本能下降 95% 以上。

此外,Databend 做的比较多的另一个场景是日志和历史订单场景。一天 100T 左右的审计日志,在 Databend 压缩完后大概可以到 20G 以内,查询可以做到秒级。

云原生架构数仓和 AI 的整合

现在很多企业都在做知识库 RAG,Databend 其实很早也实现了 RAG 方案,将大模型通过调度注册函数的方式注册到 Databend 里面,然后做 embedding, embedding 之后在内部做一些向量化搜索,然后再做大模型的调度。通过这种方式,我们实现了一个非常方便的 RAG 方案。

下一步我们希望想引入 AI 去做 SQL 改错,假如你的 SQL 输入完有些字段错了,能第一时间帮你纠正过来。如果你的 SQL 写得不够高效,它也能帮你更高效地完成这种重复繁琐工作。

此外,Databend 内置了 Python、Java 的 UDF,你可以使用 Python 和 Script 做一些 UDF,进行一些特殊的数据处理。比如数字中加入了全角,身份证号的 15 位转 18 位等特殊需求,就可以借助 json 或者 Python 的方式用 y 值函数来帮你处理。

图片

我们还提供了一个数据集市,它有两套方案,一种是简易的数据集市,可以把同类的表,从 DB ID 到 table ID ,最终注册到别的库里面,注册别的租户去使用。另一种是可以共享视图和一些表的共享服务。

这个功能对企业有什么好处?我们在很多传统行业里面发现,如果企业做好数据资产登记,在需要哪个资产时就可以非常方便地去请求这个数据,请求完之后对方如果同意了,就可以把这张表直接注册到你的库里。你可以以这种植入的方式来访问,甚至以视图的方式来访问它。很多需要把数据搬来搬去的场景,用到这个数据集市后就可以把这些数据搬迁工作全省掉了。而且数据只有一份,数据一致性更高。

以上就是本次分享的全部内容,如果你对 Databend 感兴趣的话,欢迎来体验、试用,点击文末「阅读原文」,立即试用  Databend Cloud!

关于 Databend

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

👨‍💻‍ Databend Cloud:https://databend.cn

📖 Databend 文档:https://docs.databend.cn/

💻 Wechat:Databend

✨ GitHub:https://github.com/datafuselabs/databend

这篇关于解析云上实时数仓的挑战与实践 | Databend @DTCC 2024 演讲回顾的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119249

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码