偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

存儲(chǔ)
每種技術(shù)的產(chǎn)生都有其原因,也有其淵源。網(wǎng)絡(luò)文件系統(tǒng)的產(chǎn)生有幾十年的歷史了,但是由于在互聯(lián)網(wǎng)盛行的當(dāng)下無(wú)法滿(mǎn)足某些需求,于是對(duì)象存儲(chǔ)產(chǎn)生了。今天我們就從

每種技術(shù)的產(chǎn)生都有其原因,也有其淵源。網(wǎng)絡(luò)文件系統(tǒng)的產(chǎn)生有幾十年的歷史了,但是由于在互聯(lián)網(wǎng)盛行的當(dāng)下無(wú)法滿(mǎn)足某些需求,于是對(duì)象存儲(chǔ)產(chǎn)生了。今天我們就從從網(wǎng)絡(luò)文件系統(tǒng)說(shuō)起。

[[335218]]

早些時(shí)候的企業(yè)級(jí)架構(gòu)普遍采用網(wǎng)絡(luò)文件系統(tǒng),這其中最為著名的就是Sum的NFS了。微軟也有類(lèi)似的網(wǎng)絡(luò)文件系統(tǒng),也就是SMB。網(wǎng)絡(luò)文件系統(tǒng)的原理很簡(jiǎn)單,其目的就是將存儲(chǔ)系統(tǒng)上的文件系統(tǒng)映射到計(jì)算節(jié)點(diǎn)(比如Web服務(wù)器)。這樣可以實(shí)現(xiàn)存儲(chǔ)資源的共享,提高存儲(chǔ)資源的利用率。具體映射方式如下所示。

 

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

 

但是文件系統(tǒng)有個(gè)天然的缺點(diǎn)。由于文件系統(tǒng)空間組織的特點(diǎn),導(dǎo)致對(duì)文件訪問(wèn)的時(shí)候需要比較多次的磁盤(pán)訪問(wèn)。

以Ext4文件系統(tǒng)為例,文件系統(tǒng)將磁盤(pán)空間分為兩個(gè)主要的區(qū)域,一個(gè)是元數(shù)據(jù)區(qū),用于存儲(chǔ)文件inode等信息;另外一個(gè)是數(shù)據(jù)區(qū),用于存儲(chǔ)文件的數(shù)據(jù),也就是用戶(hù)數(shù)據(jù),具體如下圖所示。

 

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

 

這樣,當(dāng)我們?cè)L問(wèn)一個(gè)文件的時(shí)候,首先需要找到文件對(duì)應(yīng)的inode,然后根據(jù)inode信息找到數(shù)據(jù)的位置,并讀取數(shù)據(jù)。這個(gè)過(guò)程可能要涉及到2-3次的磁盤(pán)訪問(wèn)。對(duì)于互聯(lián)網(wǎng)應(yīng)用來(lái)說(shuō),多次磁盤(pán)訪問(wèn)會(huì)顯著降低性能,影響用戶(hù)的體驗(yàn)。

當(dāng)然,除此之外還有其它一些問(wèn)題,比如橫向擴(kuò)展能力等。其實(shí)本質(zhì)上來(lái)說(shuō),文件系統(tǒng)的目的是一個(gè)通用的存儲(chǔ)形態(tài),其目的是為了適用大多數(shù)的應(yīng)用場(chǎng)景(比如文件鎖,擴(kuò)展屬性,ACL等等)。而網(wǎng)絡(luò)文件系統(tǒng)為了保證與文件系統(tǒng)語(yǔ)義的一致性,也需要實(shí)現(xiàn)這些特性,這就導(dǎo)致網(wǎng)絡(luò)文件系統(tǒng)比較臃腫。

對(duì)象存儲(chǔ)解決的問(wèn)題

由于上述缺點(diǎn),傳統(tǒng)的網(wǎng)絡(luò)文件系統(tǒng)是完全無(wú)法滿(mǎn)足互聯(lián)網(wǎng)領(lǐng)域應(yīng)用的。我們舉一個(gè)例子,以FaceBook為例,其每秒鐘都有幾十萬(wàn)次的照片檢索請(qǐng)求。其存儲(chǔ)的照片總量每天新增3.5億張,對(duì)應(yīng)的存儲(chǔ)增量大概在300TB左右。如果對(duì)應(yīng)物理設(shè)備,每天大概需要新增上百塊硬盤(pán)。

