OSS與文件系統的對比

 

基本概念介紹_開發指南_對象存儲 OSS-阿里雲  https://help.aliyun.com/document_detail/31827.htmlhtml

 

強一致性

Object 操做在 OSS 上具備原子性,操做要麼成功要麼失敗,不會存在有中間狀態的Object。OSS 保證用戶一旦上傳完成以後讀到的 Object 是完整的,OSS 不會返回給用戶一個部分上傳成功的 Object。架構

Object 操做在 OSS 上一樣具備強一致性,用戶一旦收到了一個上傳(PUT)成功的響應,該上傳的 Object 就已經當即可讀,而且數據的三份副本已經寫成功。不存在一種上傳的中間狀態,即 read-after-write 卻沒法讀取到數據。對於刪除操做也是同樣的,用戶刪除指定的 Object 成功以後,該 Object 當即變爲不存在。併發

強一致性方便了用戶架構設計,可使用跟傳統存儲設備一樣的邏輯來使用OSS,修改當即可見,無需考慮最終一致性帶來的各類問題。分佈式

OSS與文件系統的對比

OSS 是一個分佈式的對象存儲服務,提供的是一個 Key-Value 對形式的對象存儲服務。用戶能夠根據 Object 的名稱(Key)惟一的獲取該Object的內容。雖然用戶可使用相似 test1/test.jpg 的名字,可是這並不表示用戶的 Object 是保存在test1 目錄下面的。對於 OSS 來講,test1/test.jpg 僅僅只是一個字符串,和a.jpg 這種並無本質的區別。所以不一樣名稱的 Object 之間的訪問消耗的資源是相似的。性能

文件系統是一種典型的樹狀索引結構,一個名爲 test1/test.jpg 的文件,訪問過程須要先訪問到 test1 這個目錄,而後再在該目錄下查找名爲 test.jpg 的文件。所以文件系統能夠很輕易的支持文件夾的操做,好比重命名目錄、刪除目錄、移動目錄等,由於這些操做僅僅只是針對目錄節點的操做。這種組織結構也決定了文件系統訪問越深的目錄消耗的資源也越大,操做擁有不少文件的目錄也會很是慢。阿里雲

對於 OSS 來講,能夠經過一些操做來模擬相似的功能,可是代價很是昂貴。好比重命名目錄,但願將 test1 目錄重命名成 test2,那麼 OSS 的實際操做是將全部以 test1/ 開頭的 Object 都從新複製成以 test2/ 開頭的 Object,這是一個很是消耗資源的操做。所以在使用 OSS 的時候要儘可能避免相似的操做。spa

OSS 保存的 Object 不支持修改(追加寫 Object 須要調用特定的接口,生成的 Object 也和正常上傳的 Object 類型上有差異)。用戶哪怕是僅僅須要修改一個字節也須要從新上傳整個 Object。而文件系統的文件支持修改,好比修改指定偏移位置的內容、截斷文件尾部等,這些特色也使得文件系統擁有普遍的適用性。但另一方面,OSS 能支持海量的用戶併發訪問,而文件系統會受限於單個設備的性能。架構設計

所以,將 OSS 映射爲文件系統是很是低效的,也是不建議的作法。若是必定要掛載成文件系統的話,建議儘可能只作寫新文件、刪除文件、讀取文件這幾種操做。使用 OSS 應該充分發揮其優勢,即海量數據處理能力,優先用來存儲海量的非結構化數據,好比圖片、視頻、文檔等。設計

如下是OSS與文件系統的概念對比:視頻

對象存儲 OSS 文件系統
Object 文件
Bucket 主目錄
Region
Endpoint
AccessKey
多級目錄
GetService 獲取主目錄列表
GetBucket 獲取文件列表
PutObject 寫文件
AppendObject 追加寫文件
GetObject 讀文件
DeleteObject 刪除文件
修改文件內容
CopyObject (目的和源相同) 修改文件屬性
CopyObject 複製文件
重命名文件

OSS 術語表

英文 中文
Bucket 存儲空間
Object 對象或者文件
Endpoint OSS 訪問域名
Region 地域或者數據中心
AccessKey AccessKeyId 和 AccessKeySecret 的統稱,訪問密鑰
Put Object 簡單上傳
Post Object 表單上傳
Multipart Upload 分片上傳
Append Object 追加上傳
Get Object 簡單下載
Callback 回調
Object Meta 文件元信息。用來描述文件信息,例如長度,類型等
Data 文件數據
Key 文件名
ACL (Access Control List) 存儲空間或者文件的權限

 

 

 

新建文件夾_管理文件_控制檯用戶指南_對象存儲 OSS-阿里雲 https://help.aliyun.com/document_detail/31910.html

新建文件夾
更新時間:2018-06-08 18:13:54 編輯 ·
阿里雲 OSS 服務是沒有文件夾這個概念的,全部元素都是以對象來存儲。OSS 控制檯中的文件夾本質上來講是建立了一個大小爲 0 並以」/「結尾的對象用於同類文件的歸類操做和批處理,同時控制檯默認將以」/「結尾的對象做爲文件夾形式展示。該對象一樣能夠上傳及下載。用戶能夠在 OSS 控制檯中,採用同 Windows 文件夾的基本操做使用 OSS 文件夾。

說明
對於任何一個以」/「結尾的對象,不論該對象是否存有數據,在控制檯中都是以文件夾的方式顯示,用戶只能經過 API 或 SDK 的方式來下載該對象。對模擬文件夾具體的實現與操做能夠參考:

相關文章
相關標籤/搜索