Minio 對象存儲 OSS概述

系列文章目錄

第五章 Minio 對象存儲 OSS概述


Minio 對象存儲 OSS概述

  • 系列文章目錄
  • 對象存儲 OSS
  • 基本概念
    • 存儲空間(Bucket)
    • 對象(Object)
    • ObjectKey
    • Region(地域)
    • Endpoint(訪問域名)
    • AccessKey(訪問密鑰)
    • 強一致性
    • 數據冗余機制
  • OSS與文件系統的對比
  • 應用場景
    • 圖片和音視頻等應用的海量存儲
    • 網頁或者移動應用的靜態和動態資源分離
    • 云端數據處理


對象存儲 OSS

文檔來源于阿里云對象存儲 OSS,Minio也是對象存儲 OSS,很多概念都是相通的,所以了解下。實際企業應用使用阿里OSS是一個很不錯的選擇。

對象存儲服務(Object Storage Service,OSS)是一種海量、安全、低成本、高可靠的云存儲服務,適合存放任意類型的文件。容量和處理能力彈性擴展,多種存儲類型供選擇,全面優化存儲成本。

阿里云對象存儲OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存儲服務。其數據設計持久性不低于99.9999999999%(12個9),服務可用性(或業務連續性)不低于99.995%。


基本概念

存儲空間(Bucket)

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

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

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

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

對象(Object)

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

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

對象的命名規范如下:

使用UTF-8編碼。
長度必須在1~1023字符之間。
不能以正斜線(/)或者反斜線(\)開頭。
對象名稱需要區分大小寫。如無特殊說明,本文檔中的對象、文件稱謂等同于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設置。

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。

AccessKey(訪問密鑰)

AccessKey簡稱AK,指的是訪問身份驗證中用到的AccessKeyId和AccessKeySecret。OSS通過使用AccessKeyId和AccessKeySecret對稱加密的方法來驗證某個請求的發送者身份。AccessKeyId用于標識用戶;AccessKeySecret是用戶用于加密簽名字符串和OSS用來驗證簽名字符串的密鑰,必須保密。對于OSS來說,AccessKey的來源有:

Bucket的擁有者申請的AccessKey。
被Bucket的擁有者通過RAM授權給第三方請求者的AccessKey。
被Bucket的擁有者通過STS授權給第三方請求者的AccessKey

強一致性

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

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

數據冗余機制

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

OSSObject操作具有強一致性,用戶一旦收到了上傳或復制成功的響應,則該上傳的Object就已經立即可讀,且數據已經冗余寫入到多個設備中。

OSS會通過計算網絡流量包的校驗和,驗證數據包在客戶端和服務端之間傳輸中是否出錯,保證數據完整傳輸。

OSS的冗余存儲機制,可支持兩個存儲設施并發損壞時,仍維持數據不丟失。

當數據存入OSS后,OSS會檢測和修復丟失的冗余,確保數據持久性和可用性。

OSS會周期性地通過校驗等方式驗證數據的完整性,及時發現因硬件失效等原因造成的數據損壞。當檢測到數據有部分損壞或丟失時,OSS會利用冗余的數據,進行重建并修復損壞數據。

OSS與文件系統的對比

在這里插入圖片描述
因此,將OSS映射為文件系統是非常低效的,也是不建議的做法。如果一定要掛載成文件系統的話,建議盡量只做寫新文件、刪除文件、讀取文件這幾種操作。使用OSS應該充分發揮其優點,即海量數據處理能力,優先用來存儲海量的非結構化數據,比如圖片、視頻、文檔等。

以下是OSS與文件系統的概念對比:
在這里插入圖片描述
OSS術語表
在這里插入圖片描述

應用場景

圖片和音視頻等應用的海量存儲

OSS可用于圖片、音視頻、日志等海量文件的存儲。各種終端設備、Web網站程序、移動應用可以直接向OSS寫入或讀取數據。OSS支持流式寫入和文件寫入兩種方式。

網頁或者移動應用的靜態和動態資源分離

