易企秀实时数仓设计

2020-03-14  本文已影响0人  郭彦超

目标

在一定并发范围内为内部用户提供稳定、快速的实时多维交互分析功能

实时数仓架构

设计

边界

单次请求耗时上限:1s
数据库并发上限:10
最大写入QPS:5w~10w/s

使用原则

同样的逻辑不同的写法,性能可能会相差数十倍、甚至上百倍,为了确保性能更佳体验更好,我们需要制定一些使用准则进行规范和约束:

备注:这个世界并没有完美的技术框架,需要的是适合的技术框架有针对性的解决一部分问题;所以当违反以上原则时,需要考虑是否适合在该框架进行应用,我们还有离线预计算和准实时预计算方案

场景

通过一张用户表对上述流程做下简单总结:
通过debezium实时监控mysql中base_user表的binlog日志,并将binlog日志实时推送至kafka,日志中参杂新增、更新、删除等事件,在通过spark streaming或kafka connector任务写入ck前需要对事件类型进行判断;在ck中对应的数据表使用"dw_"前缀+原始表名,意思是该表包含了原始表的所有数据实时同步,当然我们也可以通过追加更新的方式在该表上拓展一些其它字段,但字段名上需要体现实效性;为该表在mydata上创建全新数据集,对外提供作图和接口查询的需求。

遗留问题

上一篇下一篇

猜你喜欢

热点阅读