返回 AWS Marketplace 產品列表
FerroDruid
可觀測性

FerroDruid

Rust-native Apache-Druid-compatible OLAP

亞秒級啟動,<200 MB RAM 替換的 AWS 服務: Apache Druid 叢集
在 AWS Marketplace 取得

何時收回成本?

範例:託管可觀測性支出每月 $5,000

如果託管可觀測性支出為每月 $5,000,按保守 40% 降低約為 $2,000/月的可避免總使用費 — 不含 S4 軟體費、EC2 和工作負載差異。

用您的帳單估算

估算您的節省金額

輸入相關每月支出或使用量即可獲得粗略估算 — 無需上傳帳單。

完整帳單上傳與其他產品

一個 Rust-native、相容 Apache Druid 規格的即時 OLAP 資料庫。它支援 Druid REST API、native query JSON 和 Druid SQL,並讀寫 Druid segment v9/v10 二進位檔案 — 無需 JVM、無需 ZooKeeper,也無需六行程 control plane。單一二進位檔案在低於 200 MB RAM 下可於一秒內啟動。

經典 Apache Druid 叢集在提供單個查詢前,就需要六個或更多 JVM 行程、ZooKeeper、外部 metadata 資料庫以及 16 GB+ RAM;FerroDruid 的單二進位模式用一個行程替代全部元件,並以自包含 AMI 交付。v0.2.0 提供全部八種 native query 類型(timeseries、topN、groupBy、scan、search、segmentMetadata、dataSourceMetadata、timeBoundary);執行 Druid SQL(SELECT、WHERE、GROUP BY、HAVING、ORDER BY、LIMIT、30+ 函式、EXPLAIN PLAN FOR、MSQ task endpoint,~95% 核心 SQL 對等);公開 40+ 個 Druid-compatible REST endpoint;讀寫 Druid segment v9/v10;並從 Kafka 和 Kinesis supervisors 以及 native batch 匯入。預設啟用 Basic auth(Argon2id)+ RBAC,透過 rustls 提供 TLS,並在首次啟動時產生唯一隨機管理員密碼。

面臨挑戰

Apache Druid 是一款強大的即時 OLAP 引擎,但傳統的叢集在服務單個查詢之前,需要 6 個或更多 JVM 行程、ZooKeeper、外部元資料資料庫以及 16 GB 或更多的 RAM。建立、運作和監控這 6 個行程控制平面非常繁重,對於評估環境和較小的部署來說大材小用。您希望使用 Druid 的 API 和 segment 格式,但不希望承擔運作 JVM 和 ZooKeeper 叢集的負擔。

運作原理

  1. 1

    作為單個二進位檔案啟動

    單二進位模式運作單個行程 — 無 JVM、無 ZooKeeper、無外部元資料資料庫 — 啟動時間不到 1 秒,記憶體佔用低於 200 MB。它使用 SQLite 儲存元資料,使用本機檔案系統作為深度儲存,並作為自包含 of AMI 交付。

  2. 2

    支援 Druid 線路協定

    它支援 Druid REST API、原生查詢 JSON 和 Druid SQL,並讀取和寫入 Druid segment v9/v10 二進位檔案。它支援所有 8 種原生查詢類型,並公開了 40 多個與 Druid 相容的 REST 端點,因此您可以將現有的 Druid 用戶端或 Apache Superset 連接器直接指向它。

  3. 3

    啟動時鎖定,首次登入時需修改密碼

    預設啟用基本身分驗證(Basic auth,使用 Argon2id)和 RBAC,並透過 rustls 提供 TLS。在首次啟動時,它會生成一個該執行個體特有的全新隨機 admin 密碼(絕非預設或共享密碼),並將其寫入執行個體系統日誌一次。admin 帳戶被標記為必須修改,因此在操作員 POST 新密碼之前,所有 API 端點都會傳回 HTTP 403,從而強制在首次登入時修改密碼。

產品亮點

Druid-spec wire-compatible(REST + native JSON + Druid SQL,segment v9/v10)— 現有 Druid 用戶端和查詢可用。

一個二進位檔案,無需 JVM / ZooKeeper / 六行程 control plane;在低於 200 MB RAM 下亞秒級啟動。

8 種 native query 類型 + Druid SQL(~95% 核心對等)+ Kafka / Kinesis ingest;預設啟用 auth + RBAC。

包含內容

  • 自包含的 Amazon Linux 2023 AMI(Graviton / arm64,支援 t4g、c7g、m7g 和 r7g 系列執行個體)
  • 單二進位模式 —— 無 JVM、ZooKeeper 或外部元資料資料庫的單一行程,在低於 200 MB 的 RAM 上啟動時間不到 1 秒(SQLite 元資料以及本機檔案系統深度儲存)
  • 所有 8 種原生查詢類型(timeseries、topN、groupBy、scan、search、segmentMetadata、dataSourceMetadata、timeBoundary)以及 40 多個與 Druid 相容 of REST 端點
  • Druid SQL(SELECT / WHERE / GROUP BY / HAVING / ORDER BY / LIMIT,超過 30 個函數,EXPLAIN PLAN FOR,一個 MSQ 任務端點,以及約 95% 的核心 SQL 相容性)
  • 讀取與寫入 Druid segment v9/v10 二進位檔案,支援從 Kafka、Kinesis supervisor 以及透過原生批次處理進行攝取
  • 預設開啟安全設定 — 基本身份驗證(Basic auth,使用 Argon2id)加上 RBAC,透過 rustls 提供 TLS,並在首次啟動時生成執行個體唯一的隨機 admin 密碼,該密碼必須在首次登入時修改
  • 用於在 ALB 後方部署的 CloudFormation 範本(marketplace/cloudformation/ami.yaml),支援的拓撲結構為單二進位單節點(多節點預設 fail-closed)

