本文介紹OSS與檔案系統在資料模型、資料擷取等方面的差異對比以及概念對應關係。
差異對比
下表為OSS與檔案系統在資料模型、資料擷取、優勢以及劣勢的差異對比。
對比項 | OSS | 檔案系統 |
資料模型 | OSS是一個分布式的Object Storage Service服務,提供的是一個Key-Value對形式的Object Storage Service服務。 | 檔案系統是一種典型的樹狀索引結構。 |
資料擷取 | 根據Object的名稱(Key)唯一的擷取該Object的內容。 雖然您可以使用類似 | 一個名為 |
優勢 | 支援海量的使用者並發訪問。 | 支援檔案的修改,例如修改指定位移位置的內容、截斷檔案尾部等。也支援檔案夾的操作,例如重新命名目錄、刪除目錄、移動目錄等非常容易。 |
劣勢 | OSS儲存的Object不支援修改(追加寫Object需要調用特定的介面,產生的Object也和正常上傳的Object類型上有差別)。使用者即使只需要修改一個位元組也需要重新上傳整個Object。 OSS可以通過一些操作來類比類似檔案夾的功能,但是代價非常高。例如重新命名目錄,如果希望將test1目錄重新命名成test2,則OSS的實際操作是將所有以 | 受限於單個裝置的效能。訪問越深的目錄消耗的資源也越大,操作擁有很多檔案的目錄也會非常慢。 |
從上述表格得知,不建議將OSS映射為檔案系統。如果結合您的業務情境需要將OSS掛載為檔案系統,建議只執行寫入檔案、刪除檔案、讀取檔案操作。使用OSS應該充分發揮其優點,即海量資料處理能力,優先用來儲存海量的非結構化資料,例如圖片、視頻、文檔等。
概念對應
下表為OSS與檔案系統的概念對應說明。
Object Storage Service | 檔案系統 |
Object | 檔案 |
Bucket | 主目錄 |
Region | 無 |
Endpoint | 無 |
AccessKey | 無 |
無 | 多級目錄 |
GetService | 擷取主目錄列表 |
GetBucket | 擷取檔案清單 |
PutObject | 寫檔案 |
AppendObject | 追加寫檔案 |
GetObject | 讀檔案 |
DeleteObject | 刪除檔案 |
無 | 修改檔案內容 |
CopyObject (目標檔案和源檔案相同) | 修改檔案屬性 |
CopyObject(目標檔案和源檔案不同) | 複製檔案 |
Rename | 重新命名檔案 |