利用海量互聯網帶寬,OSS可以實現海量數據的互聯網并發下載。OSS提供原生的傳輸加速功能,支持上傳加速、下載加速,提升跨國、跨洋數據上傳、下載的體驗。同時,OSS也可以結合CDN產品,提供靜態內容存儲、分發到邊緣節點的解決方案,利用CDN邊緣節點緩存的數據,提升同一個文件被同一地區客戶大量重復并發下載的體驗。
在這里插入圖片描述

云端數據處理

上傳文件到OSS后,可以配合媒體處理服務和圖片處理服務進行云端的數據處理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13290.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13290.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13290.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#知識|上位機子窗體嵌入主窗體方法(實例)

哈嘍,你好啊,我是雷工! 上位機開發中,經常會需要將子窗體嵌入到主窗體, 本節練習C#中在主窗體的某個容器中打開子窗體的方法。 01 需求說明 本節練習將【賬號管理】子窗體在主窗體的panelMain容器中打開。 賬號管理子窗體如下: 主窗體的panelMain容器位置如圖: 02 實現…

一次JAVA接口優化記錄

目錄 一次接口優化記錄首先考慮,添加緩存緩存策略方案一:本地緩存方案二:Redis緩存 優化結果原因分析:原因驗證 接口數據分析將響應數據返回大小減少compression壓縮配置完美(代指這里的小系統) 一次接口優…

CentOS 的常見命令

CentOS 是一種廣泛使用的 Linux 發行版,特別在服務器環境中。本文將詳細介紹 CentOS 中常見的命令,以便幫助用戶在操作系統中有效地進行各種操作。下面介紹一下文件和目錄操作、用戶和權限管理、系統信息查看、軟件包管理以及網絡配置等方面的命令。 一…

應用層協議【HTTP和HTTPS】

1.概念 1.1 協議 協議是指在計算機通信和網絡通信中,為了實現數據交換而建立的一套規則、約定或者標準。它定義了通信雙方之間的通信格式、傳輸方式、數據的含義、錯誤處理等細節,從而確保通信的可靠性、有效性和安全性。 >1在計算機網絡中&#x…

Python簡易圖書管理系統重構

在本篇課文中,我們將使用Python語言結合MySQL數據庫,從零開始構建一個簡單的圖書管理系統。該系統旨在幫助圖書館管理員輕松管理圖書的借閱、歸還以及查詢圖書信息等日常操作。我們將分步介紹需求分析、數據庫設計、環境搭建、功能實現等關鍵環節&#x…

注冊講堂 | 體外診斷試劑分類目錄的變化

5月11日,千呼萬喚的《體外診斷試劑分類目錄》(2024年第58號)終于發布! 前世今生 2013年:《6840 體外診斷試劑分類子目錄(2013版)》(以下簡稱2013版目錄) 2017年&#xff…

蘋果永久版安裝PD虛擬機:Parallels Desktop 19 一鍵激活版

Parallels Desktop 19是一款功能強大的虛擬機軟件,專為Mac用戶設計,允許用戶在同一臺Mac電腦上同時運行Windows、Linux等多個操作系統,而無需額外的硬件設備。 下載地址:https://www.macz.com/mac/9581.html?idOTI2NjQ5Jl8mMjcuM…

Kubernetes入門:核心概念

集群架構與組件 一個kubernetes集群主要是由控制節點(master)、工作節點(node)構成,每個節點上都會安裝不同的組件。 master:集群的控制平面,負責集群的決策 ( 管理 ) api-server : 資源操作的唯一入口,接收用戶輸入的命令&…

vue3 項目中 前端實現下載模板 csv文件

做項目時遇到讓前端實現模板下載功能&#xff0c;第一次碰到這種需求&#xff0c;記錄一下。 下載csv 模板&#xff1a; <el-button type"primary" click"download(data/CSVXX.csv)">下載模板</el-button> const download (url) > {con…

文本控件Text Control示例: 將圖像插入 TX 的各種方法