這種問(wèn)題在任何互聯(lián)網(wǎng)公司都會(huì)遇到的問(wèn)題。比如國(guó)內(nèi)的頭條,淘寶或者京東等等,在它們的平臺(tái)上每天也要產(chǎn)生海量的圖片訪問(wèn)。傳統(tǒng)存儲(chǔ)很難滿(mǎn)足其性能和擴(kuò)展性的要求。

雖然互聯(lián)網(wǎng)應(yīng)用對(duì)性能和容量的要求極高,但是對(duì)其它特性卻沒(méi)什么特別的要求。甚至可以說(shuō)它對(duì)其它特性基本上沒(méi)有太多要求。由于其存儲(chǔ)的主要是圖片,而且對(duì)圖片的存儲(chǔ)是一次存儲(chǔ),多次訪問(wèn),沒(méi)有修改。

為了解決上述問(wèn)題,對(duì)象存儲(chǔ)應(yīng)運(yùn)而生??梢钥闯鰧?duì)象存儲(chǔ)解決的問(wèn)題很集中,如何保證橫向擴(kuò)展能力、降低訪問(wèn)延時(shí)。而不需要實(shí)現(xiàn)文件系統(tǒng)的其它額外特性(后面我們會(huì)介紹對(duì)象存儲(chǔ)還有一些高級(jí)特性)。下面是維基百科對(duì)對(duì)象存儲(chǔ)的定義。

Object storage (also known as object-based storage) is a computer data storage architecture that manages data as objects

從定義可以看出,對(duì)象存儲(chǔ)在數(shù)據(jù)處理層面的特點(diǎn)是將待處理的數(shù)據(jù)看做一個(gè)整體,這也就是為什么把它稱(chēng)為對(duì)象,而不是文件了。

其實(shí)對(duì)象存儲(chǔ)也并非全部如此簡(jiǎn)單,很多對(duì)象存儲(chǔ)也實(shí)現(xiàn)了比較復(fù)雜的功能特性。比如S3對(duì)象存儲(chǔ)可以支持大數(shù)據(jù)處理、擴(kuò)展屬性和二次處理(比如照片的轉(zhuǎn)換,水印等)等特性。

對(duì)象存儲(chǔ)的常見(jiàn)架構(gòu)

為了讓大家對(duì)對(duì)象存儲(chǔ)有更加深刻的理解,我們介紹一下常見(jiàn)對(duì)象存儲(chǔ)的架構(gòu)。雖然亞馬遜的S3非常出名,但是并沒(méi)有公開(kāi)太多技術(shù)信息,其架構(gòu)也無(wú)從了解。今天本文將介紹一下比較流行的其它對(duì)象存儲(chǔ)的架構(gòu)。

Swift對(duì)象存儲(chǔ)

首先介紹一下開(kāi)源對(duì)象存儲(chǔ)Swift的架構(gòu)。Swift是OpenStack的一個(gè)子項(xiàng)目,是非常流行的開(kāi)源對(duì)象存儲(chǔ)軟件。Swift在OpenStack中主要用作虛擬機(jī)鏡像,其特點(diǎn)也是存儲(chǔ)大對(duì)象。對(duì)于小對(duì)象則想多弱勢(shì)。

Swift最主要的是實(shí)現(xiàn)橫向擴(kuò)展能力,其前端有一個(gè)Proxy組件,該組件實(shí)現(xiàn)了數(shù)據(jù)的分發(fā)服務(wù)。該組件可以具備多個(gè)實(shí)例,每個(gè)實(shí)例可以安裝在一臺(tái)物理服務(wù)器。由于Proxy可以橫向擴(kuò)展,因此不會(huì)成為性能瓶頸。

 

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

 

在Proxy中最核心的算法是進(jìn)行數(shù)據(jù)放置的一致性哈希算法。該算法實(shí)現(xiàn)了將一個(gè)對(duì)象映射到物理設(shè)備的過(guò)程。為了保證整個(gè)系統(tǒng)的可靠性和可用性,Swift將設(shè)備劃分為若干等級(jí),比如Zone,Host和Disk。通過(guò)不同設(shè)備的分發(fā),實(shí)現(xiàn)故障域的隔離。

 

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

 

