云計(jì)算是什么?云時(shí)代,沒有對(duì)象,我也能搞對(duì)象存儲(chǔ)
來(lái)源:北大青鳥總部
2020年08月21日 13:22
摘要:
云時(shí)代,沒有對(duì)象,我也能搞對(duì)象存儲(chǔ)
說(shuō)到對(duì)象,真的是扎到每個(gè)程序員的心窩窩里了。在上學(xué)時(shí)候,學(xué)習(xí)C++語(yǔ)言,告訴我要面向?qū)ο缶幊?,工作了,學(xué)習(xí)云存儲(chǔ),告訴我要面向?qū)ο蟠鎯?chǔ)。我怎么這么難呢?沒有對(duì)象,還不能愉快的編程、愉快的工作了嗎?那當(dāng)然不是啊。所謂對(duì)象存儲(chǔ),就是面向?qū)ο蟆⑽募幕ヂ?lián)網(wǎng)存儲(chǔ),始于互聯(lián)網(wǎng),也興于互聯(lián)網(wǎng)。它存儲(chǔ)的是文件數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù),比如音頻、視頻、圖片、文件等等。簡(jiǎn)單來(lái)說(shuō),對(duì)象存儲(chǔ)的過(guò)程就像你去超市購(gòu)物時(shí),將自己的包包放在儲(chǔ)物柜,儲(chǔ)物柜會(huì)給你一張憑條,購(gòu)物完畢,憑借條子就可以取貨。
沒有對(duì)象存儲(chǔ)之前,我們看看傳統(tǒng)方式是怎么實(shí)現(xiàn)存儲(chǔ)的呢?以我們看電影為例哈,方式之一U盤,使用U盤將別人電腦上的電影拷貝下來(lái),再放在自己的電腦上查看,U盤就是我們的存儲(chǔ)設(shè)備。方式之二網(wǎng)盤,有了百度網(wǎng)盤的出現(xiàn),只需要小伙伴把電影分享保存下,就可以下載在本地或在線觀看了。方式之三視頻網(wǎng)站,有了視頻服務(wù)提供商,自己開發(fā)了視頻應(yīng)用如騰訊視頻、優(yōu)酷、愛奇藝,將視頻存在服務(wù)器中,自己下載app就可以觀看了。而在云時(shí)代,有了云存儲(chǔ),只需要把視頻存儲(chǔ)在對(duì)象存儲(chǔ)中,我們得到視頻的地址,在瀏覽器輸入地址、或把地址放入app中(視頻服務(wù)提供商)就可以看了。
隨著互聯(lián)網(wǎng)的到來(lái),Web應(yīng)用創(chuàng)造出上千億的數(shù)據(jù),再到移動(dòng)應(yīng)用的黃金時(shí)代,App創(chuàng)造出上萬(wàn)億的數(shù)據(jù),每天聊微信、刷抖音、刷微博、看新聞、看電影等,每天都在上傳下載海量的照片、視頻、音頻,而且80%以上都是非結(jié)構(gòu)化數(shù)據(jù)。面對(duì)如此巨大的數(shù)據(jù)量,僅僅靠傳統(tǒng)的磁盤、塊存儲(chǔ)、文件存儲(chǔ),已經(jīng)無(wú)能為力了,就算我們可以靠不斷的增加硬件投入來(lái)擴(kuò)寬存儲(chǔ)能力,但這畢竟是有成本在啊,硬件成本、人工維護(hù)成本,還可能犧牲應(yīng)用的可擴(kuò)展性、低延遲性,降低用戶體驗(yàn),所以云存儲(chǔ)是勢(shì)不可擋。
對(duì)象存儲(chǔ)是基于存儲(chǔ)的存儲(chǔ)設(shè)備,通過(guò)Web協(xié)議(如Rest、SOAP)來(lái)實(shí)現(xiàn)對(duì)象的讀寫和存儲(chǔ)資源的訪問(wèn)。它由對(duì)象、對(duì)象存儲(chǔ)設(shè)備、元數(shù)據(jù)服務(wù)器、對(duì)象存儲(chǔ)系統(tǒng)客戶端四部分組成,一般來(lái)說(shuō)用戶通過(guò)客戶端發(fā)出訪問(wèn)請(qǐng)求,文件系統(tǒng)OSS接收請(qǐng)求并且向元數(shù)據(jù)服務(wù)器MDS發(fā)送請(qǐng)求獲取數(shù)據(jù)的OSD地址,獲取OSD地址后直接發(fā)出讀取對(duì)象的請(qǐng)求,經(jīng)過(guò)認(rèn)證之后將該對(duì)象數(shù)據(jù)返回給客戶端,用戶在客戶端查看數(shù)據(jù),整體架構(gòu)圖如下所示:Client客戶端就是用戶終端,通過(guò)標(biāo)準(zhǔn)的文件訪問(wèn)接口與對(duì)象存儲(chǔ)系統(tǒng)進(jìn)行對(duì)接。Object對(duì)象就是存儲(chǔ)系統(tǒng)中的基本單元,由文件的數(shù)據(jù)、屬性信息metadata組成。在對(duì)象存儲(chǔ)中的數(shù)據(jù)主要有三類,即Key、Data、MetaData,整個(gè)對(duì)象就是一個(gè)桶Bucket,桶里面有很多對(duì)象Object。key是用于檢索對(duì)象,是該對(duì)象的全局唯一標(biāo)識(shí)符,即使用戶或服務(wù)器不知道數(shù)據(jù)的物理地址,通過(guò)可以也可以找到對(duì)象。存儲(chǔ)系統(tǒng)中,所有的對(duì)象都是平等的,對(duì)象可大可小,可以是某個(gè)字符,也可以是整個(gè)文件。
Client客戶端就是用戶終端,通過(guò)標(biāo)準(zhǔn)的文件訪問(wèn)接口與對(duì)象存儲(chǔ)系統(tǒng)進(jìn)行對(duì)接。Object對(duì)象就是存儲(chǔ)系統(tǒng)中的基本單元,由文件的數(shù)據(jù)、屬性信息metadata組成。在對(duì)象存儲(chǔ)中的數(shù)據(jù)主要有三類,即Key、Data、MetaData,整個(gè)對(duì)象就是一個(gè)桶Bucket,桶里面有很多對(duì)象Object。key是用于檢索對(duì)象,是該對(duì)象的全局唯一標(biāo)識(shí)符,即使用戶或服務(wù)器不知道數(shù)據(jù)的物理地址,通過(guò)可以也可以找到對(duì)象。存儲(chǔ)系統(tǒng)中,所有的對(duì)象都是平等的,對(duì)象可大可小,可以是某個(gè)字符,也可以是整個(gè)文件。
目前阿里云的OSS、騰訊云的COS、七牛云的Kodo、百度云的BOS、網(wǎng)易云的NOS、華為云的OBS等都是提供對(duì)象存儲(chǔ)服務(wù)。下圖是一個(gè)對(duì)象的地址,也就是一個(gè)key,以往都是寫在前端文件里進(jìn)行訪問(wèn)獲取,如果直接公開的話,我們輸入U(xiǎn)RL就可以訪問(wèn)該視頻了。
OSD對(duì)象存儲(chǔ)設(shè)備(ObjectStorageDevice)是一個(gè)存儲(chǔ)設(shè)備,有自己的存儲(chǔ)介質(zhì)、處理器、內(nèi)存、網(wǎng)絡(luò)系統(tǒng),管理本地的對(duì)象Object。在OSD中,可以實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)、數(shù)據(jù)智能分布、數(shù)據(jù)管理。首先OSD將數(shù)據(jù)存儲(chǔ)在內(nèi)置的磁盤系統(tǒng)中,通過(guò)對(duì)外提供對(duì)象ID來(lái)進(jìn)行數(shù)據(jù)的讀寫操作。其次OSD可以對(duì)自身的CPU、內(nèi)存進(jìn)行數(shù)據(jù)優(yōu)化分布,優(yōu)化磁盤系統(tǒng)性能。最后OSD管理對(duì)象的元數(shù)據(jù),比如對(duì)象的數(shù)據(jù)塊、長(zhǎng)度等,降低了客戶端的開銷。
MDS元數(shù)據(jù)服務(wù)器(MetaDataServer)管理客戶端與OSD的交互,提供客戶端文件目錄的關(guān)系、每個(gè)文件對(duì)應(yīng)的OSD等數(shù)據(jù),客戶端訪問(wèn)OSD時(shí)通過(guò)MDS就可以獲取到對(duì)象所在的位置、大小、存儲(chǔ)內(nèi)容,可快速的獲取到訪問(wèn)的文件。
對(duì)象存儲(chǔ)有很多的優(yōu)點(diǎn),比如容量彈性伸縮、數(shù)據(jù)安全可靠、使用快速便捷。出生于云計(jì)算時(shí)代,自然繼承云計(jì)算的彈性伸縮。對(duì)象存儲(chǔ)的所有業(yè)務(wù)、存儲(chǔ)節(jié)點(diǎn)采用分布式集群方式工作,各功能節(jié)點(diǎn)、集群支持獨(dú)立擴(kuò)容。從理論上來(lái)說(shuō),某個(gè)對(duì)象存儲(chǔ)系統(tǒng)或單個(gè)桶(bucket),沒有總數(shù)據(jù)容量和對(duì)象數(shù)量的限制,實(shí)現(xiàn)了按需使用資源。
對(duì)于數(shù)據(jù)的安全可靠性方面,因?yàn)椴捎昧朔植际讲渴?,自然不用?dān)心數(shù)據(jù)丟失問(wèn)題,其次對(duì)于所有的鏈接都是有訪問(wèn)認(rèn)證的,也不用擔(dān)心數(shù)據(jù)安全問(wèn)題。最后就是使用方便了,開發(fā)者通過(guò)標(biāo)準(zhǔn)的接口協(xié)議進(jìn)行開發(fā)調(diào)用,運(yùn)維也不用維護(hù)網(wǎng)絡(luò)帶寬、服務(wù)器成本,使用者直接訪問(wèn),當(dāng)然非常方便了。
云計(jì)算給我們的生活帶來(lái)了無(wú)限的可能,讓我們吃的更好、玩的更好、工作的更高效率、生活的更加的智能?,F(xiàn)在你又掌握了一項(xiàng)云計(jì)算的黑科技,說(shuō)不定很快就可以找到對(duì)象,一起搞對(duì)象存儲(chǔ)了哦。