TX Text Control 是一款功能類似于 MS Word 的文字處理控件&#xff0c;包括文檔創建、編輯、打印、郵件合并、格式轉換、拆分合并、導入導出、批量生成等功能。廣泛應用于企業文檔管理&#xff0c;網站內容發布&#xff0c;電子病歷中病案模板創建、病歷書寫、修改歷史、連續打…

在Linux上面部署ELK

注明&#xff1a;一下的軟件需要自己準備 一、準備環境&#xff1a; 1.兩臺elasticsearch主機4G內存 2.兩臺elasticsearch配置主機名node1和node2(可以省略) #vim /etc/hostname #reboot 3. 兩臺elasticsearch配置hosts文件 #vim /etc/hosts 192.168.1.1 node1 192…

RTMP低延遲推流

人總是需要壓力才能進步, 最近有個項目, 需要我在RK3568上, 推流到公網, 最大程度的降低延遲. 廢話不多說, 先直接看效果: 數據經過WiFi發送到Inenter的SRS服務器, 再通過網頁拉流的. 因為是打金任務, 所以逼了自己一把, 把RTMP推流好好捋一遍. 先說說任務目標, 首先是MPP編碼…

【Altium】AD-檢查原理圖中元器件未連接的Passive Pin

1、 文檔目標 如何讓原理圖編譯時找出元器件上未連接的Passive Pin 2、 問題場景 當引腳屬性&#xff08;Pin type&#xff09;為passive時&#xff0c;原理圖編譯的默認規則是不會去檢查它們是否有連接的。在實際設計過程中&#xff0c;經常會有導線虛連&#xff0c;漏連的事…

醫療傳感器種類不斷增多 市場規模逐漸擴大

醫療傳感器種類不斷增多 市場規模逐漸擴大 醫療傳感器是將人體的生理信息轉換為電信息的變換裝置。醫療傳感器具有高靈敏度、高精度、實時監測等優點&#xff0c;可以檢測佩戴者的心率、呼吸頻率、活動量等&#xff0c;從而更加準確地了解身體情況。   經過多年發展&#…

【極簡】docker常用操作

鏡像images是靜態的 容器container是動態的&#xff0c;是基于鏡像的&#xff0c;類似于一個進程。 查看docker images&#xff1a; docker images 或者docker image ls 查看docker container情況&#xff1a;docker ps -a&#xff0c;-a意思是--all 運行一個container: doc…

MySQL not in不等于找不到null的數據

在使用MySQL的NOT IN語句時&#xff0c;如果找不到NULL值&#xff0c;可能是因為NULL值在比較中具有特殊性質。NULL值不等于任何其他值&#xff0c;包括它自己。因此&#xff0c;使用NOT IN語句時&#xff0c;如果列表中包含NULL值&#xff0c;則查詢不會返回任何結果。 解決此…

有意思的數組

var nums [1,2,3,6] const nums1 [6, 8, 7, 10, 9];/* 數組合并————push */ var n nums.push(...nums1); // 將列表 nums1 拼接到 nums 之后 n //n會是nums的長度 > 9 nums //也push了 > (9) [1, 2, 3, 6, 6, 8, 7, 10, 9]/* 數組合并————concat*/ var arr0…

數字水印 | 奇異值分解 SVD 的 Python 代碼實現

&#x1f951;原理&#xff1a;數字水印 | 奇異值分解 SVD 的定義、原理及性質 &#x1f951;參考&#xff1a;Python 機器學習筆記&#xff1a;奇異值分解&#xff08;SVD&#xff09;算法 正文 對于一個圖像矩陣&#xff0c;我們總可以將其分解為以下形式&#xff1a; 通過…

使用API有效率地管理Dynadot域名,默認將域名隱形轉發至其他界面

關于Dynadot Dynadot是通過ICANN認證的域名注冊商&#xff0c;自2002年成立以來&#xff0c;服務于全球108個國家和地區的客戶&#xff0c;為數以萬計的客戶提供簡潔&#xff0c;優惠&#xff0c;安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引&#xff08;包括域名郵…