如上圖哈希算法,首先將物理設(shè)備映射到哈希環(huán)上;當(dāng)有對(duì)象訪問(wèn)的時(shí)候根據(jù)對(duì)象名稱(chēng)計(jì)算出哈希值,然后將對(duì)象映射到具體的物理設(shè)備上。

Haystack對(duì)象存儲(chǔ)

Facebook這對(duì)其照片應(yīng)用開(kāi)發(fā)了Haystack對(duì)象存儲(chǔ)。Haystack與前面Switf的差異是其存儲(chǔ)的是小對(duì)象。因?yàn)閳D片通常在10MB以下,大部分在KB級(jí)別。因此Haystack除了保證系統(tǒng)的橫向擴(kuò)展能力外,其最主要的是實(shí)現(xiàn)對(duì)小文件的處理。

前面我們說(shuō)過(guò),對(duì)于小文件的性能問(wèn)題,普通文件系統(tǒng)的問(wèn)題在于多次讀盤(pán)操作。而Haystack正式解決了該問(wèn)題。

Haystack的做法非常簡(jiǎn)單,它將多個(gè)小文件作為一個(gè)大文件的局部數(shù)據(jù),這個(gè)局部數(shù)據(jù)稱(chēng)為needle。同時(shí)Haystack構(gòu)建了一個(gè)描述needle在大文件中位置的索引文件。由于索引文件比較小,因此可以一次性的加載到內(nèi)存當(dāng)中。

 

從網(wǎng)絡(luò)文件系統(tǒng)到對(duì)象存儲(chǔ),聊聊對(duì)象存儲(chǔ)的前世今生

 

通過(guò)這種方式,當(dāng)客戶(hù)端需要訪問(wèn)數(shù)據(jù)的時(shí)候,在存儲(chǔ)節(jié)點(diǎn)可以直接從內(nèi)存中得到數(shù)據(jù)的位置,并一次從磁盤(pán)上讀取數(shù)據(jù)。這樣訪問(wèn)存儲(chǔ)的性能得到大幅的提升。

由于篇幅有限,本文先介紹到這里,關(guān)于存儲(chǔ)技術(shù)的更多細(xì)節(jié),還請(qǐng)關(guān)注本號(hào)。本號(hào)后續(xù)還會(huì)步步深入,介紹關(guān)于存儲(chǔ)技術(shù)的諸多細(xì)節(jié)。

 

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2015-06-11 11:10:09

對(duì)象存儲(chǔ)云存儲(chǔ)

2022-09-14 21:15:44

互聯(lián)網(wǎng)存儲(chǔ)技術(shù)

2009-09-13 19:24:33

LINQ存儲(chǔ)過(guò)程

2015-08-12 14:35:47

2018-03-27 10:06:26

對(duì)象存儲(chǔ)演進(jìn)

2022-06-28 18:47:38

WiFi5G

2022-03-04 08:45:11

Docker開(kāi)源Linux

2018-03-16 09:23:34

塊存儲(chǔ)文件存儲(chǔ)對(duì)象存儲(chǔ)

2019-07-08 18:23:45

Windows操作系統(tǒng)功能

2015-05-19 14:54:01

浪潮

2019-04-28 09:34:06

2018-09-19 10:15:45

塊存儲(chǔ)文件存儲(chǔ)對(duì)象存儲(chǔ)

2022-10-08 07:45:09

塊存儲(chǔ)磁盤(pán)硬盤(pán)

2018-01-22 09:21:46

塊存儲(chǔ)對(duì)象存儲(chǔ)文件系統(tǒng)

2022-09-20 14:04:09

SSD

2021-05-31 20:06:57

網(wǎng)元協(xié)議網(wǎng)關(guān)

2024-06-14 09:32:12

2019-04-15 15:22:14

塊存儲(chǔ)文件存儲(chǔ)對(duì)象存儲(chǔ)

2020-02-16 15:20:18

存儲(chǔ)類(lèi)型比較
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)