【アパッチドルイド】

Apache Druid とは?

💡 流れ込むデータを即座に分析!リアルタイムOLAPの魔法使い
📌 このページのポイント
Apache Druid → リアルタイム取り込み&即時クエリ データソース Kafka Kinesis リアルタイム 取り込み MiddleManager 即座にインデックス化 セグメント ストレージ 列指向 + インデックス Historical ノード クエリ実行 (サブ秒) Broker 並列スキャン ストリーミング取り込み データ到着→即座に分析可能 列指向+インデックス 数十億行でも高速スキャン サブ秒クエリ ダッシュボード・監視に最適 ユースケース リアルタイムダッシュボード ネットワーク監視 広告分析
ストリーミングデータ取り込みからリアルタイムクエリまでのフロー
ひよこ ひよこ

Apache DruidってClickHouseと何が違うの?どっちも分析用DBだよね?

ペンギン先生 ペンギン先生

大きな違いは「リアルタイム取り込み」だよ。ClickHouseもバッチ挿入は速いけど、Druidはkafkaなどからストリーミングデータを取り込みながら、そのデータを即座にクエリできるのが強みなんだ

ひよこ ひよこ

ストリーミング取り込みって、具体的にどう便利なの?

ペンギン先生 ペンギン先生

たとえばECサイトで今まさに起きているアクセスを即座に分析して「この商品が急にバズってる!」と検知できるんだ。データが届いてから分析可能になるまでのラグがほぼゼロだよ

ひよこ ひよこ

サブ秒のクエリってどうやって実現してるの?

ペンギン先生 ペンギン先生

Druidはデータを「セグメント」という単位に分割して、各セグメントに列指向のインデックスを作るんだ。クエリ時は必要なセグメントだけを並列で読むから、数十億行あってもサブ秒で返せるよ

ひよこ ひよこ

おもしろい!運用は大変じゃないの?

ペンギン先生 ペンギン先生

正直、コンポーネントが多くて構築は大変だよ。Coordinator、Broker、Historical、MiddleManagerなど複数のプロセスが協調する分散システムだからね。最近はImplyというマネージドサービスもあるけどね

ひよこ ひよこ

どんなユースケースに向いてるの?

ペンギン先生 ペンギン先生

リアルタイムダッシュボード、ネットワーク監視、広告のインプレッション分析など「今起きていることを即座に可視化したい」場面が最適だよ。逆にアドホックな探索分析はClickHouseのほうが柔軟だね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
Apache Druid」って出てきたら「リアルタイムにデータを取り込みながら超高速で集計できるDB」と思えればだいたいOK!
📖 おまけ:英語の意味
「Apache Druid」 = アパッチ・ドルイド(ケルトの魔法使い)
💬 Druidはケルト文化の聖職者・魔法使いのこと。データの魔法使いという意味が込められているよ。Apache Software Foundation傘下のオープンソースプロジェクトだよ
← 用語集にもどる