写点什么

字节跳动开源云原生数据仓库 ByConity 有奖众测,邀你体验完整的数仓能力

  • 2024-11-26
    北京
  • 本文字数:2002 字

    阅读完需:约 7 分钟

大小:1.01M时长:05:52
字节跳动开源云原生数据仓库ByConity有奖众测,邀你体验完整的数仓能力

在数据驱动时代,高效的数据处理和分析能力已经成为企业竞争力的关键。在实际业务中,用户会基于不同的产品分别构建实时数仓和离线数仓。其中,实时数仓强调数据能够快速入库,且在入库的第一时间就可以进行分析,低时延的返回分析结果。而离线数仓强调复杂任务能够稳定的执行完,需要更好的内存管理。


ByConity 是字节跳动开源的云原生数据仓库,可以满足用户的多种数据分析场景。2024 年 8 月,ByConity 增加了 bsp 模式:可以进行 task 级别的容错;更细粒度的调度;基于资源感知的调度。希望通过 bsp 能力,把数据加工(T)的过程转移到 ByConity 内部,能够一站式完成数据接入、加工和分析。



为了让更多的开发者深入了解并体验 ByConity bsp 模式的能力,InfoQ 和 ByConity 社区联合举办“ByConity 有奖众测活动”,邀请广大开发者参与 ByConity bsp 模式在离线数仓场景的实际测试,通过亲身实践来感受其带来的高效与便捷。

ByConity 有奖众测参与指南

活动时间


2024 年 12 月 2 日 - 2024 年 12 月 20 日

众测要求


本次众测活动共提供两种测试类型,以满足不同用户的需求。

标准测试


  • 测试环境与数据集:社区提供测试环境与测试集,用户可以在提供好的环境中上手测试。

  • 测试内容:使用小资源跑 TPC-DS 数据集,中间加上一些参数调整。

  • 产出要求:产出对应测试文档并在 InfoQ 写作社区 + 掘金开发者社区发布。

 进阶测试


  • 测试环境与数据集:用户使用自有环境 & 自有数据集进行测试。

  • 测试内容:100G 以上数据,需要执行 10 分钟以上的查询,包含一个以上的 join 或 group by。

  • 产出要求:产出对应测试文档并在 InfoQ 写作社区 + 掘金开发者社区发布。

参与方式


点击链接或者扫码海报报名二维码参与,参与标准测试开发者需完成测试并产出测试文章并发布,参与进阶测试开发者需在自有场景成功完成测试,能够胜任离线数仓的负载,并有对应测试文档产出并发布。



参与者可添加小助手进答疑群

参与奖品


标准测试

  • 完成测试,填写测试反馈,送社区 T 恤

  • 发布测试文章,送其他社区精美礼品

    罗技(Logitech)蓝牙键盘(黑色 / 银色)

    ByConity 一周年纪念版 t 恤

    ByConity 双肩包

    抖音文创多功能三合一无线充电器


进阶测试:社区周边 + 进阶测试激励。

ELT 任务对系统的要求


  • 整体易扩展:导入和转换通常需要大量的资源,系统需要通过水平扩展的方式来满足数据量的快速增长。

  • 可靠性和容错能力:大量的 job 能有序调度;出现 task 偶然失败(OOM)、container 失败时,能够拉起重试;能处理一定的数据倾斜。

  • 效率 & 性能:有效利用多核多机并发能力;数据快速导入;内存使用有效(内存管理);CPU 优化(向量化、codegen)。

  • 生态 & 可观测性:可对接多种工具;任务状态感知;任务进度感知;失败日志查询;有一定可视化能力。

ByConity 对 ELT 能力的优化

提升任务并行度,保障业务平稳运行


传统架构中,之所以要分别建设离线数仓和实时数仓,是因为常见的 OLAP 产品不擅长处理大量的复杂查询,很容易把内容打满任务中断,甚至造成宕机。


ByteHouse 具备 BSP 模式,支持将查询切分为不同的 stage,每个 stage 独立运行。在此基础上,stage 内的数据也可以进行切分,并行化不再受节点数量限制,理论上可以无限扩展,从而大幅度降低峰值内存。

任务级重试,减少重试成本


离线加工任务的另外一个特点就是链路比较长,并且任务间有依赖关系。如下图所示,



如上图所示,task4 依赖 task1、task2 的完成。如果 task1 失败发起重试,会显示为整个链路执行失败。ByteHouse 增加了任务级重试能力,在 ByteHouse 中只有运行失败的 task 需要重试。

大批量并行写入,稳且快


