<button id="qvlbh"><button id="qvlbh"></button></button>
<xmp id="qvlbh"><xmp id="qvlbh"><xmp id="qvlbh"><address id="qvlbh"><output id="qvlbh"></output></address>
<xmp id="qvlbh"><legend id="qvlbh"></legend>
<xmp id="qvlbh"> <address id="qvlbh"><output id="qvlbh"></output></address>
<address id="qvlbh"><button id="qvlbh"></button></address>
<button id="qvlbh"><samp id="qvlbh"></samp></button>
<address id="qvlbh"><button id="qvlbh"></button></address><address id="qvlbh"></address>
<address id="qvlbh"><legend id="qvlbh"></legend></address>
<samp id="qvlbh"><xmp id="qvlbh"><legend id="qvlbh"></legend>
中國站

基本概念

基本概念

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

存儲空間(Bucket)

存儲空間是用戶(hù)用于存儲對象(Object)的容器,所有的對象都必須隸屬于某個(gè)存儲空間。存儲空間具有各種配置屬性,包括地域、訪(fǎng)問(wèn)權限、存儲類(lèi)型等。用戶(hù)可以根據實(shí)際需求,創(chuàng )建不同類(lèi)型的存儲空間來(lái)存儲不同的數據。

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

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

  1. 只能包括小寫(xiě)字母、數字和短劃線(xiàn)(-)。
  2. 必須以小寫(xiě)字母或者數字開(kāi)頭和結尾。
  3. 長(cháng)度必須在3~63字節之間。

對象(Object)

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

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

對象的命名規范如下:

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

說(shuō)明 對象名稱(chēng)需要區分大小寫(xiě)。如無(wú)特殊說(shuō)明,本文檔中的對象、文件稱(chēng)謂等同于Object。

ObjectKey

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

Region(地域)

Region表示OSS的數據中心所在物理位置。用戶(hù)可以根據費用、請求來(lái)源等選擇合適的地域創(chuàng )建Bucket。一般來(lái)說(shuō),距離用戶(hù)更近的Region訪(fǎng)問(wèn)速度更快。詳情請參見(jiàn)OSS已經(jīng)開(kāi)通的Region。

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

強一致性

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

Object操作在OSS同樣具有強一致性,用戶(hù)一旦收到了一個(gè)上傳(PUT)成功的響應,該上傳的Object就已經(jīng)立即可讀,并且Object的冗余數據已經(jīng)寫(xiě)成功。不存在一種上傳的中間狀態(tài),即read-after-write卻無(wú)法讀取到數據。對于刪除操作也是一樣的,用戶(hù)刪除指定的Object成功之后,該Object立即變?yōu)椴淮嬖凇?/p>

Endpoint(訪(fǎng)問(wèn)域名)

Endpoint表示OSS對外服務(wù)的訪(fǎng)問(wèn)域名。OSS以HTTP RESTful API的形式對外提供服務(wù),當訪(fǎng)問(wèn)不同的Region的時(shí)候,需要不同的域名。通過(guò)內網(wǎng)和外網(wǎng)訪(fǎng)問(wèn)同一個(gè)Region所需要的Endpoint也是不同的。例如杭州Region的外網(wǎng)Endpoint是oss-cn-hangzhou.aliyuncs.com,內網(wǎng)Endpoint是oss-cn-hangzhou-internal.aliyuncs.com。具體的內容請參見(jiàn)各個(gè)Region對應的Endpoint。

數據冗余機制

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

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

OSS與文件系統的對比