適用場景

希望運行與 Druid 相容的即時 OLAP 且無需運行 6 處理程序 JVM 和 ZooKeeper 叢集的團隊

使用 Druid REST API、原生查詢 JSON、Druid SQL 或 Apache Superset 連接器的現有用戶端的後端

基於輕量級二進位檔案的 Druid 功能評估與開發環境,該檔案啟動時間不到 1 秒且記憶體佔用低於 200 MB

單節點串流傳輸和時間序列分析,支援從 Kafka、Kinesis supervisor 或透過原生批次處理進行攝取

常見問題

它與真正的 Apache Druid 的相容性如何?

FerroDruid 支援 Druid REST API、原生查詢 JSON 和 Druid SQL,並讀取與寫入 segment v9/v10。它支援所有 8 種原生查詢類型,並提供 40 多個與 Druid 相容的 REST 端點,具有約 95% 的核心 Druid SQL 相容性(並非 100%)。針對 Apache Druid 30.0.1 的即時線路深層匹配為 5/5,與 Apache Superset 連接器的匹配也為 5/5。坦誠的適用範圍:即時驗證是針對 Druid 30.0.1 和單二進位模式進行的;Druid 31 到 36 是規範驅動的設計目標,尚未針對運作中的叢集進行交叉驗證。

我需要 JVM、ZooKeeper 還是外部中介資料資料庫嗎?

在單二進位模式下不需要。單一處理程序啟動時間不到 1 秒,且使用低於 200 MB 的 RAM — 相比之下,傳統的 Druid 叢集需要 6 個或更多 JVM 處理程序、ZooKeeper、外部中介資料資料庫以及 16 GB 或更多的 RAM。支援的單二進位路徑使用 SQLite 儲存中介資料,使用本機檔案系統作為深度儲存。

我可以運行多節點組態嗎?

支援的拓撲結構是單二進位單節點;多節點組態預設 fail-closed。老實說,即時驗證是針對單二進位模式進行的,我們目前尚未將其作為運作中的多節點叢集進行驗證。有關詳細資訊,請參閱 docs/KNOWN_LIMITATIONS.md。

安全是如何處理的?首次登入流程是怎樣的?

預設啟用基本身份驗證(Basic auth,使用 Argon2id) and RBAC,並透過 rustls 提供 TLS。在首次啟動時,AMI 會生成一個該執行個體特有的全新隨機 admin 密碼(絕非預設或共享密碼),並將其寫入執行個體系統日誌一次。admin 帳戶被標記為必須修改,因此在操作員向 /druid-ext/basic-security/authentication/db/basic/users/admin/credential POST 新密碼之前,所有 API 端點都會傳回 HTTP 403。輪換後的憑證會被持久化,並在重新啟動後依然保留。

如何部署它?授權和計費是如何運作的?

使用提供的 CloudFormation 範本(marketplace/cloudformation/ami.yaml)將其部署在 Application Load Balancer 後方;在 ALB 處終止 TLS,請勿將服務連接埠直接暴露給網際網路。將您的用戶端(REST API、原生查詢 JSON、Druid SQL 或 Apache Superset 連接器)指向負載平衡器端點。此商品銷售的是基於 Apache-2.0 原始碼並在固定發布版本下建置的、經過加固、掃描且獲得支援的發行版;程式碼本身保持為 Apache-2.0。AWS 會根據執行的執行個體小時數自動對 AMI 進行計量收費,產品中沒有計量程式碼。

為什麼更便宜

假設在 us-east-1 進行約 1k events/秒的即時寫入並要求亞秒級 OLAP 查詢回應。

不使用 FerroDruid (Apache Druid 叢集)
用戶端
OLAP 查詢
Druid 6+ JVM
m5.xlarge × 3
16+ GB RAM
ZK + 外部 DB
m5.xlarge × 3 (broker / coord / historical)
$525 / 月
ZooKeeper (t3.medium)
$30 / 月
RDS PostgreSQL 中介資料
$150 / 月
月度合計
$705 / 月
使用 FerroDruid
用戶端
Druid wire 相容
FerroDruid
m5.large
<200 MB RAM
S3 儲存桶
FerroDruid 實例 (m5.large + 軟體費)
$120 / 月
月度合計
$120 / 月
−83%與 Apache Druid 叢集相比

依寫入 QPS 選擇 FerroDruid 實例

寫入 QPS推薦執行個體FerroDruid 實例費用每月總計對比 Druid 叢集
~100 events/st3.medium$45 / 月$45 / 月 (Druid $400, −89%)
~1k events/sm5.large$120 / 月$120 / 月 (Druid $705, −83%)
~10k events/sm5.2xlarge$400 / 月$400 / 月 (Druid $1,800, −78%)

僅供參考。Apache Druid 叢集基準執行 broker / coordinator / historical 作為獨立 JVM (m5.xlarge × 3) 加 ZooKeeper 和 RDS PostgreSQL 中介資料 DB, 是典型最小部署。FerroDruid 是與 Druid wire 相容的單一二進位檔, 無需外部 ZooKeeper 或中介資料 DB; 預設安全設定, 首次登入強制變更密碼。

計費模式

按小時收取軟體費用 + EC2(t4g / c7g / m7g / r7g 級,Arm)。按執行個體類型計量。

在 AWS Marketplace 取得