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

Why Apache Druid is considered real-time database?

这个问题与 Druid 的营销方式有关。

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

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

Druid 支持通过 Kafka Streaming 进行实时摄取,数据可立即查询,这就是为什么它被视为实时数据存储。

正如您提到的使用 Hive 和 Spark,Druid 也支持批量摄取。

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

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

在 Druid 中获取数据的方法

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

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

德鲁伊最适合的地方:

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

  • 数据更新较少

  • 亚秒响应时间

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

  • 大量加入

  • 更多数据更新

热Industries/Application德鲁伊

  • 物联网服务

  • 网络监控

  • 数字营销

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