中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

中國站
幫助中心 > 存儲 > 對象存儲 > 產品簡介 > 基本概念

基本概念

基本概念

本文將向您介紹對象存儲OSS產品中涉及的幾個基本概念,以便于您更好地理解OSS產品。

存儲空間(Bucket)

存儲空間是用戶用于存儲對象(Object)的容器,所有的對象都必須隸屬于某個存儲空間。存儲空間具有各種配置屬性,包括地域、訪問權限、存儲類型等。用戶可以根據實際需求,創建不同類型的存儲空間來存儲不同的數據。

  1. 同一個存儲空間的內部是扁平的,沒有文件系統的目錄等概念,所有的對象都直接隸屬于其對應的存儲空間。
  2. 每個用戶可以擁有多個存儲空間。
  3. 存儲空間的名稱在OSS范圍內必須是全局唯一的,一旦創建之后無法修改名稱。
  4. 存儲空間內部的對象數目沒有限制。

存儲空間的命名規范如下:

  1. 只能包括小寫字母、數字和短劃線(-)。
  2. 必須以小寫字母或者數字開頭和結尾。
  3. 長度必須在3~63字節之間。

對象(Object)

對象是OSS存儲數據的基本單元,也被稱為OSS的文件。和傳統的文件系統不同,對象沒有文件目錄層級結構的關系。對象由元信息(Object Meta),用戶數據(Data)和文件名(Key)組成,并且由存儲空間內部唯一的Key來標識。對象元信息是一組鍵值對,表示了對象的一些屬性,比如最后修改時間、大小等信息,同時用戶也可以在元信息中存儲一些自定義的信息。

對象的生命周期是從上傳成功到被刪除為止。在整個生命周期內,除通過追加方式上傳的Object可以通過繼續追加上傳寫入數據外,其他方式上傳的Object內容無法編輯,您可以通過重復上傳同名的對象來覆蓋之前的對象。

對象的命名規范如下:

  1. 使用UTF-8編碼。
  2. 長度必須在1~1023字節之間。
  3. 不能以正斜線(/)或者反斜線(\)開頭。

說明 對象名稱需要區分大小寫。如無特殊說明,本文檔中的對象、文件稱謂等同于Object。

ObjectKey

在各語言SDK中,ObjectKey、Key以及ObjectName是同一概念,均表示對Object執行相關操作時需要填寫的Object名稱。例如向某一存儲空間上傳Object時,ObjectKey表示上傳的Object所在存儲空間的完整名稱,即包含文件后綴在內的完整路徑,如填寫為abc/efg/123.jpg。

Region(地域)

Region表示OSS的數據中心所在物理位置。用戶可以根據費用、請求來源等選擇合適的地域創建Bucket。一般來說,距離用戶更近的Region訪問速度更快。詳情請參見OSS已經開通的Region

Region是在創建Bucket的時候指定的,一旦指定之后就不允許更改。該Bucket下所有的Object都存儲在對應的數據中心,目前不支持Object級別的Region設置。

強一致性

Object操作在OSS上具有原子性,操作要么成功要么失敗,不會存在有中間狀態的Object。OSS保證用戶一旦上傳完成之后讀到的Object是完整的,OSS不會返回給用戶一個部分上傳成功的Object。

Object操作在OSS同樣具有強一致性,用戶一旦收到了一個上傳(PUT)成功的響應,該上傳的Object就已經立即可讀,并且Object的冗余數據已經寫成功。不存在一種上傳的中間狀態,即read-after-write卻無法讀取到數據。對于刪除操作也是一樣的,用戶刪除指定的Object成功之后,該Object立即變為不存在。

Endpoint(訪問域名)

Endpoint表示OSS對外服務的訪問域名。OSS以HTTP RESTful API的形式對外提供服務,當訪問不同的Region的時候,需要不同的域名。通過內網和外網訪問同一個Region所需要的Endpoint也是不同的。例如杭州Region的外網Endpoint是oss-cn-hangzhou.aliyuncs.com,內網Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。具體的內容請參見各個Region對應的Endpoint

數據冗余機制

OSS使用基于糾刪碼、多副本的數據冗余存儲機制,將每個對象的不同冗余存儲在同一個區域內多個設施的多個設備上,確保硬件失效時的數據持久性和可用性。

  1. OSS Object操作具有強一致性,用戶一旦收到了上傳或復制成功的響應,則該上傳的Object就已經立即可讀,且數據已經冗余寫入到多個設備中。
  2. OSS會通過計算網絡流量包的校驗和,驗證數據包在客戶端和服務端之間傳輸中是否出錯,保證數據完整傳輸。
  3. OSS的冗余存儲機制,可支持兩個存儲設施并發損壞時,仍維持數據不丟失。
    1. 當數據存入OSS后,OSS會檢測和修復丟失的冗余,確保數據持久性和可用性。
    2. OSS會周期性地通過校驗等方式驗證數據的完整性,及時發現因硬件失效等原因造成的數據損壞。當檢測到數據有部分損壞或丟失時,OSS會利用冗余的數據,進行重建并修復損壞數據。

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保存的Object不支持修改(追加寫Object需要調用特定的接口,生成的Object也和正常上傳的Object類型上有差別)。用戶哪怕是僅僅需要修改一個字節也需要重新上傳整個Object。OSS可以通過一些操作來模擬類似文件夾的功能,但是代價非常昂貴。比如重命名目錄,希望將test1目錄重命名成test2,那么OSS的實際操作是將所有以test1/開頭的Object都重新復制成以test2/開頭的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 地域或者數據中心
Put Object 簡單上傳
Post Object 表單上傳
Multipart Upload 分片上傳
Append Object 追加上傳
Get Object 簡單下載
Callback 回調
Object Meta 文件元信息。用來描述文件信息,例如長度,類型等
Data 文件數據
Key 文件名
ACL (Access Control List) 存儲空間或者文件的權限

說明 如果沒有特殊說明,本文中出現和術語表中相同的英文和中文,表達的是相同的意思。有時候為了表述方便會混合使用。

方山县| 尖扎县| 松溪县| 英超| 犍为县| 堆龙德庆县| 海门市| 万荣县| 苏尼特左旗| 田东县| 井研县| 格尔木市| 湖南省| 鄄城县| 姜堰市| 会同县| 泸西县| 庄河市| 竹溪县| 嵊泗县| 内黄县| 大名县| 平远县| 青海省| 同江市| 繁峙县| 海门市| 南昌市| 全椒县| 黑山县| 西宁市| 微博| 六枝特区| 伊宁市| 仁寿县| 汶川县| 十堰市| 高平市| 基隆市| 龙口市| 阿尔山市|