標籤:

結構化數據和非結構化數據存儲

隨著圖片和視頻應用的大規模興起,非結構化數據(Unstructured Data)的概念隨處可見。很多人簡單理解為,傳統的關係資料庫里存放的內容就是結構化數據,而圖片、音頻、視頻、文檔等以普通文件形式存放的數據,就是非結構化數據。這種理解沒有什麼大問題。資料庫里的內容,一般是以欄位的形式,按照一定的二維表格邏輯結構保存,內容遵循固定的格式,比較容易查詢,歸結為結構化數據。圖片和視頻等內容,巨大的數據總量和大小的不一致性導致存放在資料庫中比較勉強,優化困難,一般就直接以文件的形式存放在硬碟中,被人們認為是非結構化數據。

從技術的角度來講,這篇文章對於結構化數據和非結構化數據的概念講得比較清楚:What is Structured Data? Webopedia Definition。即使如此,一般人也覺得比較費解,還有很多疑問。甚至還有人說,非結構化數據的文檔,其固定大小的文件頭為什麼不認為是結構化的呢?我們不去計較這些細節,而從市場和存儲技術等角度,來講講兩類數據的區別。

大數據時代,非結構化數據的增速非常驚人,其增速遠大於結構化數據。IDC早在2011年的調查報告中就提到,非結構化數據占未來十年新生成數據的90%(數據來源:emc.com/collateral/anal)。從日常生活中我們也可以察覺到這個趨勢。十年前,網路上的視頻又少又慢又卡,而如今,電腦、平板和手機上,到處充斥著各種各樣的視頻節目,數量之多讓人無所適從,其清晰度也遠遠超過學生時代窩在寢室里看的碟片的清晰度。如果VR得到普及,滿足其需求的視頻內容,將會更加龐大。

首先看結構化數據存儲設備的市場情況。不考慮大中型的互聯網公司和大型企業的業務系統,對於普通的應用場景來說,即使資料庫的記錄再多,一般一台配置高容量大的網路存儲設備即可滿足需求,許多時候一台通用的伺服器插幾塊硬碟足以應付所有工作。在這種背景下,購買一台品牌好的存儲設備用作資料庫存儲,對於IT管理人員來說是一個最佳選擇。雖然價格比較昂貴,但畢竟只有一台設備,最多再拿一台作為備份,其總價對於不差錢的企業來說也完全可以承擔,最關鍵是省事。大部分人會自然而然地認為,有品牌的東西,功能應當強,性能應當快,穩定性應當好。在不了解太多的產品技術特性的前提下,能夠依靠的抉擇依據就是品牌和價格。儘管對於結構化數據的各種底層優化技術也比較成熟,但傳統的網路存儲市場已經相當穩定,普通企業要改變既有的選型策略並不是一件容易的事情。創業公司想進入這個市場,遇到的競爭壓力非常大。

非結構化數據存儲的市場卻不太一樣。雖然這塊市場一直存在,但其爆發也是最近的事情。因為其容量巨大,用傳統的單機存儲,顯然無法承載企業龐大的數據總量,採用擴展性更好的分散式存儲幾乎是某些場景下唯一的選擇。目前傳統的存儲大廠也都在推自己的分散式存儲,但其軟硬體一體的架構,使得其價格居高不下。即使不差錢的企業,因為需要購買的設備不是結構化數據時代的一台兩台,而是數十台數百台之多,其總價也讓他們無法承擔。在結構化數據存儲市場佔優的企業,雖然也在儘力搶佔非結構化數據存儲領域,,但由於其傳統的定價模式和銷售模式,所以在非結構化數據存儲領域的競爭力並不強。

因此,非結構化數據海量存儲需求的現狀,給了市場更多的機會。

再從技術的角度來探討非結構化數據存儲的聚焦點。傳統的資料庫讀寫,因為數據記錄小以及隨機查詢的需要,讀寫硬碟的塊大小(block size)一般都很小,以4KB為主。這種小數據塊的讀寫,其聚集起來的總帶寬不會很大,對於性能指標,我們關注的是IOPS(Input/Output Operations Per Second,每秒讀寫請求的個數)。非結構化數據存儲,一般是比較大的文件為主(對於幾MB的文件就可以理解為相對意義上的大文件),讀寫塊大小會設置得比較大(64KB以上,甚至512KB或者1MB),而且單個文件內部可以認為是連續讀寫的。所以其聚合的讀寫速度會比較高,對於這類數據的讀寫,我們往往更關注總帶寬。從這個性能指標點來看,結構化和非結構化數據的優化方向就有較大的不同。

另外,非結構化數據總量巨大,動輒數PB,超大規模集群的管理也面臨巨大的挑戰,不再是以前兩台設備組成HA雙機集群那麼簡單。存儲巨大的數據量,需要用通用的伺服器來控制費用,因此對硬體可靠性的關注焦點,會全面轉移到對軟體可靠性的關註上。考慮到任何硬體都隨時可能損壞,軟體對這方面的管控就要複雜不少。如何把多台松耦合的設備,組成一個緊密的集群,是分散式存儲解決的難題。無論是商業分散式存儲產品,還是Gluster和Ceph等開源項目,都已在分散式存儲集群的管理方面取得了非常大的進展,也大規模地應用在實際的生產數據管理中,做得也相當不錯。但在結合具體項目的實施過程中,也會遇到非常多的坑,一款看似穩定的產品,換一個環境,就會暴露出許多性能問題甚至穩定性問題。具體的原因其實多種多樣,但從更高的技術層面上來說,要解決松耦合設備組成一個統一集群穩定工作的問題,遠比實現一台單機的網路存儲設備複雜得多。因此,專門針對非結構化數據讀寫優化的存儲產品,能更針對性地解決海量數據的讀寫性能和管理問題。

結構化數據存儲的市場儘管一直會受到重視,交易數據等關鍵內容還高度依賴它,但非結構化數據的爆發更為猛烈,未來存儲的主要市場是非結構化數據的天下。上海儲迅信息技術有限公司從成立開始,就致力於這塊產品和服務的開發,在存儲演算法、客戶端加速、大規模集群管理等方面多管齊下,為企業內部大規模的非結構化數據存儲,提供最好的產品和方案。


推薦閱讀:

分散式存儲系統演進

TAG:分散式存儲 |