实时数仓存在频繁更新的特点,使用重叠窗口进行批量 ETL 操作时,会带来大量的数据更新。在这种场景下,ByteHouse 做了大量的优化。

写入优化示意图


经过持续优化,将最耗时的数据写入部分单独并行化,并且在写入 part 文件时标记是否需要进行后续的 dedup 作业。在所有数据写入完毕后,由 server 指定一个 worker 进行 dedup 和最后的事务提交(如上图最右)。

简化数据链路,提高健壮性


ByteHouse 在传统的 MPP 链路基础上增加了对复杂查询的支持,这使得 join 等操作可以有效地得到执行。在数据交换方面,要求所有 stage 之间的依赖必须在查询执行之前以网络连接的形式体现。离线加工场景下,这种方式有着天然的劣势:


  • stage 较多、并行度较大时,每一个 task 出现的抖动都会影响整体链路,叠加的抖动增加任务失败的概率;

  • task 同时拉起会进一步对资源进行挤占。


BSP 模式使用 barrier 将各个 stage 进行隔离,每个 stage 独立运行,stage 之内的 task 也相互独立。即便机器环境发生变化,对查询的影响被限定在 task 级别。且每个 task 运行完毕后会及时释放计算资源,对资源的使用更加充分。


在这个基础上,BSP 的这种设计更利于重试的设计。任务失败后,只需要重新拉起时读取它所依赖的任务的 shuffle 数据即可,而无需考虑任务状态。


期待开发者持续关注 ByConity,同 ByConity 一起开启开启数据仓库的新篇章。

2024-11-26 14:456928

评论

发布
暂无评论
发现更多内容

前端知识链条中少不了的一环--Ajax

是乃德也是Ned

ajax 前端 7月月更

用Java写学生登陆认证系统

魏铁锤

SAP Fiori 应用索引大全工具和 SAP Fiori Tools 的使用介绍

汪子熙

SAP Fiori SAP UI5 ui5 7月月更

ORACLE进阶(四)表连接讲解

No Silver Bullet

oracle 7月月更 表连接

Fedora/REHL 安装 semanage

HoneyMoose

面试突击63:MySQL 中如何去重?

王磊

Java MySQL 面试

基于STM32+华为云IOT设计的智能路灯

DS小龙哥

7月月更

Android 无限循环ViewPager滑动空白Bug及报错跳坑

芝麻粒儿

android 手机 7月月更

中移动、蚂蚁、顺丰、兴盛优选技术专家,带你了解架构稳定性保障

博文视点Broadview

小程序在产业互联网中的作用

Geek_99967b

小程序 小程序容器

Python|数据结构——字典和集合

AXYZdong

Python 7月月更

C#/VB.NET 给PDF文档添加文本/图像水印

在下毛毛雨

C# .net PDF 添加水印

devkit入门

乌龟哥哥

7月月更

解构运算符的理解与运用

是乃德也是Ned

7月月更

分布式不来点网关都说不过去

zxhtom

7月月更

CRMEB 商城系统如何助力营销?

CRMEB

看抖音直播Beyond演唱会有感

Empty

C++|TCP 服务端中接收文件

中国好公民st

c++ TCP通信 7月月更

【LeetCode】装满石头的背包的最大数量Java题解

Albert

LeetCode 7月月更

在QWidget上实现窗口阻塞

小肉球

qt 7月月更

LeetCode-155. 最小栈(java)

bug菌

Leet Code 7月月更

node の SQLite

空城机

sqlite Node 7月月更

基本磁盘与动态磁盘 RAID磁盘冗余阵列区分

Albert Edison

7月月更

猿桌派第三季开播在即,打开出海浪潮下的开发者新视野

融云 RongCloud

面试突击62:group by 有哪些注意事项?

王磊

Java MySQL 面试

SAP UI5 框架的 manifest.json

汪子熙

SAP Fiori SAP UI5 ui5 7月月更

CSS 基于文字的图片马赛克你见过吗

南城FE

CSS 前端 马赛克 7月月更

Android 查看签名

沃德

程序员 7月月更

三步就能在OpenHarmony中实现车牌识别

OpenHarmony开发者

OpenHarmony

视频化全链路智能上云?一文详解什么是阿里云视频云「智能媒体生产」

阿里云CloudImagine

人工智能 媒体 音视频

使用标签模板解决用户恶意输入的问题

猪痞恶霸

前端 js ES6 7月月更

字节跳动开源云原生数据仓库ByConity有奖众测,邀你体验完整的数仓能力_大数据_InfoQ 中文站_InfoQ精选文章