久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

對象存儲基礎(chǔ)概念

 昵稱48052010 2018-04-12

對象存儲誕生之初

談到為什么要有對象存儲,,必須聊聊對象存儲誕生之前的兩大存儲模型:塊存儲和文件存儲。
塊存儲主要是將存儲介質(zhì)的空間整個映射給主機使用的,,主機如果需要對這些空間進行讀寫IO操作,,需要先進行分區(qū)和格式化處理,形成可以被操作系統(tǒng)識別的邏輯命名空間,,之后主機才能通過操作系統(tǒng)對這些存儲介質(zhì)進行讀寫操作,。常見的塊存儲有磁盤,SSD,,NAS,、SAN等,,這些物理設(shè)備都或多或少存在物理上的極限,比如存儲空間,、性能等都存在物理極限,。
文件存儲立足于物理存儲介質(zhì)之上,是操作系統(tǒng)對數(shù)據(jù)管理操作的抽象,,這些抽象最終匯總形成文件系統(tǒng),。一般我們提到的文件系統(tǒng)都遵循POSIX標(biāo)準(zhǔn),而POSIX標(biāo)準(zhǔn)定義了操作系統(tǒng)應(yīng)該為其上運行的應(yīng)用程序提供的接口標(biāo)準(zhǔn),?;谶@套接口標(biāo)準(zhǔn),我們可以非常方便的將數(shù)據(jù)以文件,、文件夾方式進行管理,,但是常見的文件系統(tǒng)都是按目錄樹進行管理,在互聯(lián)網(wǎng)數(shù)據(jù)爆炸時代,,隨著文件目錄層級不斷增加,,亦或是文件數(shù)量達到海量以后,文件管理成本會直線飆升,,特別是一些遍歷操作會變得非常低效,,因此文件存儲在面對海量數(shù)據(jù)的時候有些力不從心。
介紹完塊存儲和文件存儲以后,,終于輪到對象存儲出場,,那對象存儲又是如何克服塊存儲和文件存儲的短板?在介紹對象存儲之前,,需要各位特別注意的就是對象存儲天生就帶互聯(lián)網(wǎng)基因,,完美適配當(dāng)前互聯(lián)網(wǎng)場景下的各種爆炸式數(shù)據(jù)需求,具體表現(xiàn)為:

  1. 扁平化的命名空間
    將數(shù)據(jù)以對象(Object)形式存儲在以桶(Bucket)為命名空間的兩級結(jié)構(gòu)中,通過新增Bucket方式來橫向擴展命名空間,,同時通過在Bucket中不斷新增Object方式來實現(xiàn)海量數(shù)據(jù)的存儲,,這種扁平化的數(shù)據(jù)管理模型克服了目錄樹管理的不足,,實現(xiàn)了海量數(shù)據(jù)簡單有效的管理,。需要注意的是Bucket的名稱全局唯一,通過桶名稱(Bucket name) 對象的鍵名(Key name)來定位一個對象的最終存儲路徑,。


  2. 分布式構(gòu)架設(shè)計
    借助扁平化的管理模型設(shè)計,,使得整個對象存儲系統(tǒng)可以按命名空間規(guī)則進行底層數(shù)據(jù)存儲的分區(qū),借助一些哈希算法最終將需要存儲的數(shù)據(jù)按分區(qū)規(guī)則均勻分布到多個主機的多塊磁盤上,,從而實現(xiàn)數(shù)據(jù)的分布式存儲,,從而解決了物理硬件的擴容及性能問題,為海量數(shù)據(jù)的存儲鋪平道路,。

  3. 通用化的接口標(biāo)準(zhǔn)
    在解決了海量數(shù)據(jù)管理和硬件短板的問題之后,,對象存儲還要克服一個關(guān)鍵的問題:如何實現(xiàn)通用接口標(biāo)準(zhǔn),?通用接口標(biāo)準(zhǔn)對一個對象存儲系統(tǒng)來說至關(guān)重要,這個是整個系統(tǒng)與外圍系統(tǒng)打交道的重要窗口,。如何兼容各種外圍系統(tǒng),,去適配各種開發(fā)語言,形成一套圍繞對象存儲系統(tǒng)的生態(tài)標(biāo)準(zhǔn),?同樣遵循“Simple is best,!”思想,互聯(lián)網(wǎng)時代HTTP大行其道,,到處都通行的RESTful風(fēng)格被對象存儲“一眼相中”,,目前主流的對象存儲在接口標(biāo)準(zhǔn)的實現(xiàn)上都提供RESTful風(fēng)格的API,同時也衍生出各種語言的SDK,,當(dāng)然有些對象存儲也實現(xiàn)了RPC,、SOAP等標(biāo)準(zhǔn),這里篇幅有限就不再贅述,。

(非)結(jié)構(gòu)化數(shù)據(jù)與對象存儲

