回覆列表
  • 1 # 使用者624393374955

    雖然HDFS與Openstack物件儲存(Swift)之間有著一些相似之處,但是這兩種系統的總體設計卻大不一樣。  1. HDFS使用了中央系統來維護檔案元資料(Namenode,名稱節點),而在Swift中,元資料呈分散式,跨叢集複製。使用一種中央元資料系統對HDFS來說無異於單一故障點,因而擴充套件到規模非常大的環境顯得更困難。  2. Swift在設計時考慮到了多租戶架構,而HDFS沒有多租戶架構這個概念。  3. HDFS針對更龐大的檔案作了最佳化(這是處理資料時通常會出現的情況),Swift被設計成了可以儲存任何大小的檔案。  4. 在HDFS中,檔案寫入一次,而且每次只能有一個檔案寫入;而在Swift中,檔案可以寫入多次;在併發操作環境下,以最近一次操作為準。  5. HDFS用Java來編寫,而Swift用Python來編寫。  另外,HDFS被設計成了可以儲存數量中等的大檔案,以支援資料處理,而Swift被設計成了一種比較通用的儲存解決方案,能夠可靠地儲存數量非常多的大小不一的檔案。  排名第二的答案來自Joshua McKenty,他是美國宇航局Nebula雲計算專案的首席架構師,是OpenStack Nova軟體的早期開發者之一,目前是OpenStack專案監管委員會的成員,還是Piston.cc這家基於OpenStack的公司的創始人。  Chuck剛才詳細介紹了兩者的技術差異,但是沒有討論兩者可想而知的融合,OpenStack設計峰會上丟擲了融合這個話題。簡而言之,HDFS被設計成可以使用Hadoop,跨儲存環境裡面的物件實現MapReduce處理。對於許多OpenStack公司(包括我自己的公司)來說,支援Swift裡面的處理是路線圖上面的一個目標,不過不是每個人都認為MapReduce是解決之道。  我們已討論過為HDFS編寫包裝器,這將支援OpenStack內部儲存應用程式設計介面(API),並且讓使用者可以針對該資料來執行Hadoop查詢。還有一個辦法就是在Swift裡面使用HDFS。但是這些方法似乎沒有一個是理想的。  OpenStack社群方面也在開展研究開發方面的一些工作,認真研究其他替代性的MapReduce框架(Riak和CouchDB等)。  最後,現在有別的一些儲存專案,目前“隸屬於”OpenStack社群(SheepDog和HC2)。充分利用資料區域性性,並且讓物件儲存變得“更智慧”,這是預計會取得進步的一個領域。

  • 中秋節和大豐收的關聯?
  • 香蕉可以和酸奶混在一起吃嗎?