【アパッチドルイド】

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傘下のオープンソースプロジェクトだよ
← 用語集にもどる