
文章插图
Druid 的查询引擎如何处理实时和历史数据
假设我们正在构建一个用于监控登录可疑行为的应用程序,那么我们可能希望在五分钟的时间窗口内设置一个阈值--更新并发布登录尝试的状态 。凭借Druid , 当前的登录尝试可以与历史数据相关联,以识别过去未发生、但的确被利用过的登录安全漏洞 。据此,历史背景将有助于确定当前的登录反复尝试是否属于正常行为 。
此外,如果您的应用程序需要接收大型批处理文件,且对瞬息万变的事件进行大量分析(如:当前状态、各种聚合、分组、时间窗口、以及复杂连接等),同时还要提供历史背景,并通过高度灵活的应用程序接口来检索数据集,那么这些都是Druid的优势所在 。
选择Flink和Druid的检查表可见,Flink和Druid都是为流数据而构建的 。虽然它们有着一些高层次的相似之处,例如:都属于内存内部(in-memory)、都能扩展、都能并行,但是正如前文所述,它们的架构实际上是为完全不同的用例而构建的 。下面 , 我为您整理了一份简单的、基于工作量来判断该如何选择的检查表:
- 您是否需要对流式数据进行实时转换或连接?
- Flink就是这样一款专为实时数据处理而设计的服务 。
- 您需要同时支持许多不同的查询吗?
- Druid可以支持高QPS分析,而无需管理各种查询和任务 。
- 事件相关指标是否需要持续更新或汇总?
- Flink支持有状态的复杂事件处理 。
- 分析是否更加复杂 , 是否需要与历史数据进行比较?
- Druid可以方便快捷地查询实时数据和历史数据 。
- 您是否正在为面向用户的应用程序提供数据可视化?
- 可先使用Flink予以填充,然后将数据发送到作为数据服务层的Druid 。
小结随着企业对于数据实时性的要求越来越高,数据团队需要重新考虑端到端的数据工作流程 。这就是为什么许多公司已将Kafka+Flink+Druid作为构建实时应用的开源数据架构的原因 。
译者介绍陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控 , 专注传播网络与信息安全知识与经验 。
原文标题:Building a Real-Time Data Architecture With Apache Kafka, Flink, and Druid ,作者:David Wang
推荐阅读
- 利用网站内链提高关键词排名
- 图解Kafka适用场景,全网最全!
- 如何利用手机将音频进行格式转换
- Kafka有哪些应用场景?你能说上来几个?
- 利用Linux事件驱动编程实现嵌入式系统
- 如何自制欢乐小鼓,如何利用民间艺术特色创设教育环境
- 生辰八字泄露补救方法 生辰八字泄露补救方法算命先生利用八字害人
- Kafka:解锁大数据时代的搜索与分析
- 平面镜的作用
- 解密Kafka主题的分区策略:提升实时数据处理的关键
