1 回答

TA貢獻1906條經驗 獲得超3個贊
HBase是一個分布式的存儲系統,可以很容易在廉價PC上搭建其大規模存儲系統,用于存儲海量數據,這使得HBase適合于作為站點數據統計工具的存儲系統。
1)對于實時數據的統計,HBase能夠提供較低延遲的讀寫訪問,承受高并發的訪問請求;而對于歷史數據的統計,HBase則可以被視為一個巨大的Key-Value存儲系統,用于存儲各個網站上歷史的訪問信息,用于做離線的數據分析與報表生成。
2)對于像PV、UV、IP這樣需要求累加計算的操作(求SUM/AVG),由于要對HBase表中相關記錄進行掃描求和計算,所以如果被統計站點的數據量很大的話,使用HBase來做可能會保證不了很快的響應速度。也就是說,從前端發出一個查詢請求到最終結果的響應,時間會比較長(超過1秒或更長)。對于這個問題,將在第3節進行討論。
3)對于像站點訪客流水信息這樣的實時數據展示,則比較適合于使用HBase來做,只要我們設計了合理的key,那么在根據key取單條訪問記錄時響應速度會很快。
下面是一個使用HBase作為存儲系統的結構示意圖:
其中,HBase服務端就是指HBase集群,應用程序分別通過入庫端與查詢端對HBase進行寫操作與讀操作。
從HBase應用角度來看,可以分為兩個不同的方向:
1)第一種方向,將HBase視為一個可靠可用的容量巨大的Key-Value存儲系統,使用HBase的作用很簡單,就是將其作為一個黑匣子來使用,按照之前設計好的表結構來存儲具有稀疏結構的數據?;谶@種思路,如果HBase無法完全滿足業務的需求,就在應用程序層次做一些設計或者優化工作,以最終滿足業務的需求。
2)第二種方向,由于HBase是開源的,所以可以對HBase本身機制進行完善與擴展,最終形成一個能夠滿足業務需要的穩定可用的HBase版本。
- 1 回答
- 0 關注
- 653 瀏覽
添加回答
舉報