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