對比項 OSS 文件系統
數據模型 OSS是一個(gè)分布式的對象存儲服務(wù),提供的是一個(gè)Key-Value對形式的對象存儲服務(wù)。 文件系統是一種典型的樹(shù)狀索引結構。
數據獲取 根據Object的名稱(chēng)(Key)唯一的獲取該Object的內容。雖然用戶(hù)可以使用類(lèi)似test1/test.jpg的名字,但是這并不表示用戶(hù)的Object是保存在test1目錄下面的。對于OSS來(lái)說(shuō),test1/test.jpg僅僅只是一個(gè)字符串,和a.jpg這種并沒(méi)有本質(zhì)的區別。因此不同名稱(chēng)的Object之間的訪(fǎng)問(wèn)消耗的資源是類(lèi)似的。 一個(gè)名為test1/test.jpg的文件,訪(fǎng)問(wèn)過(guò)程需要先訪(fǎng)問(wèn)到test1這個(gè)目錄,然后再在該目錄下查找名為test.jpg的文件。
優(yōu)勢 支持海量的用戶(hù)并發(fā)訪(fǎng)問(wèn)。 支持文件的修改,比如修改指定偏移位置的內容、截斷文件尾部等。也支持文件夾的操作,比如重命名目錄、刪除目錄、移動(dòng)目錄等非常容易。
劣勢 OSS保存的Object不支持修改(追加寫(xiě)Object需要調用特定的接口,生成的Object也和正常上傳的Object類(lèi)型上有差別)。用戶(hù)哪怕是僅僅需要修改一個(gè)字節也需要重新上傳整個(gè)Object。OSS可以通過(guò)一些操作來(lái)模擬類(lèi)似文件夾的功能,但是代價(jià)非常昂貴。比如重命名目錄,希望將test1目錄重命名成test2,那么OSS的實(shí)際操作是將所有以test1/開(kāi)頭的Object都重新復制成以test2/開(kāi)頭的Object,這是一個(gè)非常消耗資源的操作。因此在使用OSS的時(shí)候要盡量避免類(lèi)似的操作。 受限于單個(gè)設備的性能。訪(fǎng)問(wèn)越深的目錄消耗的資源也越大,操作擁有很多文件的目錄也會(huì )非常慢。

因此,將OSS映射為文件系統是非常低效的,也是不建議的做法。如果一定要掛載成文件系統的話(huà),建議盡量只做寫(xiě)新文件、刪除文件、讀取文件這幾種操作。使用OSS應該充分發(fā)揮其優(yōu)點(diǎn),即海量數據處理能力,優(yōu)先用來(lái)存儲海量的非結構化數據,比如圖片、視頻、文檔等。

以下是OSS與文件系統的概念對比:

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

OSS術(shù)語(yǔ)表

英文 中文
Bucket 存儲空間
Object 對象或者文件
Endpoint OSS 訪(fǎng)問(wèn)域名
Region 地域或者數據中心
Put Object 簡(jiǎn)單上傳
Post Object 表單上傳
Multipart Upload 分片上傳
Append Object 追加上傳
Get Object 簡(jiǎn)單下載
Callback 回調
Object Meta 文件元信息。用來(lái)描述文件信息,例如長(cháng)度,類(lèi)型等
Data 文件數據
Key 文件名
ACL (Access Control List) 存儲空間或者文件的權限

說(shuō)明 如果沒(méi)有特殊說(shuō)明,本文中出現和術(shù)語(yǔ)表中相同的英文和中文,表達的是相同的意思。有時(shí)候為了表述方便會(huì )混合使用。

国产精品香港三级|日韩精品无码免费专区网站|熟女一区二区三区|一本伊大人香蕉久久网|jzzijzzij亚洲乱熟无码
<button id="qvlbh"><button id="qvlbh"></button></button>
<xmp id="qvlbh"><xmp id="qvlbh"><xmp id="qvlbh"><address id="qvlbh"><output id="qvlbh"></output></address>
<xmp id="qvlbh"><legend id="qvlbh"></legend>
<xmp id="qvlbh"> <address id="qvlbh"><output id="qvlbh"></output></address>
<address id="qvlbh"><button id="qvlbh"></button></address>
<button id="qvlbh"><samp id="qvlbh"></samp></button>
<address id="qvlbh"><button id="qvlbh"></button></address><address id="qvlbh"></address>
<address id="qvlbh"><legend id="qvlbh"></legend></address>
<samp id="qvlbh"><xmp id="qvlbh"><legend id="qvlbh"></legend>