基于Doris实时数据开发的一些注意事项

0d9865ddb3854979f0f8aa6ee5eabce9.png300万字!全网最全大数据学习面试社区等你来!

最近Doris的发展大家是有目共睹的。例如冷热分离等新特性的持续增加。使得Doris在易用和成本上都有大幅提升。

基于Doris的一些存储实时数仓在越来越多的场景中开始有一些实践。大家也看到了这种方案频繁出现在社区分享中。但是我们得客观看待这种方案,基于存储的实时数仓有优势也有他的劣势,生产环境中我们要谨慎评估个人的业务场景。这篇文章我结合个人的实践和思考简单说说这个问题。。

为什么有这样的方案?

基于Doris等OLAP实现实时计算的业务很多情况下是基于以下考虑。

在更多的情况下,基于Flink的实时数据开发难度要显著高于离线任务(二者根本不在一个数量级),基于Doris的存储实时数据开发可以显著降低开发门槛,但是存在滥用的可能。

其次,Flink在大窗口、大状态、灵活计算的场景下并不擅长(注意这里是不擅长,不是不能),例如在多流Join、维表变更频繁、口径多变的场景下,开发成本极高,但是Doris可以显著降低这一点。

最后,基于Flink的计算数据可观测性差,例如状态数据是不可见的,排查问题,Debug都存在显著门槛,修复历史数据也非常困难。

所以大家可以看到,上述基于Flink为主的实时数据开发存在不小的门槛。所以我们有一个定性的结论,在亿级(或者数千万)数据规模以下,可以使用类似Doris这种的分析引擎,仿照离线数据一样进行分层和定时调度,处理大窗口数据(一般时间跨度超过30天),在保证性能的前提下,降低实时数据的开发成本,并且极大提高了数据的可观测性,开发运维效率也有一定提升。

和基于Flink的一些方案对比

  1. 门槛低,开发简单

所有人都可以开发这样的任务;

  1. 运维简单

因为不像Flink一样考虑状态兼容,不需要大量的资源长期占用。只在运行SQL时需要调度资源;

  1. 开发效率提升

不需要对Flink有很深入的理解(当然这不是好事),几乎不存在参数条有,测试简单,无需启动调度容器(例如TaskManager和Task的调度);

  1. 数据调试方便,中间结果落地可见

没有Flink的状态数据,所有数据都在表中可查。

上面几点是一些优势,但是基于Doris的这种方案也存在明显的短板,需要大家特别注意!

  1. 延迟明显

如果你采用了Doris,那么我们大概率是配合定时调度进行的,一般调度周期在30秒级以上,意味着数据实时性大幅降低,一些实时观测的指标例如实时GMV、在线人数等场景不适用;

  1. 数据规模限制

如果你采用了Doris,那么意味着,你的TPS不能过高,这不是Doris擅长的领域,需要大家特别注意。另外单次扫描的数据不能过大,正如我们前面所说,亿级(或者数千万)数据规模以下才有比较好的性能保证。

最后,如果你真的选择以Doris为主的实时数据开发,那么意味着Doris会成为你的成本、运维中心。要有非常严格的配套工具,例如报警、任务运行监控、任务规范性、调度和血缘能力。要特别注意资源和SQL性能问题,一旦他们成为瓶颈,会影响所有基于Doris的任务运行。

如果这个文章对你有帮助,不要忘记 「在看」 「点赞」 「收藏」 三连啊喂!

9a10cade8a82d07c74b91f16793e68b3.png

7f802109212f992e9f57f09e46988a2b.jpeg

2022年全网首发|大数据专家级技能模型与学习指南(胜天半子篇)

互联网最坏的时代可能真的来了

我在B站读大学,大数据专业

我们在学习Flink的时候,到底在学习什么?

193篇文章暴揍Flink,这个合集你需要关注一下

Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS

Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

我们在学习Spark的时候,到底在学习什么?

在所有Spark模块中,我愿称SparkSQL为最强!

硬刚Hive | 4万字基础调优面试小总结

数据治理方法论和实践小百科全书

标签体系下的用户画像建设小指南

4万字长文 | ClickHouse基础&实践&调优全视角解析

【面试&个人成长】2021年过半,社招和校招的经验之谈

大数据方向另一个十年开启 |《硬刚系列》第一版完结

我写过的关于成长/面试/职场进阶的文章

当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

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

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

相关文章

MYSQL进阶-查询优化- 实战 STATUS

回城传送–》《100天精通MYSQL从入门到就业》 文末有送书活动,可以参加! 文章目录 一、练习题目二、SQL思路SQL进阶-查询优化- SHOW STATUS初始化数据解法SHOW STATUS是什么实战经验:常用的mysql状态查询1、QPS(每秒处理的请求数量)计算思路…

Android 13 Hotseat定制化修改

一.背景 由于需求是需要自定义修改Hotseat,所以此篇文章是记录如何自定义修改hotseat的,应该可以覆盖大部分场景,修改点有修改hotseat布局方向,hotseat图标数量,hotseat图标大小,hotseat布局位置,hotseat图标禁止形成文件夹,hotseat图标禁止移动到Launcher中,下面开始…

MySQL 中的 Hash 索引

Hash 本身是一个函数,又被称为散列函数,它可以帮助我们大幅提升检索数据的效率。打个比方,Hash 就好像一个智能前台,你只要告诉它想要查找的人的姓名,它就会告诉你那个人坐在哪个位置,只需要一次交互就可以…

