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

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

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

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

[[335218]]

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

 

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

 

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

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

 

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

 

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

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

對象存儲解決的問題

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

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

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

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

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

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

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

對象存儲的常見架構(gòu)

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

Swift對象存儲

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

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

 

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

 

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

 

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

 

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

Haystack對象存儲

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

前面我們說過,對于小文件的性能問題,普通文件系統(tǒng)的問題在于多次讀盤操作。而Haystack正式解決了該問題。

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

 

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

 

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

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

 

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

2015-06-11 11:10:09

對象存儲云存儲

2022-09-14 21:15:44

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

2009-09-13 19:24:33

LINQ存儲過程

2015-08-12 14:35:47

2018-03-27 10:06:26

對象存儲演進(jìn)

2022-06-28 18:47:38

WiFi5G

2022-03-04 08:45:11

Docker開源Linux

2018-03-16 09:23:34

塊存儲文件存儲對象存儲

2019-07-08 18:23:45

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

2015-05-19 14:54:01

浪潮

2018-09-19 10:15:45

塊存儲文件存儲對象存儲

2018-01-22 09:21:46

塊存儲對象存儲文件系統(tǒng)

2022-10-08 07:45:09

塊存儲磁盤硬盤

2019-04-28 09:34:06

2022-09-20 14:04:09

SSD

2019-04-15 15:22:14

塊存儲文件存儲對象存儲

2021-05-31 20:06:57

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

2024-06-14 09:32:12

2020-02-16 15:20:18

存儲類型比較
點(diǎn)贊
收藏

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