什么是結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)?以大家熟知的關(guān)系型數(shù)據(jù)庫場景為例:
將一個人的屬性抽象出來,,分為姓名(name),年齡(age),住址(address),郵箱(email)幾個標(biāo)簽,之后將這些信息存儲到數(shù)據(jù)庫中,,那么某個人將對應(yīng)到數(shù)據(jù)庫里的一條記錄,。眾所周知,我們現(xiàn)在熟知的數(shù)據(jù)庫主要是關(guān)系型數(shù)據(jù)庫,,如果能夠?qū)?shù)據(jù)按關(guān)系模型進行存儲和管理,,那么這一類數(shù)據(jù)就是結(jié)構(gòu)化數(shù)據(jù)。
與之相對立的就是非結(jié)構(gòu)化數(shù)據(jù),。如果上面需要存儲的數(shù)據(jù)新增了一個相片(photo)字段,,用于存儲用戶的相片數(shù)據(jù),因為相片數(shù)據(jù)無法通過關(guān)系型數(shù)據(jù)進行描述,,所以一般存儲相片都是以二進制方式(非結(jié)構(gòu)化方式)存儲在關(guān)系數(shù)據(jù)庫中,,但是傳統(tǒng)數(shù)據(jù)庫不是萬能。當(dāng)需要比較多張相片的相似度,,并刪除重復(fù)相片,,特別是需要管理海量相片的時候,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,,會讓你覺得異常痛苦,。
對象存儲正是為了彌補傳統(tǒng)關(guān)系型數(shù)據(jù)庫在管理非結(jié)構(gòu)化數(shù)據(jù)方面的不足。在對象存儲模型中,,將每一條存儲在其中的非結(jié)構(gòu)化數(shù)據(jù)抽象成一個“對象”,,一個對象(Object)主要由下面四部分組成:

  • 鍵名(Key):用于標(biāo)識對象的名稱,通過Bucket name Key的組合來確定對象最終存儲路徑,。

  • 鍵值(Value):用于存儲對象的內(nèi)容數(shù)據(jù),。

  • 訪問控制列表(ACL):標(biāo)識對象可以被哪些用戶或者用戶組訪問,。

  • 元數(shù)據(jù)(Metadata):用于以key-value形式存儲對象其他額外信息,比如對象內(nèi)容的MD5校驗值,,對象的屬主(owner),,atime/ctime/mtime等。

再來看一下我們熟悉的文件系統(tǒng)下一個文件都有哪些屬性,以Linux下面使用stat和md5sum命令查看ceph.conf文件為例

root@demo:/home/user# stat ceph.conf
 File: ‘ceph.conf’
 Size: 2534            Blocks: 8          IO Block: 4096   regular file
Device: fe21h/65057d    Inode: 1409        Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-09-19 06:25:02.294973380 0800
Modify: 2017-03-17 11:20:13.736611814 0800
Change: 2017-03-17 11:20:13.736611814 0800
Birth: -
root@demo:/home/user# md5sum ceph.conf
1f3695479cf9198e318cd930b91ab97d  ceph.conf

通過上面的命令可以很輕松的看到文件的ACL,、MD5,、atime/ctime/mtimed等,接下來就是將文件系統(tǒng)的這些內(nèi)容轉(zhuǎn)換成對象存儲里面相應(yīng)的屬性即可,,這里使用一個s3cmd工具實現(xiàn)對象存儲的上傳,,具體操作及效果如下

root@demo:/home/user# s3cmd put ceph.conf s3://my-bucket
'ceph.conf' -> 's3://my-bucket/ceph.conf'  [1 of 1]
2534 of 2534   100% in    0s    31.61 kB/s  done
'ceph.conf' -> 's3://my-bucket/ceph.conf'  [1 of 1]
2534 of 2534   100% in    0s    34.84 kB/s  done
root@demo:/home/user# s3cmd info s3://my-bucket/ceph.conf
s3://my-bucket/ceph.conf (object):
  File size: 2534
  Last mod:  Tue, 14 Nov 2017 06:45:37 GMT
  MIME type: text/plain
  MD5 sum:   1f3695479cf9198e318cd930b91ab97d
  SSE:       none
  cors:      none
  ACL:       s3user: FULL_CONTROL
  x-amz-meta-s3cmd-attrs: uid:0/gname:root/uname:root/gid:0/mode:33188/mtime:1489720813/atime:1474237502/md5:1f3695479cf9198e318cd930b91ab97d/ctime:1489720813

通過上面的介紹,相信大家已經(jīng)對對象存儲已經(jīng)有所了解,。那么如何解決快速刪除重復(fù)相片的問題,?只需要將每張相片存儲在對象存儲中,同時以元數(shù)據(jù)方式記錄對應(yīng)的MD5值,,在不讀取圖片內(nèi)容的情況下,,通過比較每個對象的MD5值是就能快速的篩選出重復(fù)的相片。


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多