1. 程式人生 > >Redis與Hadoop的優缺點對比:

Redis與Hadoop的優缺點對比:

Redis
優點:
1 讀寫效能優異
2 支援資料持久化,支援AOF和RDB兩種持久化方式
3 支援主從複製,主機會自動將資料同步到從機,可以進行讀寫分離。
4 資料結構豐富:除了支援string型別的value外還支援string、hash、set、sortedset、list等資料結構。

缺點:
1 Redis不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復。
2 主機宕機,宕機前有部分資料未能及時同步到從機,切換IP後還會引入資料不一致的問題,降低了系統的可用性。
3 redis的主從複製採用全量複製,複製過程中主機會fork出一個子程序對記憶體做一份快照,並將子程序的記憶體快照儲存為檔案傳送給從機,這一過程需要確保主機有足夠多的空餘記憶體。若快照檔案較大,對叢集的服務能力會產生較大的影響,而且複製過程是在從機新加入叢集或者從機和主機網路斷開重連時都會進行,也就是網路波動都會造成主機和從機間的一次全量的資料複製,這對實際的系統運營造成了不小的麻煩。
4 Redis較難支援線上擴容,在叢集容量達到上限時線上擴容會變得很複雜。為避免這一問題,運維人員在系統上線時必須確保有足夠的空間,這對資源造成了很大的浪費。

Hadoop
優點:
1 高可靠性。Hadoop按位儲存和處理資料的能力值得人們信賴;
2 高擴充套件性。Hadoop是在可用的計算機集簇間分配資料並完成計算任務的,這些集簇可以方便地擴充套件到數以千計的節點中。
3 高效性。Hadoop能夠在節點之間動態地移動資料,並保證各個節點的動態平衡,因此處理速度非常快。
4 高容錯性。Hadoop能夠自動儲存資料的多個副本,並且能夠自動將失敗的任務重新分配。

缺點:
1 不適合低延遲資料訪問。
2 無法高效儲存大量小檔案。
3 不支援多使用者寫入及任意修改檔案。