前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Doris实时数据开发的一些注意事项

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

作者头像
王知无-import_bigdata
发布2023-09-06 15:16:22
3070
发布2023-09-06 15:16:22
举报

最近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的任务运行。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术与架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么有这样的方案?
  • 和基于Flink的一些方案对比
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档