全部產品
Search
文件中心

Object Storage Service:OSS與檔案系統的對比

更新時間:Feb 28, 2024

本文介紹OSS與檔案系統在資料模型、資料擷取等方面的差異對比以及概念對應關係。

差異對比

下表為OSS與檔案系統在資料模型、資料擷取、優勢以及劣勢的差異對比。

對比項

OSS

檔案系統

資料模型

OSS是一個分布式的Object Storage Service服務,提供的是一個Key-Value對形式的Object Storage Service服務。

檔案系統是一種典型的樹狀索引結構。

資料擷取

根據Object的名稱(Key)唯一的擷取該Object的內容。

雖然您可以使用類似test1/test.jpg的名稱,但是這並不表示Object是儲存在test1目錄下。對於OSS來說,test1/test.jpg僅僅只是一個字串,與example.jpg並沒有本質的區別。因此不同名稱的Object之間的訪問消耗的資源是類似的。

一個名為test1/test.jpg的檔案,訪問過程需要先訪問到test1目錄,然後再在該目錄下尋找名為test.jpg的檔案。

優勢

支援海量的使用者並發訪問。

支援檔案的修改,例如修改指定位移位置的內容、截斷檔案尾部等。也支援檔案夾的操作,例如重新命名目錄、刪除目錄、移動目錄等非常容易。

劣勢

OSS儲存的Object不支援修改(追加寫Object需要調用特定的介面,產生的Object也和正常上傳的Object類型上有差別)。使用者即使只需要修改一個位元組也需要重新上傳整個Object。

OSS可以通過一些操作來類比類似檔案夾的功能,但是代價非常高。例如重新命名目錄,如果希望將test1目錄重新命名成test2,則OSS的實際操作是將所有以test1/開頭的Object都重新複製成以test2/開頭的Object,該操作會消耗大量的頻寬、儲存、計算、時間資源。因此在使用OSS時請盡量避免類似的操作。

受限於單個裝置的效能。訪問越深的目錄消耗的資源也越大,操作擁有很多檔案的目錄也會非常慢。

從上述表格得知,不建議將OSS映射為檔案系統。如果結合您的業務情境需要將OSS掛載為檔案系統,建議只執行寫入檔案、刪除檔案、讀取檔案操作。使用OSS應該充分發揮其優點,即海量資料處理能力,優先用來儲存海量的非結構化資料,例如圖片、視頻、文檔等。

概念對應

下表為OSS與檔案系統的概念對應說明。

Object Storage Service

檔案系統

Object

檔案

Bucket

主目錄

Region

Endpoint

AccessKey

多級目錄

GetService

擷取主目錄列表

GetBucket

擷取檔案清單

PutObject

寫檔案

AppendObject

追加寫檔案

GetObject

讀檔案

DeleteObject

刪除檔案

修改檔案內容

CopyObject (目標檔案和源檔案相同)

修改檔案屬性

CopyObject(目標檔案和源檔案不同)

複製檔案

Rename

重新命名檔案