初識物件儲存

2021-10-04 22:34:49 字數 1981 閱讀 9280

初識物件儲存

一、前言

隨著在各行業廣泛的應用,物件儲存技術逐漸被大眾所耳聞,特別是amazon於2023年推出的s3(****** storage service),以及作為openstack最初核心子專案之一的swift。本文試圖梳理物件儲存的一些基本概念,幫助讀者對其建立乙個初步的認識。

二、什麼是物件儲存

物件儲存與傳統儲存的資料管理方式不同,檔案、塊儲存是將資料作為檔案或資料塊進行管理,而物件儲存是將資料作為物件進行管理。在s3和swift均有object、bucket/container、account等概念,下面對這些基礎概念進行介紹。

物件(object)是儲存資料的基本單元,類似檔案儲存的「檔案」。物件由名稱、資料以及元資訊組成,名稱作為物件的唯一標識,資料是物件的檔案資料內容,元資訊是物件的描述資訊,包括系統元資訊和使用者元資訊,如物件的版本、大小、時間以及其它描述資訊。

桶/容器(bucket/container)是儲存資料的邏輯空間,類似檔案儲存的「目錄」。所有物件都直接存放在某個桶中,但是桶是扁平結構不支援巢狀,桶名稱須符合相應的命名規則且具有全域性唯一性。在乙個桶內,物件以object name作為其唯一標識,而在乙個物件儲存系統內,物件以bucket name/object name作為其唯一標識。

物件儲存將資料以物件的形式,儲存在以桶為命名空間的兩級結構中。通過增加桶來橫向擴充套件命名空間,通過在桶中增加物件來實現海量資料儲存。這種扁平化的儲存結構,避免了多級目錄樹帶來的效能瓶頸等諸多問題,通過桶名稱加物件名稱進行資料檢索以滿足資料管理的需求,並且支援自定義使用者元資料實現資料屬性反查和分類,滿足大資料、人工智慧等應用的需求。

檔案、塊儲存是以nfs、cifs、iscsi等協議提供訪問介面,而物件儲存則是提供基於http標準的rest api訪問介面。因此物件儲存可以像使用uri(統一資源識別符號)訪問網路資源一樣訪問檔案(物件),這樣非常有利於在網際網路上傳輸資料。加上彈性擴充套件、基於通用硬體構建等優勢,物件儲存逐漸成為了「雲儲存」事實上的標準。

三、物件儲存的優勢

在儲存技術的選型中,有諸多基於檔案或塊的儲存技術可供選擇,這些技術基本上都是成熟且經過驗證的,那麼我們為什麼還需要一種新型的儲存技術呢?

塊儲存直接通過底層儲存協議(如scsi)訪問磁碟資料,開銷非常小且沒有額外的抽象層,是訪問磁碟資料最快的方式,但是資料共享、多使用者訪問等高階功能需要通過上層應用實現。物件儲存使用基於塊儲存的節點儲存資料,所有高階功能通過物件儲存軟體實現。因此塊儲存和物件儲存沒有直接競爭關係,而檔案儲存一般被認為是物件儲存的直接競爭者。

與檔案儲存相比,物件儲存具有兩個顯著的特徵——扁平化儲存結構http標準rest介面。檔案儲存是層次化結構的,在面對海量檔案儲存時,需要維護龐大的目錄樹,會造成效能瓶頸等問題。而物件儲存是扁平化結構,採用元資料檢索資料的方式,無需目錄結構但更能滿足資料管理的需求。物件儲存通常是使用基於http協議的restful api,通過http請求中的put和get等操作進行資料讀寫,以放棄隨機讀寫為代價,帶來的是儲存效率和使用者體驗的顯著提公升。除此之外,物件儲存在穩定性、可靠性、安全性及管理等方面也具有明顯優勢。

初識物件導向

1.例項化 2.init 方法 3.類方法和靜態方法 4.訪問控制 5.屬性裝飾器 在python中,用變數表示特徵,用函式表示技能,因而具有相同特徵和技能的一類事物就是 類 物件是則是這一類事物中具體的乙個.三要素類 class 用來描述具有相同的屬性和方法的物件的集合。它定義了該集合中每個物件所...

初識物件導向

開始接觸物件導向程式設計,學習時間不長,寫下點自己目前的理解,總結梳理下最近的學習成果。一切皆是物件,物件導向體系中有這麼一句經典的話。我認為可以這麼理解,物件導向程式設計的關鍵步驟是如何將我們所希望實現的功能抽象為計算機可實現的模型,這些模型我們可以稱之為物件。當我們把具有相同特點的多個物件進一步...

物件導向初識

一,物件導向 1.面向過程的程式設計的核心是過程 流水線式思維 過程即解決問題的步驟,面向 過程的設計就好比精心設計好一條流水線,考慮周全什麼時候處理什麼東西。優點是 極大的降低了寫程式的複雜度,只需要順著要執行的步驟,堆疊 即可。缺點是 一套流水線或者流程就是用來解決乙個問題,牽一髮而動全身。2....