“如果有款存儲産品能在保證業務正常運作的時候節省60%的成本,我會毫不猶豫選擇它”。
我的工作是做生物基因測序的,我們公司很早就在雲上搭建了資料分析平台(雲的優勢不多說了,省心省錢),資料通過采集裝置生成後,會立即上傳到雲端進行預訂的測序分析。當然了,考慮到算法更新,這些資料都是儲存在雲端的,有了新的分析方法就可以進行更多元度的分析,無需重新采集。
存儲周期長是基因資料的特點,在采集後的最初幾個月内會被頻繁通路,對于資料實時的響應性要求極高。但經過開始的幾個月後,原始資料通路頻率就開始大幅下降,是以我們盡量會尋找不同通路特性的存儲,去降低總存儲成本。
之前我們用的一直是阿裡雲的oss标準存儲,雖然速度快、延遲低、吞吐能力強,但對我們業務的不同時期來說有些“性能過剩”。是以當我們看到阿裡雲新上線的歸檔存儲ossarchive的價格的時候,說句實話,挺驚訝的:畢竟這款産品比oss便宜得多。然後又想到阿裡雲看的挺遠,不免有些服氣。
歸檔存儲有多便宜呢?相比标準存儲低了近60%,适用于長期(幾年甚至更長時間)存儲的歸檔資料取回。按照存儲容量300tb來計算,如果使用歸檔類型存儲一年是221184元,即使與300tb年存儲包相比,也可節省11萬元以上。

對基因行業,這是個非常大的驚喜,因為每個基因檔案的大小在幾gb到幾十gb不等,随着基因測序的需求增加,存儲規模增長非常快,其在總成本中占有的比例也在不斷增大。
另一個吸引我的地方是歸檔存儲采用的是oss标準api,跟我們現有的資料管理與分析平台完全配套,無需進行平台改造。
歸檔存儲的上手非常簡單,我們經過了幾天的方案驗證後,很快完成了全新的業務架構搭建。
下面是一個歸檔類型bucket建立、檔案上傳、查詢、解凍與下載下傳的簡單流程:
首先通過控制台建立一個歸檔類型bucket,目前阿裡雲oss開放的是華北2(北京)區域,開通歸檔類型bucket流程和其他存儲類型bucket是相同的。
oss提供的ossutil工具可以自動根據檔案大小适配上傳模式,包括put 上傳、分片上傳。基因檔案普遍都是gb級以上,需要通過分片機制,将大檔案能夠拆分成多個片段獨立上傳。
oss api和相關工具可以實時查詢檔案清單。
歸檔存儲與标準類型在讀取object前,需要有一個restore操作,按照ossarchive文檔中介紹,上傳到歸檔類型的object處于冷凍狀态,需要先解凍後進入到可讀取狀态,restore操作後需要等待1~4個小時的等待時間。
在restore解凍過程中的object會顯示ongoing-request="true"。
解凍完成後,查詢object狀态會顯示解凍完成可以直接下載下傳,expiry-date為過期時間,過期時間一到,object會重新進入冷凍狀态。
解凍操作是需要收取費用的,每解凍 1gb資料需要0.06元,是以不需要立即使用的object還是讓它安安靜靜的儲存吧。解凍完成24小時後object會重新回到冷凍狀态,參考官網文檔處于解凍狀态下,可以通過多次調用restore,使object最長保持七天可讀狀态。
已經解凍的object可以和标準類型的object一樣的下載下傳方式 。
對于基因資料的管理,我們對每個基因檔案的元資訊使用了資料庫儲存,每個基因檔案都會記錄上傳時期和近半年内使用資訊,對于上傳時間超過一定時期并且長期沒有通路的基因檔案,會從标準類型的bucket中遷移到歸檔類型bucket。
歸檔存儲類型總體使用下來的體驗不錯,也給oss産品提個建議吧,希望後期能支援加入restore解凍完成的事件通知,現在應用程式實作中都是每隔一小時去擷取下restore的狀态。