全部產品
Search
文件中心

E-MapReduce:Druid(僅對存量使用者開放)

更新時間:Mar 13, 2025

Apache Druid是一個分布式記憶體即時分析系統,用於解決如何在大規模資料集下快速的、互動查詢和分析問題。

基本特點

Apache Druid具有如下特點:

  • 支援亞秒級的互動式查詢。例如,多維過濾、Ad-hoc的屬性分組和快速彙總資料。

  • 支援即時的資料消費。

  • 支援多租戶同時線上查詢。

  • 支援PB級資料、千億級事件快速處理,支援每秒數千查詢並發。

  • 支援高可用,並且滾動升級。

應用情境

即時資料分析是Apache Druid最典型的使用情境。該情境涵蓋的面很廣,例如:

  • 即時指標監控

  • 推薦模型

  • 廣告平台

  • 搜尋模型

Apache Druid架構

Apache Druid擁有優秀的架構設計,多個組件協同工作,共同完成資料從攝取到索引、儲存和查詢等一系列流程。

Druid工作層(資料索引以及查詢)包含以下組件:

  • Realtime組件負責資料的即時攝入。

  • Broker組件負責查詢任務的分發以及查詢結果的匯總,並將結果返回給使用者。

  • Historical組件負責索引後的歷史資料的儲存,資料存放區在deep storage。Deep storage可以是本地,也可以是HDFS等Distributed File System。

  • Indexing service包含以下兩個組件:

    • Overlord組件負責索引任務的管理、分發。

    • MiddleManager負責索引任務的具體執行。

Druid segments(Druid索引檔案)管理層涉及以下組件:

  • Zookeeper:負責儲存叢集的狀態以及作為服務發現組件。例如叢集的拓撲資訊、overlord leader的選舉、indexing task的管理等。

  • Coordinator:負責segments的管理。例如segments下載、刪除以及如何在historical之間做均衡等。

  • Metadata storage:負責儲存segments的元資訊,以及管理叢集各種各樣的持久化或臨時性資料。例如配置資訊、審計資訊等。

E-MapReduce增強型Druid

E-MapReduce Druid基於Apache Druid做了大量的改進,包括與E-MapReduce和阿里雲周邊生態的整合、方便的監控與營運支援、易用的產品介面等,實現即買即用和7*24免營運。

E-MapReduce Druid目前支援的特性如下所示:

  • 支援以OSS作為deep storage。

  • 支援將OSS檔案作為批量索引的資料來源。

  • 支援從Log Service(Log Service)流式地索引資料(類似於Kafka),並提供高可靠保證和exactly-once語義。

  • 支援將中繼資料存放區到RDS。

  • 整合了Superset工具。

  • 方便地擴容和縮容(縮容針對Task節點)。

  • 豐富的監控指標和警示規則。

  • 故障遷移。

  • 具有高安全性。

  • 支援HA。