
Apache Doris是一个现代化的MPP分析型数据库产品。仅需亚秒级响应时间便可得到查询结果,有效地支持实时数据分析。Apache Doris的分布式架构很是简洁,易于运维,而且能够支持10PB以上的超大数据集。mysql
Apache Doris能够知足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。令您的数据分析工做更加简单高效!web
想要了解更多doris,能够去官网学习Apache Doris,Flink我也不赘述了,说多了,今天讲不完😝。
咱们的业务背景,就是想秒级实时数据呈现。算法

数据量介绍:
sql
请求百亿级数据库
曝光亿级微信
点击百万级网络
其余数据就不说了,我就简单讲哈哈。架构
▍2.2 遇到的问题
计算问题:app
多表join不易维护运维
sql化还要实现各类udf函数
开发耗时
存储问题:
宽表须要多流join,还得关联维度表
es不支持join,须要提早加工好宽表
es大量聚合查询性能降低
es-sql,计算函数支持不优雅,好比:除法等等
es没有聚合模型,全量写入会带来写入压力和冗余数据,须要依托flink窗口预计算来减轻写入压力。缺点:flink窗口小,写入量大带来数据冗余和写入性能差;flink窗口大,写入数据量会减小,数据时效性差,没法知足模型训练秒级别的需求
▍2.3 解决问题
计算替代思考🤔?
多流join,可否在近实时的olap引擎中去作?
用olap引擎作能带给咱们什么价值?
web接口服务提供的维度数据如何办?olap也无法实时查询接口服务呀,还有kv内存得维度数据,这些都须要flink去扩充。mysql的数据也能够用flink扩充,也能够本身经过脚本写入到olap中。
结论:doris能够替代flink作join计算,而且doris的udf函数齐全,自带colocate join模型(按照相同key分桶,join的时候能够避免网络shuffle)和聚合模型(下降数据量,提高查询效率),还有好多优点,我就很少说了,doris真的是个神器😝。
看上面👆这个图,你就知道doris的优点了,千万级数据join,秒级产出,很是赞👍。
存储替代思考🤔?
为何es不支持join,咱们还要去用他?为何不能替换?
什么组件替换比较好呢?行业内都在用什么组件?
总结:直接换成doris,es自己就不适合作olap多维聚合分析,尤为是在join的场景,没法知足业务需求。
计算上olap能够替代部分flink的join任务:
两个kafka流作join,无需关联kv和接口维度数据,好比点击流+唤起流+mysql维度信息(多个mysql表),能够直接在doris中作join,无需单独开发flink去作,复用doris的udf函数。(目前我在doris中都是进行4表join很是方便,千万级数据join性能在2-3s返回)
mysql能够写个定时任务写入到doris中
hive的维度数据也能够导入到doris中进行维度关联。
最后架构:
总结:doris内部作join能够节省开发时间,而且自已维护,不用考虑数据延迟落后的问题。doris内部自带物化视图,既能够存明细,也能够实现聚合模型,既方便报表查询,也方便线上经过明细数据问题排查,同时还方便维护,模型训练也支持秒级查询。
为何我要all in 这个doris
es没法进行join计算
druid进行join计算还不够强大(虽然新版0.18.0本支持了join语法)
clickhouse运维复杂(仍是长期看好,性能是个亮点)
kylin的cube爆炸,计算和管理成本高。
浅谈不到位的,还请各位大佬多多指点,祝全部作大数据的小伙伴,均可以升职加薪,超过作算法同窗的工资哈哈哈哈哈哈哈

业务常常变更打法,你的实时数据仓不能构建的过重,须要短期迭代上线(你们没有遇到业务提一个需求,一个月时间作完了,业务用了几回就不用了,还有就是公司改变广告营销打法,以前的实时指标可能没人去看了,打入冷宫了)。
你的架构要足够的轻量化,易维护,同时还得兼顾:明细查询(线上问题排查),聚合查询(报表指标呈现)
业务看重的是你支持业务的能力,而不是你花里胡哨的架构。你要确保业务当天提需求,当天能够完成,你的架构好坏是靠你支持业务的效果来体现,因此适合本身业务的架构,就是好架构。
你的架构平时稳只能算及格,你要确保架构在大促和高峰流量来时系统稳定,能不能抗住百亿或者千亿的流量。
不一样sla的业务场景设计不一样的架构,并非全部的业务场景都是要求毫秒或者秒级,其实你仔细跟他们聊分钟级他们也能够接受,不一样的sla对你的计算资源成本要求不同,适量把控计算资源成本,优秀的工程师都是想办法给公司省钱,同时还能够圆满完成任务。

最后抛出来一个问题,500亿的实时数据,如何加工报表指标?是全量计算吗?全量计算会遇到什么问题?数据倾斜怎么办?即便数据不倾斜了,遇到流量高峰怎么办?数据背压就必定要追加计算资源吗?你有什么好的办法?
公众号回复:“资料全集”,海量PPT等你来拿。
本文分享自微信公众号 - 小晨说数据(flink-spark)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。