黃培
摘要:在云計算技術的發(fā)展過程中,文件存儲需求也在不斷地增長,在此基礎上提出了非關系數據庫的文件型的大數據存儲技術,通過與傳統(tǒng)的文件系統(tǒng)以及信息系統(tǒng)進行脫離,最終將文件數據進行混合存儲的方式,在各個MongoDB的節(jié)點當中存儲數據,并且數據的存儲空間能夠進行自有擴展。該文將非關系數據庫作為主要的研究對象,并針對在此基礎上形成的文件型大數據存儲技術展開了研究。
關鍵詞:非關系數據庫;文件型;大數據存儲技術
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)23-0003-02
開放科學(資源服務)標識碼(OSID):
直到現在,對于云計算、大數據以及云存儲這些專業(yè)術語,對于專業(yè)的信息技術人員以及普通信息技術工作人員來說,在實際的工作過程中,接觸到的頻率都是很高的。在企業(yè)戰(zhàn)略集團中,通常認為大數據主要就是指在一定程度上對傳統(tǒng)信息的處理能力極限有所突破的一種數據集合。對于傳統(tǒng)的數據處理能力極限的突破主要體現在三個方面,首先,在系統(tǒng)的應用過程中出現突發(fā)事件的數據請求;其次,單個數據尺寸過大,傳統(tǒng)服務器無法對此進行良好的儲存;最后,數據集容量相較于當前的存儲系統(tǒng)的容量閾值更大。
1 文件型數據存儲技術的概述
文件數據存儲的最終要點還是對數據進行儲存,但是已經不再將關注的重點放在以二維表為主的機構化數據中,而是轉向對以二進制文件為主的文件數據存儲問題進行關注研究。
1.1 傳統(tǒng)存儲技術以及其系統(tǒng)結構
在對文件數據的存儲進行研究之前,還需要對傳統(tǒng)的存儲技術進行簡單的了解,而這樣做的主要目的就是為了能夠使傳統(tǒng)存儲技術與基于非關系數據庫的文件型大數據存儲技術兩者之間形成鮮明的對比,從而將基于非關系數據庫的文件型大數據存儲技術所具有的優(yōu)越性進行突出展現。
傳統(tǒng)的主流網絡存儲技術在對機構化數據提供相應的服務的過程中,大部分采取的存儲方式都是利用大中型數據庫來實現記錄級的數據存儲目的,例如:ORACLE數據庫、SQL Server系列。通過對非結構化的數據存儲進行轉變改進,最終形成了受到廣泛關注的網絡存儲技術。在網絡存儲技術當中,主要包括的就是:直接附加存儲、附網存儲以及存儲區(qū)域網技術。
在整個網絡存儲技術當中,對于一些數據存儲規(guī)模并不大,并且對于存儲需求相對較為簡單的場合中,會選擇應用直接附加存儲;與直接附加存儲相比較而言,附網存儲是一種在直接附加存儲的基礎上做出了一定的改進,附網存儲這種網絡文件存儲方式,該設備具有一定的自身管理系統(tǒng)以及相應的數據操作,能夠對外提供IP地址。在本地局域網當中的客戶機以及服務器,由于得到了附網存儲的嵌入式存儲系統(tǒng)的支持,能夠直接對附網存儲的服務器進行訪問,從而使數據文件的存儲工作具有更簡易的安裝、性價比更高并且可用度更高的特點。存儲區(qū)域網與附網存儲之間存在著一定的差異性,存儲區(qū)域網在連接存儲設備時,主要還是利用的光纖交換機,最終形成存儲網絡。在存儲區(qū)域網中,將存儲功能進行了剝離,主要的存儲方式就是集中方式,使存儲設備與主機之間能夠分離,更便于開展數據管理工作。
1.2 面向文件存儲的非關系數據庫云存儲系統(tǒng)
在現有的存儲系統(tǒng)當中,主要有兩種典型的存儲文件方式,一種方式就是以ⅡS為主,在該存儲方式當中,主要就是在同一臺服務器當中,將WEB服務數據與文件數據進行共同存儲,使服務不僅能夠提供WEB服務,同時還能夠對數據進行存取,但是這種模式在實際的應用過程中,不僅有著較高的處理器需求,同時寬帶需求也很高。另一種文件存儲的方式主要就是指將文件數據存儲在關系型數據庫當中,但是由于在實際的擴展過程中,文件數據庫的擴展相對較為困難,并且,服務企業(yè)無法對此提供更高性能的服務。在近幾年的發(fā)展過程中,云存儲系統(tǒng)也得到了一定的發(fā)展。在云存儲系統(tǒng)當中,其底層存儲就是非關系型數據庫,同時在該存儲系統(tǒng)當中,將集群技術、網絡存儲技術、分布式計算技術以及虛擬化技術都進行了有效的結合,為計算機協(xié)同存儲工作提供了一定的保障,并通過利用多臺計算機為外界提供更全面的數據存儲服務。關系型數據庫中具有一定的提升數據交換性能,但是在非關系型數據庫當中則放棄了這一功能,但是又為受眾提供了將文檔存儲作為核心的數據存儲方式,這種存儲方式中以數據格式為主,對于讀寫性能高并發(fā)的性能需求能夠更好地滿足,同時,還能夠滿足服務器的彈性擴展需求[1]。
2 Mongo數據庫以及存儲結構
2.1 Mongo數據庫以及特性
Mongo數據庫中具有開放源碼,屬于一個文件型非關系數據庫,Mongo數據庫與傳統(tǒng)的數據庫之間相比較而言,Mongo數據庫乜有模式,并且在實際的運行過程中,由于脫離了模式事務的一致性規(guī)則,從而提升了實際的運行效率。在對高并發(fā)進行訪問時,以及有高網絡吞吐的計算當中,可以應用Mongo數據庫,而對于傳統(tǒng)數據庫而言,這些都是傳統(tǒng)數據庫無法辦到的。在Mongo數據庫當中,采用的存儲方式為鍵/值,該存儲方式不僅能夠面向集合,同時還能夠進行動態(tài)查詢,除此之外,還有一定的索引支持,在該數據庫當中最具特色的就是能夠對二進制數據進行存儲,不論是哪一種文件,都能夠在Mongo數據庫中被當作二進制文件進行存儲。并且,通過利用Mongo數據庫的自動分片技術,使服務器能夠得到水平擴展,最終達到擴大服務器存儲能力的目的。
2.2 基于MongoDB的文件型數據云存儲結構
MongoDB數據庫主要的目的就是為了存儲二進制文件,并且在實際的存儲過程中,主要的存儲方式有兩種,一種是系統(tǒng)主動分片存儲,另一種就是用戶自定義的分片存儲[2]。在存儲方式當中,分片存儲方式主要就是指通過合理的對二進制文件進行劃分,使其成為多個不同的數據段,在每一個數據段當中,在MongoDB數據庫中通過記錄的方式將文件進行記錄,同時想要確保能夠實現負載均衡,MongoDB提供了一種機制,從而確保相同文件當中的不同分塊能夠在分片服務器中分布存儲,并且每一個分片服務對所有數據產生的自己子集進行管理,對于這些數據所存儲的位置不需要用戶操心,基本都是通過利用mongos路由進程來實現數據管理的,并且通過對mongos的利用,能夠實現應用程序與各個分塊服務器之間的通信目的。