還記得云存儲(chǔ)優(yōu)點(diǎn)的嗎?其中有一點(diǎn)是可以幫助企業(yè)節(jié)約成本,企業(yè)將大部分?jǐn)?shù)據(jù)轉(zhuǎn)移到云存儲(chǔ)上,讓云存儲(chǔ)服務(wù)提供商來(lái)為他們解決數(shù)據(jù)存儲(chǔ)的問(wèn)題。一方面云存儲(chǔ)可以幫助我們消除使用硬件存儲(chǔ)數(shù)據(jù)的需要。用戶不必再購(gòu)買、維護(hù)和升級(jí)電腦系統(tǒng)、硬件驅(qū)動(dòng)和CD,就可以進(jìn)行數(shù)據(jù)備份。再一方面用戶可以按需購(gòu)買存儲(chǔ)空間,用多少買多少,使用靈活。
有的用戶會(huì)發(fā)現(xiàn)真正使用的時(shí)候卻事與愿違,企業(yè)收到賬單后會(huì)驚嘆,這是什么情況?怎么會(huì)這么多錢?那是因?yàn)樵拼鎯?chǔ)與傳統(tǒng)內(nèi)部存儲(chǔ)間的成本差異在于,前者的成本要素更為分散。云存儲(chǔ)的成本要素主要包括:
一級(jí)數(shù)據(jù)存儲(chǔ)成本,包括對(duì)象或者塊存儲(chǔ)
AWS S3等對(duì)象存儲(chǔ)服務(wù)每月每TB的標(biāo)準(zhǔn)層使用成本僅為23美元,連續(xù)訪問(wèn)層則為每TB 12.5美元。眾多現(xiàn)代應(yīng)用已經(jīng)能夠發(fā)揮對(duì)象存儲(chǔ)的既有優(yōu)勢(shì)。云服務(wù)供應(yīng)商提供自己的文件或者塊存儲(chǔ)選項(xiàng),例如AWS EBS每月每TB塊存儲(chǔ)資源成本為100美元,且可按小時(shí)計(jì)費(fèi)。亦有不少第三方方案可作為后端用于將傳統(tǒng)文件或塊存儲(chǔ)同對(duì)象存儲(chǔ)系統(tǒng)對(duì)接。
即使是每年每TB 1200美元的AWS EBS,其使用成本也僅為內(nèi)部解決方案的二分之一到三分之一,而且后者還需要更高昂的前期投入。正因?yàn)槿绱耍髽I(yè)紛紛選擇云存儲(chǔ)以降低運(yùn)營(yíng)成本及前期投入,且享受由此帶來(lái)的按使用量計(jì)費(fèi)收益。
數(shù)據(jù)傳輸成本
公有云供應(yīng)商通常會(huì)向不同云服務(wù)區(qū)或者云外部間的數(shù)據(jù)傳輸收費(fèi)。例如在不同Amazon服務(wù)區(qū)間移動(dòng)或復(fù)制1TB的AWS S3數(shù)據(jù)會(huì)帶來(lái)20美元成本,而將其移動(dòng)至互聯(lián)網(wǎng)的成本則為90美元。事實(shí)上,GET、PUT、POST、LIST以及DELETE等請(qǐng)求都會(huì)產(chǎn)生對(duì)應(yīng)的數(shù)據(jù)訪問(wèn)成本。
大魔王在此——副本、快照、備份或數(shù)據(jù)歸檔的成本
成本破表由此發(fā)生,這與您存儲(chǔ)在云內(nèi)的具體數(shù)據(jù)量無(wú)關(guān),而且存儲(chǔ)單一副本也用不了多少投入。最可怕的是保存多份數(shù)據(jù)副本,包括備份、歸檔或者其它需求,這會(huì)在不經(jīng)意間帶來(lái)可怕的支出。
在云環(huán)境中,每套副本都會(huì)產(chǎn)生與原始對(duì)象相同的成本。雖然云供應(yīng)商可能會(huì)在后臺(tái)進(jìn)行重復(fù)數(shù)據(jù)刪除或壓縮,但這種情況并不常見(jiàn)。對(duì)企業(yè)而言,這意味著快照、備份與歸檔數(shù)據(jù)都會(huì)產(chǎn)生額外費(fèi)用。比如,AWS EBS的每月存儲(chǔ)快照成本為每GB 0.05美元。雖然快照會(huì)進(jìn)行壓縮并僅存儲(chǔ)增量數(shù)據(jù),但由于不具備重復(fù)數(shù)據(jù)刪除機(jī)制,100TB數(shù)據(jù)集的快照每年需要花費(fèi)60000美元!
重復(fù)數(shù)據(jù)刪除對(duì)于云存儲(chǔ)的重要意義
云應(yīng)用在設(shè)計(jì)上具備分布式特性,且標(biāo)準(zhǔn)部署在非關(guān)系型大規(guī)模可擴(kuò)展數(shù)據(jù)庫(kù)內(nèi)。在非關(guān)系型數(shù)據(jù)庫(kù)中,即使不進(jìn)行復(fù)制,大多數(shù)數(shù)據(jù)仍然屬于冗余信息。以MongoDB或者Cassandra為例,其復(fù)制因子為3,意味著為了確保數(shù)據(jù)完整性,其會(huì)在分布式集群中保留3份副本。
備份或者次級(jí)副本通常由快照進(jìn)行創(chuàng)建及維護(hù)。數(shù)據(jù)庫(kù)體系結(jié)構(gòu)決定當(dāng)我們保存快照時(shí),實(shí)際上同時(shí)也制作出了三份副本。
不僅是重復(fù)數(shù)據(jù)刪除——還有重復(fù)語(yǔ)義刪除
大多數(shù)重復(fù)數(shù)據(jù)刪除技術(shù)作用于存儲(chǔ)層,即對(duì)數(shù)據(jù)塊進(jìn)行重復(fù)刪除。這種作法對(duì)于SAN或NAS等集中式存儲(chǔ)非常有效,但卻不太適用于MongoDB等分布式數(shù)據(jù)庫(kù)的數(shù)據(jù)層。在這一領(lǐng)域,重復(fù)刪除技術(shù)需要解決兩大基本問(wèn)題:
需要立足數(shù)據(jù)層起效,而非存儲(chǔ)層。為了在分布式集群中實(shí)現(xiàn)重復(fù)數(shù)據(jù)刪除,軟件需要理解并解釋底層數(shù)據(jù)結(jié)構(gòu)。
需要搶在冗余數(shù)據(jù)被寫(xiě)入數(shù)據(jù)庫(kù)前將其清除。一旦數(shù)據(jù)寫(xiě)入,則會(huì)在集群內(nèi)進(jìn)行復(fù)制,這意味著必須利用實(shí)時(shí)重復(fù)數(shù)據(jù)刪除方可解決。
使用云存儲(chǔ)有困擾的朋友,可以試試刪除一些重復(fù)的數(shù)據(jù)備份,節(jié)省空間又節(jié)約資金,刪的時(shí)候可要注意別錯(cuò)刪了重要文件。