网易首页 > 网易号 > 正文 申请入驻

数据写入中的高吞吐量与低延迟:两者兼得的方法

0
分享至

基于 Flink 流将数据移动到 Doris。

本文介绍 Apache Doris 如何基于Flink Streaming帮助您从 MySQL 等上游数据库向 Doris 导入数据并进行变更数据捕获(CDC)。但首先,您可能会问:Apache Doris 是什么,我为什么要费心这样做?

那么,Apache Doris是一个开源的实时分析数据仓库,同时支持高并发点查询和高吞吐量的复杂分析。提供亚秒级解析查询能力,在多维分析、仪表盘等实时数据服务中大显身手。

概述
  1. 如何秒级完成端到端的数据同步
  2. 如何确保实时数据可见性
  3. 如何让海量小文件的写入更流畅
  4. 如何保证端到端的Exactly-Once处理
实时性
  1. 流写入
Doris 中的 Flink-Doris Connector 曾经遵循“缓存和批量写入”的数据摄取方法。但是,这需要明智地选择批大小和批写入间隔;否则事情可能会出错。例如,如果批大小太大,则可能会出现OOM 错误。另一方面,频繁的写入可能会导致生成过多的数据版本。
为了避免这样的麻烦,Doris 实现了一个 Stream Write 方法,其工作原理如下:

  1. Flink 任务一旦启动,就会异步发起 Stream Load HTTP 请求。
  2. 数据通过 HTTP 的分块传输编码机制传输到 Doris。
  3. HTTP 请求在 Checkpoint 结束,即 Stream Load 任务完成。同时,异步发起下一个 Stream Load 请求。
  4. 重复以上步骤。

  1. 事务处理

  1. 数据版本快速聚合
小文件的高并发写入会在 Doris 中产生过多的数据版本,导致数据查询变慢。因此,Doris 增强了数据压缩能力,以便快速聚合数据。

首先,Doris 介绍了 Quick Compaction。具体来说,一旦数据版本增加,就会触发数据压缩。同时,Doris 通过扫描 tablets 的元数据,识别出数据版本过多的 tablet,并进行相应的 compaction。

其次,针对高并发、高频率的小文件写入,Doris实现了Cumulative Compaction。它从调度的角度将这些压缩任务与重量级的Base Compaction隔离开来,避免它们之间的相互影响。

最后但同样重要的是,Doris 采用了分层数据聚合的方法,可以确保每次聚合只涉及相似大小的文件。这大大降低了聚合任务的总数和系统的CPU占用率。

恰好一次

Exactly-Once 语义意味着数据将被处理一次且仅一次。即使机器或应用程序出现故障,它也可以防止数据被重新处理或丢失。

Flink 实现了一个 2PC 协议来实现 Sink 算子的 Exactly-Once 语义。基于此,Doris 中的 Flink-Doris Connector 实现了 Stream Load 2PC 来传递 Exactly-Once 处理。详情如下所示:

  1. Flink 任务一旦启动就会发起 Stream Load PreCommit 请求。然后会开启一个事务,通过HTTP的chunked机制,源源不断的向Doris发送数据。

  1. HTTP 请求在 Checkpoint 结束,Stream Load 完成。事务状态将设置为预提交。此时数据已经写入BE,对用户不可见。

  1. Checkpoint 发起请求,并将事务状态更改为 Committed。在此之后,数据将对用户可见。

  1. 在Flink应用失败的情况下,如果之前的事务处于Pre-Committed状态,Checkpoint会发起回滚请求,将事务状态变为Aborted。
Doris在高并发场景下的表现
场景描述

使用 Flink 从 Kafka 导入数据。在 ETL 之后,使用 Flink-Doris Connector 将实时数据摄取到 Doris 中。

要求

上游数据以每秒 10 万条的高频率写入 Doris。为实现数据实时可见,上下游数据需要在5s左右同步。

Flink 配置

