2012-04-07 171 views
0

我要尋找的是提供了以下需求的數據存儲: -HBase中過濾器查詢的性能?

  1. 分佈,因爲我們有很多數據的查詢(在TBS)
  2. 寫密集型的數據存儲。數據將從服務生成,我們希望存儲數據以對其執行分析。
  3. 我們希望分析查詢速度相當快(分鐘數,而不是小時數)
  4. 我們大多數查詢將是「選擇,過濾器,聚合,排序」類型。
  5. 模式更改通常會因爲我們存儲的內容會根據系統變化的要求而改變
  6. 我們存儲的部分數據也可能用於純粹的大比例尺地圖/縮小作業以用於其他目的。

鍵值存儲可擴展,但不支持我們的查詢需求。

的Map/Reduce作業是可擴展的,可以執行查詢,但我認爲這將不能滿足我們的查詢等待時間要求。

的RDBMS(如MySQL)將滿足我們的查詢需要,但是它會迫使我們有一個固定的模式。我們可以擴大,但接下來我們要做的共享等

像Vertica的商業解決方案,看起來這將解決我們所有的問題的解決方案,但如果我能我會避免商業解決方案。

HBase似乎是一個與Hadoop一樣可擴展的系統,因爲它具有HDFS基礎,並且似乎具有執行過濾器和聚合的功能,但我不確定HBase中過濾器查詢的性能。

目前HBase不支持二級索引。這讓我懷疑HBase是否適合在任意列上過濾。根據文檔,對row-id和Column系列進行過濾比僅對列限定符進行過濾要快。但是,我還讀到RowId和Column系列上的Bloom Filter索引顯着增加了布隆過濾器的大小,並使此選項幾乎不可行。

我無法在網上找到關於HBase的篩選查詢的性能多少數據。 希望我可以在這裏找到更多的信息。

謝謝!

+0

現在我想到了,看來SimpleDB將滿足所有需求。它是可擴展的,支持我想要的所有類型的查詢。我看到的SimpleDB的唯一限制是域大小限制和我必須擔心查詢時間限制的事實 – user855 2012-04-07 23:07:42

+0

您確定要爲此使用SimpleDB嗎?他們的文檔說「Amazon SimpleDB旨在存儲相對少量的數據,並針對快速數據訪問進行了優化,並在數據表達方式方面具有靈活性。」 – Suman 2012-04-11 15:49:55

回答

0

嘗試的Apache Cassandra的,它支持二級指標非常好。來到HBase的布隆過濾器,請去通過這個鏈接,它描述綻放多個選項取決於模式,Hbase bllom filters