2015-01-07 56 views
8

我不能幫助認爲Cassandra能夠比德魯依更有效地服務的用例並不多。作爲時間序列商店或關鍵值,可以使用德魯伊編寫查詢來提取需要的數據。 論證here更多的是圍繞德魯伊而不是卡桑德拉。德魯伊能代替卡桑德拉嗎?

除了卡桑德拉的快速寫道,還有其他的東西嗎? ESP特別提供了德魯伊的實時聚合/查詢功能,它是否超過了卡桑德拉。

對於一個更直接的問題,可以回答 - 德魯伊沒有提供與Cassandra共同映射的功能的超集,並且在使用德魯伊遠遁時不會更好嗎?對於所有用例?

+0

編輯問題的人喜歡直問:) – TechJack

回答

7

不確定這確實是一個SO類型的問題,但簡單的答案是,這是一個用例問題。簡而言之,德魯伊可以在對實時攝入的數據進行快速臨時查詢時發揮作用。它現在讀取一致,並且不受預先計算的查詢限制以獲得速度。另一方面,你不能寫入它擁有的數據,你只能覆蓋。 (從我讀過的;沒有用過的)Cassandra更多的是支持寫入的最終一致的數據存儲,並且與預計算非常吻合。它並不打算持續提取數據,同時提供對相同數據的臨時查詢的實時訪問。

實際上,這兩者可以一起工作,正如在planetcassandra.org上提出的"Cassandra as a Deep Storage Mechanism for Druid Real-Time Analytics Engine!"

+0

感謝您的建議。 – TechJack

+0

據我所知,德魯伊在寫作方面有一定的侷限性,因爲它們在時間窗口中佔有一席之地,這是時間回寫的開銷。至少,它不是一個簡單的寫法。但是,在我看來,數據本身和窗口計算邏輯一旦到位,就會永遠是美好的。我真的在死亡比賽中看到兩個人,看看德魯伊是否能成爲勝利者。 – TechJack

12

對於一個更直的問題,可以回答 - 德魯伊沒有提供與Cassandra共同映射的功能的超集,並且在使用德魯伊遠遁時不會更好嗎?對於所有用例?

一點都沒有,它們沒有可比性。我們在這裏談論兩種截然不同的技術。簡單的方法是將Cassandra看作是一個分佈式存儲解決方案,但是Druid是一個分佈式聚合器(即一個非常棒的開源OLAP類工具(:))。在我看來,您所指的帖子在某種意義上有點誤導它比較了數據挖掘領域的兩個項目,這並不是卡桑德拉關注的焦點

德魯伊並不擅長查找點,它喜歡時間序列,它的分割主要基於日期段(例如每小時/每月等可能會進一步細分的細分)

德魯伊根據預先定義的聚合器(數字)預先聚合您的數據(例如,總計您的網站中點擊事件的數量每日粒度等),如果你想存儲一個字符串的密鑰查找來表示a其他字符串或確切的數字,Druid是他/她可以尋找的最糟糕的解決方案。

0

這取決於用例。例如,我使用Cassandra進行聚合,例如統計數字的域w.r.t.用戶,部門等。活動趨勢(帶寬,用戶,應用程序等)和可配置的時間窗口。用德魯伊代替卡桑德拉對我來說工作得非常好,因爲德魯伊對聚合效率非常高。另一方面,如果你需要時間序列數據並保證最終一致性,卡桑德拉更好,你可以從哪裏獲得事件的細節。

德魯伊和Elasticsearch的組合很成功地從我們的Big Dada基礎設施 中移除Cassandra。