2016-12-04 21 views
1

我想構建用於預測性維護的實時應用程序。 我曾想過使用Hbase與Phoenix。 Phoenix在HBase上提供SQL層。用於實時應用的Hbase

我讀過Hbase適合大數據,比如1億行加++。 但我的應用程序數據目前沒有數據。如果開始時只有少量數據,Hbase數據庫如何反應? HBase是實時網絡應用的一個很好的解決方案嗎?

我想要一個像系統一樣的lambda體系結構。批處理和流處理。 HDFS上面的HBase會成爲我的OLTP和OLAP系統嗎?

由於lambda架構有一個批量和速度層。我是否也可以在HDFS中使用HBase中的HBase數據進行批處理,並將結果保存回Hbase中?

一般來說,我想知道HBase是否是一個很好的解決方案,可以構建一個實時的Web應用程序,使其具備執行分析的可能性。

卷:

回答

1

HBase的是基於一般包括以下選擇百萬千萬優於千千萬萬

特點:當你不需要交易,二級指標和一些RDBMS功能

硬件:確保您有足夠的區域服務器硬件。它涉及到維護

更具體的量好:

它由於它的快速隨機讀取查詢最適合於Web應用程序。但是這隻有非常好的行鍵設計。這涉及到您提前計劃好最終查詢並設計您的行密鑰。如果您還有基於時間的數據並且您的查詢嚴重依賴於此,則需要特別注意行鍵設計。總之,你應該避免熱點。一些信息here

除此之外,使用HBase過濾器可以選擇其他列值,但選擇很少,可能無法保證Web應用程序的響應時間。

另外,如果設置您的數據(行)具有可變的列數,你也不必在查詢中的所有列,HBase的又是最好的選擇

服務器(地區)的故障轉移有可能在HBase的 - 所以你的數據將是安全的。

它可以用於批處理和流媒體。當然,爲了在大數據堆棧中實現儘可能好的流式傳輸。然而,這也取決於你的流媒體管道 - 像卡夫卡,火花流或風暴等。

既然你提到鳳凰,我假設你可能想堅持到HBase的SQL視圖 - 這可能會給你更好的選擇。然而在覈心上,行鍵設計仍然是HBase性能的核心