并发数:20

检查点间隔:5s

以下是 Doris 的做法:

压缩实时性
结果显示,Doris 设法快速聚合数据,并使平板电脑中的数据版本数保持在 50 个以下。同时,Compaction Score 保持稳定。

CPU使用率
在优化了小文件的压缩策略后,Doris 将 CPU 占用率降低了 25%。

查询延迟
通过降低 CPU 使用率和数据版本数量,Doris 将数据排列得更加有序,从而实现更低的查询延迟。

Doris在低延迟场景下的表现(高阶压测)
描述
  1. 客户端单BE、单片Stream Load压力测试
  2. 数据实时性<1s

以下是优化前后的压缩分数:

Doris 使用建议
低延迟场景
对于需要实时数据可见性的场景(比如秒级数据同步),每次摄取的文件通常比较小。因此,建议将cumulative_size_based_promotion_min_size_mbyte默认值 64 减少到 8(以 MB 为单位)。这可以大大提高压实性能。
高并发场景
对于高并发的写入场景,建议通过将Checkpoint间隔增加到5-10s来降低Stream Load的频率。这不仅增加了 Flink 任务的吞吐量,也减少了小文件的产生,从而避免了额外的压缩压力。另外,对于实时性要求不高的场景(比如分钟级数据同步),建议将Checkpoint间隔增加到5-10分钟。这样,Flink-Doris Connector 仍然可以通过 2PC+Checkpoint 机制保证数据的完整性。
结论
Apache Doris 通过其 Stream Write 方式、事务处理能力和数据版本的聚合来实现数据的实时性。这些技术有助于减少内存和 CPU 使用率,从而降低延迟。此外,为了数据的完整性和一致性,Doris 实现了 Stream Load 2PC 以保证所有数据都恰好被处理一次。这就是 Doris 如何促进快速和安全的数据摄取。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
湖北农民被蛇群“追杀”5年,死后坟墓变成蛇坟,他当年做了啥?

湖北农民被蛇群“追杀”5年,死后坟墓变成蛇坟,他当年做了啥?

神奇故事
2026-04-12 23:54:08
贵州女子做牵引双腿被吊一个多小时无人管,医院回应:计时器没响,“忘了”

贵州女子做牵引双腿被吊一个多小时无人管,医院回应:计时器没响,“忘了”

上游新闻
2026-04-13 12:35:10
这一次,“宠女无度”的贾平凹被扒了个底朝天,王朔的评价是对的

这一次,“宠女无度”的贾平凹被扒了个底朝天,王朔的评价是对的

揽星河的笔记
2026-04-10 20:02:37
真罕见!石家庄一女子省考笔试146.9分第一进面,承诺上岸就结婚

真罕见!石家庄一女子省考笔试146.9分第一进面,承诺上岸就结婚

火山詩话
2026-04-12 11:28:05
感觉有大事要发生…

感觉有大事要发生…

慧翔百科
2026-04-12 17:00:52
西班牙首相和夫人逛北京什刹海,夫人穿七分裤超精致优雅

西班牙首相和夫人逛北京什刹海,夫人穿七分裤超精致优雅

点点细语
2026-04-13 09:44:52
称重快餐2年倒闭4.8万家,怪15元的自助盒饭太卷?

称重快餐2年倒闭4.8万家,怪15元的自助盒饭太卷?

三人成虎V5
2026-04-12 16:20:10
美军的小宝贝丢在了伊朗,中国若得到,可以少奋斗几年?

美军的小宝贝丢在了伊朗,中国若得到,可以少奋斗几年?

梦醉为红颜一笑
2026-04-12 16:33:18
5月1日严查!8类灰色行为入刑,职场人、生意人千万别踩红线

5月1日严查!8类灰色行为入刑,职场人、生意人千万别踩红线

芭比衣橱
2026-04-13 08:14:45
杨舒予中国女篮队长,拒绝宫鲁鸣集训,远赴澳大利亚年薪令人唏嘘

