1. 程式人生 > >elasticseach 和hbase 在海量資料儲存上哪個好

elasticseach 和hbase 在海量資料儲存上哪個好

單純從技術的角度來說其實沒有好壞之分,技術選型需要結合實際的業務場景來定。從問題描述上看大致可以從幾個方面來考慮:

1)資料量

每天5G資料量,按儲存1年的資料來考慮,大概是1.8T,es和hbase都能支援,並且兩者都可以通過擴充套件叢集來加大可儲存的資料量。隨著資料量的增加,es的讀寫效能會有所下降,從儲存原始資料的角度來看,hbase要優於es

2)資料更新

es資料更新是對文件進行更新,需要先將es中的資料取出,設定更新欄位後再寫入es。hbase是列儲存的,可以方便地更新任意欄位的值。

3)查詢複雜度

hbase支援簡單的行、列或範圍查詢,若沒有對查詢欄位做二級索引的話會引發掃全表操作,效能較差。而ES提供了豐富的查詢語法,支援對多種型別的精確匹配、模糊匹配、範圍查詢、聚合等操作,ES對欄位做了反向索引,即使在億級資料量下還可以達到秒級的查詢響應速度。

4)欄位擴充套件性

hbase和es都對非結構化資料儲存提供了良好的支援。es可以通過動態欄位方便地對欄位進行擴充套件,而hbase本身就是基於列儲存的,可以很方便地新增qualifier來實現欄位的擴充套件