AI時代,非結構化數據帶來的存儲挑戰與解決方案
原創隨著5G、物聯網、計算機視覺等技術的廣泛應用,非結構化數據(如圖像、視頻、音頻、文本等)正以前所未有的速度增長。據IDC DataSphere數據顯示,到2027年,全球非結構化數據將占到數據總量的86.8%,達到驚人的246.9ZB。
面對海量增長的非結構化數據,如何更好地進行數據存儲,一方面解決AI應用中存儲性能瓶頸的問題,另一方面簡化非結構化數據的管理難度,降低存儲成本呢?實際上,通過構建文件存儲系統和對象存儲系統,即可以很好的解決這一問題。本文,我們來重點探討一下如何利用文件存儲和對象存儲解決非結構化數據存儲帶來的挑戰。
首先,我們來簡單的了解一下非結構化數據帶來了哪些存儲難題。
一是對存儲性能提出了更高的要求。我們知道,AI訓練過程需要頻繁讀取海量數據,傳統存儲系統往往難以滿足這種高吞吐量、低延遲的需求。以ChatGPT為例,其訓練數據集規模高達45TB,訓練過程中需要持續不斷地從存儲系統加載數據。當存儲性能不足時,昂貴的GPU計算資源將被迫閑置,造成巨大浪費。
二是數據管理復雜性的挑戰。非結構化數據缺乏固定格式,類型多樣且結構復雜,傳統的關系型數據庫難以有效管理。以AI模型訓練為例,通常需要處理數百萬甚至數十億個文件,如何高效組織這些數據、快速檢索特定樣本、維護數據一致性,都是存儲系統必須解決的問題。
三是存儲成本控制問題。眾所周知,AI訓練數據的長期保存需要大量存儲空間,而企業又希望盡可能降低存儲成本。如何在性能和成本之間找到平衡點,成為存儲架構設計的關鍵考量。
以上三點,便是非結構化數據存儲面臨的主要挑戰。那么,文件存儲和對象存儲在非結構化數據存儲中有哪些優勢?企業又該如何根據不同的應用來選擇合適的存儲系統?先說結論。
雖然文件存儲和對象存儲是非結構化數據存儲的兩大類型,但兩者之間還是有著相對比較明顯的區別:
當AI應用需要快速實時訪問和頻繁修改數據的時候,文件存儲便是更好地選擇。
當需要收集海量數據,做模型訓練以及備份歸檔等應用場景時,對象存儲是更好的選擇。
文件存儲的技術特點與架構優勢
文件存儲(File Storage)是一種將數據以文件的形式存儲在存儲介質上的方法。每個文件都有一個文件名,并存儲在一個目錄結構中,用戶可以通過文件路徑來訪問和管理文件。
文件存儲在AI應用中擁有比較明顯的性能優勢。例如在AI模型開發環境中,工程師通常使用文件系統來組織和管理他們的代碼、配置文件和實驗數據。在分布式訓練場景中,當AI訓練任務跨多個節點運行時,所有計算節點需要并發訪問相同的訓練數據集和模型文件。文件存儲系統如Lustre、GPFS專門針對這種高并發訪問模式優化,能夠為數百甚至數千個計算節點提供一致的全局命名空間和高吞吐數據訪問。
除此之外,TensorFlow和PyTorch等AI訓練框架都針對文件系統訪問進行了優化。當處理少量大文件或需要復雜目錄結構的場景時,文件存儲的性能也通常要優于對象存儲。
文件存儲的一致性模型也是其重要優勢。大多數文件系統提供強一致性保證,即當一個進程寫入文件后,其他進程立即能看到更新后的內容。這種特性對于需要頻繁修改數據的應用場景非常重要,如多人協作編輯文檔或實時更新AI模型參數。我們知道,在模型開發階段,研究人員需要頻繁地修改和測試不同版本的代碼和參數。為此,文件存儲提供的強一致性保證和高效小文件操作使其成為理想選擇。
最后,元數據操作性能是文件存儲的另一強項。由于文件系統專門針對文件和目錄操作進行了優化,創建、刪除、重命名文件或目錄等操作非常高效。這對于AI工作流中常見的臨時文件創建、數據集重組等場景至關重要。某些高級文件系統還支持擴展屬性(xattr),允許用戶為文件附加自定義元數據,這為數據管理提供了額外靈活性。
因此,文件存儲的這些特點使其特別適合需要頻繁修改、強一致性保證和復雜權限管理的應用場景,這也解釋了為什么它在AI模型的開發、測試和推理階段廣受歡迎。
不過,文件存儲通常會面臨擴展性限制。傳統文件系統的目錄結構雖然直觀,但當目錄中包含數百萬個文件時,性能會顯著下降。此外,文件存儲系統通常需要集中式的元數據服務器來維護目錄層次結構,這在超大規模部署時可能成為瓶頸。為解決這一問題,新一代分布式文件系統如CephFS采用了更先進的元數據管理架構,但仍無法完全達到對象存儲的擴展水平。
對象存儲的技術特點與架構優勢
對象存儲(Object Storage)是一種以對象為單位來處理、存儲和檢索數據的存儲架構。與傳統的文件存儲和塊存儲不同,對象存儲將數據作為對象進行管理,每個對象都包含了數據本身、元數據以及一個全局唯一的標識符。這種獨特的存儲方式使得對象存儲在處理大量、非結構化的數據時具有明顯的優勢。
由于對象存儲是通過API(應用程序編程接口)調用進行數據的讀寫,通常基于HTTP或HTTPS協議,這種設計使其天生適合云環境和分布式應用場景。
首先,無限擴展性是對象存儲最突出的優勢。由于數據是作為單獨的對象進行管理,因此在不同的物理設備上能夠無縫地分布這些對象,從而實現幾乎無限的擴展能力。因此,對象存儲非常適合存儲大量非結構化數據,例如圖片、視頻和日志文件。在實際應用中,單個對象存儲系統可以輕松管理EB級(百萬TB)數據,而無需像文件系統那樣面臨目錄結構復雜度的限制。
其次,對象存儲能夠提供更高的數據可靠性。由于對象存儲系統通常會將數據復制到多個服務器和地理位置,以確保數據的持久性和高可用性。這意味著即使發生硬件故障或其他類型的系統故障,數據仍然可以安全地恢復。
最后,對象存儲能夠更好地降低數據存儲成本。由于采用了按照使用量付費的模式,用戶可以根據實際需求進行付費,而不用提前投資大量的存儲設備。此外,對象存儲的硬件利用率也更高,因為它可以在通用服務器上部署,不需要專門的存儲區域網絡(SAN)設備。同時,對象存儲支持多種存儲層級(標準、低頻訪問、歸檔、冷歸檔等),用戶可以根據數據訪問頻率選擇最經濟的存儲方式,進一步降低成本。因此,對于AI訓練數據這類通常只需一次性讀取的大數據集,低頻訪問存儲能顯著降低存儲成本。
雖然對象存儲有諸多優勢,但其通常針對大文件順序讀寫優化,對于頻繁的小文件隨機訪問或修改操作,性能不如文件存儲系統。此外,大多數對象存儲系統也不支持文件鎖定機制,不適合需要強一致性保證的應用場景。因此,在AI工作流中,對象存儲更適合存儲靜態的訓練數據集和模型快照,而不適合頻繁更新的臨時文件或實時日志。
寫在最后:
雖然文件存儲和對象存儲有著比較大的區別,但在實際應用過程中,兩者并非互斥選擇。企業可以根據自己的實際需求,將活躍數據放在文件存儲中,而將冷數據歸檔到對象存儲,這種混合式的存儲架構,更能夠滿足AI應用的需求。