为什么 Apache Druid 被认为是实时数据库?

use*_*062 -1 druid

这是一个与德鲁伊的营销方式有关的问题。

为什么它被称为实时数据库,当 - 据我所知 - 在可以有效地从 DB 读取任何数据之前,需要使用外部工具(如 Hive 或 Spark)进行繁重的 ETL,该工具将半聚合数据加载到 Druid 之前数据库以高效的、基于列存储的方式写入此输入。

我的理解是,就 Druid 和查询 UI 之间的通信而言,Druid 可以被认为是实时的,但在真相源(包括实时事务)和 Druid 之间则不是,因为两者之间需要分析(可能是多个连接)。

Jai*_*nik 6

Druid 支持通过 Kafka Streaming 进行实时摄取,并且可以立即查询数据,这就是将其视为实时数据存储的原因。

Druid 还支持使用 Hive 和 Spark 的批处理摄取。

以下是有关Apache Druid的更多详细信息:

Apache druid 是 OLAP 数据存储,旨在提供亚秒级查询性能,同时实时或批量摄取数据。

在 Druid 中摄取数据的方法

  • 实时摄取- Druid 可以使用 Kafka 主题实时摄取数据。

  • Batch Ingestion - Druid 使用 Hive 和 Spark 从 HDFS 读取数据集。在这种情况下,它不是实时的,但有些用例不需要实时,只需要对临时查询有更快的响应时间要求。

德鲁伊最适合的地方:

  • 具有基于事件的数据的应用程序。

  • 数据更新较少

  • 亚秒响应时间

什么时候不应该考虑德鲁伊

  • 大量加入

  • 更多数据更新

德鲁伊的热门行业/应用

  • 物联网服务

  • 网络监控

  • 数字营销

  • 基于任何时间的流媒体应用程序