在目前的數字經濟時代,資料被列為跟土地,資本等并列的新生産要素,資料的存儲和處理被衆多行業所深度依賴。Hadoop經過多年的發展,已經成為了事實上的開源大資料标準解決方案,被衆多公司采納和使用;而且随着技術的不斷疊代更新,Hadoop生态也已經從最初狹義的HDFS,MapReduce和YARN三大服務元件,逐漸發展出了Spark,Flink等新的處理架構,成長為功能更加完善和豐富的廣義Hadoop生态。同時以阿裡雲和AWS為代表的的雲服務平台,也提供了支援廣義Hadoop生态系統的編排産品EMR,進一步推動了大資料生态的發展。
雖然Hadoop生态中的計算架構不斷演進,但都繼續選擇HDFS作為底層的分布式存儲系統,HDFS也是以成長為開源大資料場景的統一分布式存儲系統,是自建大資料存儲的首選系統:
随着大資料領域的深入發展,在HDFS之上直接生長着豐富的基礎計算引擎,KV存儲引擎,多種OLAP引擎,以及不同領域的機器學習引擎;另外還有多種資料導入系統,友善不同來源的資料進入HDFS:負責結構化資料導入的Sqoop,負責日志資料導入的Flume,負責消息資料導入的Kafka。這些引擎和系統在資料處理的不同階段發揮各自的特有的作用,HDFS作為統一的中轉站來存儲和交換資料,共同來完成資料全生命周期的處理。
HDFS經過多年的發展已經相對成熟,但由于分布式存儲系統自身的複雜性,在應對日漸重要且複雜的大資料處理需求的時候,自建HDFS叢集面臨諸多痛點:
- 成本高
-
- 硬體成本高
-
-
- 叢集起建成本高:為了保證資料安全性,即使初始需要較少的存儲空間,HDFS叢集也需要保證3台機器以上的規模。
- 單次擴容步長大:每次都需要以整實體機的粒度進行擴容,新增存儲需求很小的情況下也不例外。
- 容量下降後無法自動縮容:為了應對容量峰值擴容的機器,在容量下降後也無法自動縮容。
-
-
- 存算分離難,存儲和計算資源必須同步擴容
-
-
- 連結和線程是Stream獨占,難以支撐存算分離後的高并發
- Shuffle資料依賴本地存儲,存儲和計算無法完全分離
-
- 運維難
-
- 運維複雜
-
-
- 硬體運維:需要解決硬體機型設計,預算采購,叢集擴縮容,硬體故障,機器過保等諸多問題。
- 軟體運維:需要面對通路失敗/通路慢,社群版本引入與測試,軟體版本線上更新等軟體難題。
-
-
- 運維人才要求高:系統複雜度高,需要專業的運維人才。
- 穩定性難以保證:沒有SLA保障,複雜的開源存儲系統對監控報警和故障響應要求高,容易導緻故障。
- 性能差
-
- 隔離性差:多業務公用叢集的情況下無法做到性能隔離,互相幹擾影響性能。
- 延遲高:軟體棧複雜,難以發揮高速媒體 US級别的延遲優勢,延遲敏感性業務難以落地。
- 無異步接口:沒有異步接口,存儲通路并發度受限于線程資源,難以提升。
考慮到HDFS在大資料領域的發展現狀,阿裡雲的檔案存儲HDFS版提供了一個雲上統一的大資料存儲方案:既能夠相容HDFS,保證原有的大資料處理系統可以無縫遷移,繼續正常運轉;同時又能夠解決掉自建HDFS的痛點,上層業務更專注于大資料處理系統本身的演進,更好的解決業務問題。
為了友善Hadoop生态系統平滑的遷移到檔案存儲HDFS版,會陸續推出常用的大資料系統在檔案存儲HDFS版的最佳實踐。
了解更多關于檔案存儲HDFS版的産品資訊,歡迎通路
https://www.aliyun.com/product/alidfs如果您對檔案存儲HDFS版有任何問題,歡迎釘釘掃描以下二維碼加入檔案存儲HDFS版技術交流群。