Apache Druidとは?
あぱっちどるいど
Apache Druidとは、大量の時系列データをリアルタイムかつ高速に集計・分析するために設計されたオープンソースのOLAPデータベースです。
Apache Druidは、クリックストリームや広告インプレッション、IoTセンサーデータなど膨大な時系列イベントデータをサブ秒レベルで集計・可視化することに特化した分散データストアです。MetaMarkets社が開発し、2015年にApache Software Foundationのインキュベータに寄贈、後にApacheのトップレベルプロジェクトとなりました。
アーキテクチャの特徴として次の点が挙げられます。
- カラム指向ストレージ:特定の列だけを読み込めるため、集計クエリが高速
- セグメント化:データを時間単位のセグメントに分割してノードに分散配置し、並列処理を実現
- リアルタイムインジェスト:Apache KafkaやKinesiisからストリーミングデータをほぼリアルタイムで取り込める
- ビットマップインデックス:フィルタリングを高速化するインデックス構造
Druidのクラスタは役割別に分かれており、クエリを受け付けるBroker、データを保持するHistorical、リアルタイムデータを処理するMiddleManager、メタデータを管理するCoordinator・Overlordなどのコンポーネントで構成されます。
ClickHouseやPinot、BigQueryなど他のOLAPソリューションと比較して、DruidはKafkaとの統合や低レイテンシの即時クエリが得意な点で差別化されます。広告プラットフォーム・ゲーム分析・ネットワーク監視・BI基盤として大規模企業に採用されています。
使い方・例文
広告配信プラットフォームがインプレッション・クリック・CVのイベントデータを毎秒数百万件取り込み、ダッシュボードで1秒以内にキャンペーンごとの集計結果を表示する基盤にApache Druidが使われます。
この用語をシェア
最終更新: