2013-02-07 63 views
1

我有一個數據倉庫問題,需要通過大型數據集進行查詢。爲了這個例子,我們可以說一個典型的狀態將會有三千萬用戶擁有每個用戶的活動統計信息。理想情況下,我可以購買數據倉庫工具(Vertica,Infobright等),但這並不是卡片或預算。使用Solr查詢HBase

現在我正在考慮使用Solr來查詢HBase。儘管我相信HBase可以滿足需求,但我擔心Solr。它作爲搜索引擎進行了優化,即結果的第一頁在最後一頁返回,並且不支持數據庫遊標等內容。迄今爲止的測試表明,從Solr獲得大量結果比我想要的要慢。例如,在一分鐘內比較一個能夠檢索Infobright社區版本中一半可用用戶(最終返回500 MB數據的用戶)的查詢,Solr花費了12分鐘。

除了Solr之外,還有什麼更適合查詢這些數據嗎?有沒有可以幫助批量數據輸入和輸出的優化?

+0

在你的設置中你需要Solr嗎?你是否需要將HBase中的所有數據複製到Solr中? – theomega

+0

很多這些數據都是文本,我希望Solr可以用於強大的查詢語言。 – stakolee

+0

Solr的速度很大程度上取決於您如何存儲數據(即存儲vs索引)。它更適用於「人類」查詢。你可能想考慮直接訪問HBase,像這樣:http://community.jaspersoft.com/wiki/jaspersoft-hbase-query-language –

回答

4

看看SolBaseLily - 兩種實現與HBase的後端結合Solr的

5

我知道這是有點晚了,但...

根據您的搜索要求的Solr可能是一個不錯的選擇。請記住,您很可能不需要在HBase中索引的所有內容。是否有某些領域可以挑選出來?文字的部分?如果您已經將它存儲在HBase中,那麼您絕對不需要將這些內容存儲在Solr中。

Solr是放在HBase之上的優秀二級索引系統,如果您需要的話,Solr也具有一些出色的文本分析功能。

您還應該看看Solr的主要競爭對手之一ElasticSearch。