相比傳統(tǒng)的數(shù)據(jù)儲(chǔ)存方式,DNA存儲(chǔ)具有占用空間小、獲取容易、儲(chǔ)存時(shí)間長3大優(yōu)勢(shì),但也面臨存儲(chǔ)速度慢、花費(fèi)高的弊端。隨著技術(shù)的不斷成熟,它真的能成為主流嗎?
全球每年產(chǎn)生的數(shù)據(jù)需要4180億個(gè)1TB硬盤才能放下,若是把如此龐大的數(shù)據(jù)放到DNA上,只需1kg DNA就夠了!DNA存儲(chǔ)才是未來!
幾年前,甚至研究人員也不愿使用DNA來存儲(chǔ)數(shù)據(jù),因?yàn)檫@看起來過于科幻,并沒有任何實(shí)用價(jià)值。今天,我們可以使用正確的軟件和生物化學(xué)模塊擴(kuò)展PostgreSQL,并在DNA上運(yùn)行SQL。
在這個(gè)數(shù)據(jù)爆炸的時(shí)代,全球的數(shù)據(jù)不僅遠(yuǎn)遠(yuǎn)超過我們理解數(shù)字的能力(比如你知道Zettabytes是多少嗎?)更超過了我們的儲(chǔ)存能力。
一切都是數(shù)字化的,一切都越來越多地運(yùn)行在基于數(shù)據(jù)訓(xùn)練算法的應(yīng)用程序上,而這些算法反過來會(huì)產(chǎn)生更多的數(shù)據(jù)來為更多的下游應(yīng)用程序和算法提供信息。你懂了吧?
簡單地說,按照這種速度,很快就沒有足夠的數(shù)據(jù)存儲(chǔ)和計(jì)算材料可供使用。這就是為什么人們現(xiàn)在已經(jīng)開始尋找替代的數(shù)據(jù)存儲(chǔ)介質(zhì)的原因。使用DNA來存儲(chǔ)數(shù)據(jù),這聽起來很奇怪,實(shí)際上很有意義?,F(xiàn)在,研究人員取得了突破,使他們能夠?qū)NA存儲(chǔ)整合到流行的開源數(shù)據(jù)庫PostgreSQL中。
DNA是如何儲(chǔ)存數(shù)據(jù)的?
DNA的核心是數(shù)據(jù)存儲(chǔ)層。DNA由四種堿基組成:腺嘌呤、鳥嘌呤、胞嘧啶和胸腺嘧啶(又名AGCT)。從這四個(gè)堿基中,DNA形成由三個(gè)核苷酸組成的基團(tuán)(稱為密碼子)。密碼子是給我們的細(xì)胞指示蛋白質(zhì)形成的單位。
我們的信息技術(shù)基礎(chǔ)設(shè)施基于以位(bits)為單位的信息存儲(chǔ)(由兩位數(shù)字組成:0和1),而DNA信息存儲(chǔ)在四個(gè)潛在基本單元的串中。為了將非遺傳信息存儲(chǔ)在DNA中,我們必須首先將二進(jìn)制數(shù)據(jù)從位轉(zhuǎn)換為DNA數(shù)據(jù)(AGCT)結(jié)構(gòu)。
將Bits轉(zhuǎn)換為DNA序列
理論部分實(shí)際上相當(dāng)簡單。與使用硅或磁性介質(zhì)(它們的工作原理是將狀態(tài)存儲(chǔ)為1和0的序列)相同,存儲(chǔ)A、G、C和T的序列。但是,這在實(shí)踐中是如何工作的呢?如何在DNA中寫入和讀取數(shù)據(jù)呢?
這聽起來可能有點(diǎn)遙不可及,但分子技術(shù)的進(jìn)步已經(jīng)使它成為可行——盡管并不完美。
例如,微軟展示了世界上第一個(gè)自動(dòng)DNA數(shù)據(jù)存儲(chǔ)和檢索系統(tǒng)。如果你想知道這個(gè)DNA來自哪里:這是合成DNA,產(chǎn)生它的是系統(tǒng)的一部分。
天然存在的DNA由兩條核苷酸鏈的雙螺旋的形式構(gòu)成。相反,用于數(shù)據(jù)存儲(chǔ)的DNA是單鏈核苷酸序列,也稱為寡核苷酸(oligo),它通過化學(xué)過程合成,該化學(xué)過程一次構(gòu)建一個(gè)核苷酸。
使用DNA在現(xiàn)實(shí)世界中存儲(chǔ)數(shù)據(jù)
倫敦帝國理工學(xué)院 SCALE實(shí)驗(yàn)室負(fù)責(zé)人Heinis和Eurecom數(shù)據(jù)科學(xué)系助理教授Appuswamy 在創(chuàng)新數(shù)據(jù)系統(tǒng)研究會(huì)議上發(fā)表了題為“ OligoArchive: Using DNA in the DBMS storage hierarchy ”的研究論文。雖然他們不是第一個(gè)使用DNA存儲(chǔ)和檢索數(shù)據(jù)的人,但他們是第一個(gè)使用結(jié)構(gòu)化數(shù)據(jù)、與現(xiàn)成的數(shù)據(jù)庫集成、并超越存儲(chǔ)、實(shí)現(xiàn)計(jì)算的人。
關(guān)于DNA作為數(shù)據(jù)存儲(chǔ)層的第一件事是,每次執(zhí)行寫操作時(shí),都必須合成寡核苷酸。這將如何在實(shí)踐中發(fā)揮作用?實(shí)驗(yàn)室技術(shù)人員是否必須待命執(zhí)行此操作,并“重新填充”用于化學(xué)過程的原材料?
并非如此,根據(jù)Appuswamy和Heinis的說法,這是微軟通過其自動(dòng)DNA存儲(chǔ)和檢索系統(tǒng)所證明的價(jià)值所在。這表明,在沒有人參與的情況下操作這樣一個(gè)過程是可能的。就像除了維護(hù),沒有人監(jiān)督數(shù)據(jù)中心的日常運(yùn)作一樣,這同樣適用于基于DNA的數(shù)據(jù)中心。
盡管如此,我們還遠(yuǎn)沒有用合成DNA陣列取代硬盤。首先,以這種方式存儲(chǔ)數(shù)據(jù)的現(xiàn)代技術(shù)非常緩慢。剛開始,科學(xué)家們花了一周時(shí)間來存儲(chǔ)一兆字節(jié)的數(shù)據(jù)。
Appuswamy和Heinis一致認(rèn)為,在這方面還需要更多的工作。但這超出了他們自己的研究范圍,所以只能等待生化合成過程進(jìn)一步提高。
首先,他們注意到存儲(chǔ)速度已經(jīng)越來越快,目前速度是每秒幾KB。雖然與SSD相比,這仍然非常緩慢,但這是一個(gè)很大的進(jìn)步。對(duì)于Appuswamy和Heinis的研究(即歸檔存儲(chǔ)),這實(shí)際上是可以接受的。
數(shù)據(jù)庫引擎使用三層存儲(chǔ)層次結(jié)構(gòu),由具有不同價(jià)格/性能特性的設(shè)備組成。性能層存儲(chǔ)高性能OLTP和實(shí)時(shí)分析應(yīng)用程序訪問的數(shù)據(jù)。
容量層存儲(chǔ)由延遲不敏感(latency-insensitive)的批分析應(yīng)用程序訪問的數(shù)據(jù)。歸檔層用于存儲(chǔ)很少訪問的數(shù)據(jù),例如,在安全合規(guī)性檢查或法律審計(jì)期間。今天磁帶通常用于這一層。
OligoArchive通過將基于磁帶的歸檔層替換為基于DNA的歸檔層來改變數(shù)據(jù)庫存儲(chǔ)層次結(jié)構(gòu)。合成DNA的存儲(chǔ)需要額外的措施,對(duì)于普通的設(shè)備來說,基于DNA的存儲(chǔ)是否有效還值得懷疑。但無論如何,數(shù)據(jù)和數(shù)據(jù)庫都將進(jìn)入云端,只要你的數(shù)據(jù)安全地存儲(chǔ)在數(shù)據(jù)中心,對(duì)終端用戶來說,這都是一個(gè)黑匣子。
在DNA上運(yùn)行SQL
Appuswamy和Heinis還指出,即使它仍然很慢,DNA存儲(chǔ)提供了很大的并行處理潛力。因?yàn)樗茇S富、價(jià)格低廉 - 或者更確切地說,我們希望它最終會(huì)是這樣。按照目前的速度,存儲(chǔ)一分鐘的高質(zhì)量立體聲將花費(fèi)100,000美元。
盡管使用合成DNA進(jìn)行大規(guī)模存儲(chǔ)仍然過于昂貴,但Appuswamy和Heinis表示,他們預(yù)計(jì)成本會(huì)下降,這是包括存儲(chǔ)技術(shù)在內(nèi)的每一項(xiàng)科技突破的典型方式。
如果合成寡核苷酸在經(jīng)濟(jì)上變得可行,那么擁有大量的合成寡核苷酸將是一個(gè)合理的預(yù)期。這意味著許多DNA存儲(chǔ)單元可以并行運(yùn)行的巨大潛力。雖然不是每種算法的每一個(gè)方面都是可并行的,但對(duì)于那些算法來說,可以實(shí)現(xiàn)極大的加速。這就把我們帶到了一個(gè)關(guān)鍵點(diǎn)。
直到今天,DNA一直被用于存儲(chǔ)非結(jié)構(gòu)化文件,無論是文本還是視頻,或者其他什么。Appuswamy和Heinis所做的是將DNA存儲(chǔ)整合到關(guān)系數(shù)據(jù)庫中。他們采用了標(biāo)準(zhǔn)數(shù)據(jù)庫基準(zhǔn)測(cè)試TPC-H中包含的數(shù)據(jù)和查詢,并在PostgreSQL實(shí)例上運(yùn)行了TPC-H。不是串行訪問,而是隨意選擇數(shù)據(jù)。
使用后端的DNA在數(shù)據(jù)庫系統(tǒng)中存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),并通過SQL查詢,這在今天已成為現(xiàn)實(shí)。
研究人員為PostgreSQL構(gòu)建了歸檔和恢復(fù)工具(pg_oligo_dump和pg_oligo_restore),對(duì)DNA上的關(guān)系數(shù)據(jù)執(zhí)行模式感知編碼和解碼,并使用這些工具將12KB TPC-H數(shù)據(jù)庫歸檔到DNA,執(zhí)行in-vitro計(jì)算,以及再次恢復(fù)它。
這是巨大的。這意味著現(xiàn)在DNA存儲(chǔ)還可以支持SQL操作,來有選擇地訪問和處理部分?jǐn)?shù)據(jù)。請(qǐng)注意,數(shù)據(jù)不會(huì)被提取到數(shù)據(jù)庫來執(zhí)行操作。Appuswamy和Heinis找到了一種方法來處理寡核苷酸中的SQL連接。這超出了生化儲(chǔ)存的范圍——它還需要生物化學(xué)計(jì)算。
然而,要做到這一點(diǎn),研究人員必須處理一系列與用于編碼和解碼DNA信息的技術(shù)缺陷有關(guān)的問題。對(duì)DNA進(jìn)行操作需要專門的編碼技術(shù),這些技術(shù)可以產(chǎn)生適合生化操作的寡核苷酸。讀取DNA數(shù)據(jù)目前非常容易出錯(cuò),以前的工作依賴于數(shù)據(jù)過度表示(over-representation):數(shù)據(jù)被寫在許多副本中,因此如果原始數(shù)據(jù)被破壞,備份還在。
相比之下,Appuswamy和Heinis依賴于元數(shù)據(jù)。他們利用數(shù)據(jù)庫模式感知,在編寫的塊中添加一些額外的數(shù)據(jù)位。研究表明,這可以在編碼(寫入)過程中提高密度,并有助于在解碼(讀?。┻^程中識(shí)別錯(cuò)誤。他們注意到這比預(yù)期效果更好。
DNA是數(shù)據(jù)的未來嗎?
盡管部分技術(shù)還不成熟,但這是一個(gè)重大突破。擁有足夠的數(shù)據(jù)中心存儲(chǔ)空間已經(jīng)成為一個(gè)game changer。但是,將像DNA這樣豐富的東西作為一種可行的存儲(chǔ)和計(jì)算介質(zhì)的意義可能會(huì)超出我們的想象。
這可能只是朝這個(gè)方向邁出的第一步,但每一個(gè)旅程都從第一步開始,Appuswamy和Heinis并不是獨(dú)行者。
Eurecom,CNRS,ICL,UCA以及DNA合成初創(chuàng)企業(yè)Helixworks已獲得歐盟資助,以進(jìn)一步開展DNA儲(chǔ)存研究。該系統(tǒng)將被設(shè)計(jì)成支持?jǐn)?shù)據(jù)編碼的全自動(dòng)循環(huán),將其合成為DNA,并通過序列讀取數(shù)據(jù)。它將存儲(chǔ)各種不同的數(shù)據(jù)類型,并在存儲(chǔ)和精確檢索數(shù)據(jù)時(shí)實(shí)現(xiàn)近距離數(shù)據(jù)處理。
將數(shù)據(jù)存儲(chǔ)在DNA中的進(jìn)一步研究將由歐盟資助
Appuswamy和Heinis提到,到目前為止,主要是其他研究人員對(duì)這個(gè)感興趣,至于說公司,微軟似乎比任何公司都表現(xiàn)出了更多的興趣。
掌握這項(xiàng)技術(shù)可能意味著擁有未來,因?yàn)檫@一領(lǐng)域的突破將產(chǎn)生巨大的影響。Appuswamy和Heinis指出,這表明了人們的態(tài)度:
“幾年前,人們會(huì)認(rèn)為這太離譜了。今天,當(dāng)我們告訴他們我們正在做什么時(shí),他們會(huì)說——多告訴我們一些”。