伯克利開源 Confluo,吞吐量是 Kafka 的 4 到 10 倍

近日伯克利 RISE Lab 開源了一個多數據流實時分佈式分析系統 Confluo,它既是一個網絡監控和診斷框架,也能夠做爲時序數據庫和發佈訂閱消息系統。git

源碼地址:https://github.com/ucbrise/confluogithub

當下,相似基於終端主機的網絡監控系統、IoT 設備傳感器程序等應用,其後端的服務器每秒均可以捕獲數千萬個數據點。這些數據被用於在線查詢,實現可視化與監控,或者用於離線查詢,進行故障分析和系統優化。web

這樣的使用場景下,就須要實時監控和分析工具支持,這些工具一般支持高吞吐量數據提取、低延遲在線查詢和低開銷的離線查詢。數據庫

雖然目前已經存在一些用於高吞吐量數據提取的數據結構,它們能夠支持豐富的在線和離線查詢,可是高吞吐量與查詢能力目前來看仍是互斥的。後端

在從多個數據流提取數據時,查詢須要更新多個數據結構,包括原始數據、聚合統計信息和物化視圖。可是用於支持這些查詢的數據結構每每具備較高的更新開銷,並且沒法維持大多數應用程序所需的數據提取速率。服務器

而另外一方面,能夠維持高數據提取速率的數據結構每每只支持很是簡單的查詢。網絡

Confluo 正是爲了應對這種狀況而產生的,它是一個致力於同時實現高吞吐量數據提取和富有表現力的離線/在線查詢的系統。數據結構

Confluo 性能強悍,支持:併發

  • 來自多個數據流的數百萬個數據點的高吞吐量併發寫入框架

  • 毫秒級的在線查詢

  • 使用最少 CPU 資源的 ad-hoc 查詢

不一樣場景下對 Confluo 進行性能測試,結果顯示:

  • 做爲一個網絡監控和診斷框架,Confluo 可以在單核上以線路速率(10Gbps 鏈路)執行數千個觸發器和數十個過濾器。

  • 做爲一個時序數據庫,與其它諸如 CorfuDB、TimescaleDB 和 BTrDB 等先進的時序數據庫相比,Confluo 的吞吐量提升了 2 到 20 倍,寫入延遲下降了 2 至 10 倍,時間區間查詢延遲下降了 5 至 20 倍。

  • 做爲一個發佈訂閱消息系統,Confluo 的吐量是 Kafka 的 4 到 10 倍。

更詳細的分析:https://rise.cs.berkeley.edu/blog/confluo-millisecond-level-queries-on-large-scale-streaming-data

相關文章
相關標籤/搜索