ToolLLM:能够使用 16000 种真实 API 的 LLM

随着对 LLM(大语言模型)的了解与使用越来越多,大家开始偏向于探索 LLM 的 agent 能力。尤其是让 LLM 学习理解 API,使用工具进行对用户的 instruction(指令)进行处理。然而,目前的开源大模型并不…

大麦订单截图 一键生成订单截图

新版付款图样式展示 这个样式图就是在大麦刚付款完的一个订单截图,它的状态是等待卖家发货 下滑下载源码 下载源码:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

Linux-PG+postgres安装

一、PG数据库安装 1. 获取所需依赖包 wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm wge…

linux系统虚拟主机开启支持Swoole Loader扩展

特别说明:只是安装支持Swoole扩展,主机并没有安装服务端。目前支持版本php5.4-php7.2。 1、登陆主机控制面板,找到【远程文件下载】这个功能。 2、远程下载文件填写http://download.myhostadmin.net/vps/SwooleLoader_linux.zip 下载保存的路…

Ctfshow web入门 XXE 模板注入篇 web373-web378 详细题解 全

CTFshow XXE web373 学习资料: (梭哈~) https://www.cnblogs.com/20175211lyz/p/11413335.html https://www.cnblogs.com/zhaijiahui/p/9147595.html https://www.cnblogs.com/r00tuser/p/7255939.html https://mp.weixin.qq.com/s?__bizMz…

Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块

1. requests 模块post 函数 1.1 post 函数的参数 (简单版) 参数1: url 网络地址 参数2: data 请求数据 (一般数据是 账号,密码) 参数3: headers 头请求 &#xff08…

【团队协作开发】IDEA中Git从远程其他分支拉取代码并同步更新到自己的分支中更新不全问题解决

出现这个问题往往是因为没有先拉取远程分支的最新变化到本地导致的,具体操作流程和解决方法如下: 1、首先,先确保本地有一个和远程要拉取分支(比如dev_z)相关联的分支,如果没有:选择远程要拉取的分支,点击C…

Unity开发笔记:将Texture2D裁剪出指定圆角用来输出png等图片

学习记录整理,自用,也希望能帮助到有相同需求的人。 圆角原理见大佬的博客: 圆角原理 简单来说就是将图片分成四个区域,找出拐角处的拐子的设置为透明 ![](https://img-blog.csdnimg.cn/a788825545614816895a9cca42ddc4a9.png 如…

pc端与flutter通信失效, Method not found

报错情况描述:pc端与flutter通信,ios端能实现通信,安卓端通信报错 报错通信代码: //app消息通知window.callbackName function (res) {window?.jsBridge && window.jsBridge?.postMessage(JSON.stringify(res), "…

创建Springboot+vue3项目

项目概述创建springboot项目加入mybatis-plus支持1.加入依赖代码2.创建数据库实例3.yml文件的配置4.编写测试代码5.测试结果 创建vue项目报错错误一错误二错误三 项目概述 后端:Springboot、mybatis-plus、java 前端:nodejs、vue脚手架、element-ui 数据…

逆向破解学习-雷电星海战歌

apk 雷电星海战歌 https://download.csdn.net/download/AdrianAndroid/88200826 安装apk,并试玩 # 通过关键字搜索jad 找到统一支付接口 找到匿名内部类的名称 Hook代码 public class HookComAstPlane extends HookImpl {Overridepublic String packageNam…

安防监控小程序商城开发攻略

在当今信息化的时代,安防监控已经成为了人们生活中的重要一环。为了更好地满足人们对于安全的需求,许多企业都开始利用小程序来开展安防监控业务。那么,如何搭建一个安防监控小程序呢?下面我们将一步步来进行介绍。 首先&#xff…

yolov5的报错

【定期水一期】 (这个问题很抓马,可以看一下这篇文章:Git Bash 教程!【不是所有人都会用Git】) 一:没有cv2这个模块 解决方案: pip install opencv-python -i http://pypi.douban.com/simple/…

机器学习中训练数据的重要性

人工智能技术发展至今,训练数据的重要性已经是我们老生常谈的问题。在重声训练数据为什么重要之前,我们先重新回顾下AI技术大爆炸的三大初始概念:机器学习是什么?人工智能是什么?训练数据又是什么? 机器学…

DB-Engines 排名调查

目录 一、理论 1.DB-Engines排名 一、理论 1.DB-Engines排名 (1)概念 DB-Engines排名是数据库领域的流行度榜单,它对全球范围内的419款数据库(截至2023年8月)进行排名,每月更新一次,排名越靠…

如何使用Mac终端给树莓派pico构建C/C++程序进行开发,以及遇到各种问题该怎么处理,不使用任何IDE或编辑器(例如VS Code)

写本文的原因是官方的教程已经过时了,如果你现在按照官方教程来在 Mac 上进行配置,那么会遇到一堆问题,比如我几乎把能踩的“雷”都踩了。所以这里记录了完整过程,以及各种错误的原因和处理方法,不然以后换 Mac 了或者…

07-3_Qt 5.9 C++开发指南_文件目录操作

文章目录 1. 文件目录操作相关的类2. 实例概述2.1 实例功能2.2 信号发射信息的获取 3. QCoreApplication 类4. QFile类5. QFileInfo类6. QDir类7. QTemporaryDir 和QTemporaryFile8. QFileSystemWatcher 类9. 框架和源码9.1 可视化UI设计9.2 dialog.cpp 1. 文件目录操作相关的类…