杨舒予中国女篮队长,拒绝宫鲁鸣集训,远赴澳大利亚年薪令人唏嘘

枫尘余往逝
2026-04-12 07:18:38
访问大陆结束,郑丽文行程已有三大收获,岛内风向和氛围全都变了

访问大陆结束,郑丽文行程已有三大收获,岛内风向和氛围全都变了

一口娱乐
2026-04-12 18:04:30
沈伯洋自爆祖上是台北大地主,王世坚还大赞!蓝营议员直呼离谱

沈伯洋自爆祖上是台北大地主,王世坚还大赞!蓝营议员直呼离谱

海峡导报社
2026-04-12 10:56:07
拿4亿筑墙!瓦罕走廊已被牢牢封死,中国对塔利班从未放下过戒心

拿4亿筑墙!瓦罕走廊已被牢牢封死,中国对塔利班从未放下过戒心

百科密码
2026-04-10 15:25:10
解放战争时期,为何国民党的军队兵败如山倒,看看老照片就知道了

解放战争时期,为何国民党的军队兵败如山倒,看看老照片就知道了

抽象派大师
2026-04-12 16:47:50
5月1日起施行,贪污贿赂量刑新规出台,判刑标准有新调整

5月1日起施行,贪污贿赂量刑新规出台,判刑标准有新调整

李博世财经
2026-04-12 11:52:03
微信重要通知:5月11号下线,12月全面关停,关乎到每个人的钱包

微信重要通知:5月11号下线,12月全面关停,关乎到每个人的钱包

小谈食刻美食
2026-04-13 08:30:49
马伊琍官宣喜讯不到24小时,文章高调求复合姚笛才是笑到最后

马伊琍官宣喜讯不到24小时,文章高调求复合姚笛才是笑到最后

智慧生活笔记
2026-04-12 16:43:48
大范围持续性高温天气,局地达到40℃以上,海南:热到荔枝都自闭了

大范围持续性高温天气,局地达到40℃以上,海南:热到荔枝都自闭了

极目新闻
2026-04-13 10:55:21
刘亦菲.竟也有这么汹涌的照片,太奔放了微信朋友圈

刘亦菲.竟也有这么汹涌的照片,太奔放了微信朋友圈

情感大头说说
2026-04-13 00:50:52
嫁富二代明星后,她住进北京豪宅,开劳斯莱斯,如今40岁又怀3胎

嫁富二代明星后,她住进北京豪宅,开劳斯莱斯,如今40岁又怀3胎

不似少年游
2026-04-10 22:23:54
2026-04-13 13:08:49
牛马科技
牛马科技
业务数码玩家.无聊的博主
5922文章数 614关注度
往期回顾 全部

科技要闻

传荣耀与字节跳动接洽“豆包手机”合作

头条要闻

男子尾随并盗走取款人车内40万 撞开警车拒捕潜入深山

头条要闻

男子尾随并盗走取款人车内40万 撞开警车拒捕潜入深山

体育要闻

一支球队不够烂,也是一种悲哀

娱乐要闻

贾玲减重后现身冯巩生日宴 身材未反弹

财经要闻

封锁,还是收费站?

汽车要闻

不止命名更纯粹 领克10/10+要做纯电操控新王

态度原创

健康
手机
游戏
亲子
数码

干细胞抗衰4大误区,90%的人都中招

手机要闻

全球首台大阔折手机!华为:Pura X Max今日开启预订

小岛秀夫谍战新作细节曝光!原型麦子叔 最早2030年

亲子要闻

农趣“驾”年华·乐享田园风 嘉定七彩田园农事挑战赛上演亲子春日田园派对

数码要闻

CPU-Z、Windows、BIOS全认错!明明买的Ultra 5 250K Plus:却显示270K Plus

无障碍浏览 进入关怀版