突破!DNA 上的 SQL 查询已经成为现实
幾年前,連研究人員都不愿使用 DNA 來存儲數據,覺得這么做太超前了,不具有任何實用價值。今天,你可以使用合適的軟件和生化模塊來擴展 PostgreSQL,并在 DNA 上運行 SQL。
當下全世界的數據浪潮來勢兇猛,不僅超出了我們理解數字和衡量單位(比如澤字節)的能力,還超出了我們存儲海量數據的能力。
一切都變得數字化,一切都日益在基于算法的應用軟件上運行,這些算法拿數據來訓練,反過來生成更多的數據,饋送給為更多的下游應用軟件和算法……結果可想而知。
簡而言之,按照這種步伐,很快就沒有足夠的數據存儲和計算材料以滿足需求。這就是為什么人們現在一直在尋找替代的存儲介質以存儲數據。使用 DNA 存儲數據乍一聽很奇怪,實際上大有意義。現在研究人員已取得了重大突破,他們因而能夠將 DNA 存儲整合到 PostgreSQL 這種流行的開源數據庫中。
DNA 是一種信息編碼機制
究其核心,DNA 是一個數據存儲層。DNA 由四種基礎部分組成:腺嘌呤、鳥嘌呤、胞嘧啶和胸腺嘧啶(又名 AGCT)。DNA 由這四個堿基組成三個核苷酸形成的三聯體(名為密碼子)。密碼子是給人體細胞下達蛋白質形成指令的單位。
我們的信息技術基礎設施基于以比特(包括兩個數字:0 和1)來存儲信息,而 DNA 信息存儲在四個潛在堿基單位的串中。為了將非遺傳信息存儲在 DNA 中,我們必須先將二進制數據從比特轉換成 DNA 數據的四單位(AGCT)結構。
將比特轉換成 DNA 序列(圖片來源:Shaan Ray)
理論部分實際上相當簡單。與使用硅或磁性介質(其工作原理基于將狀態存儲為 1 和 0 序列的能力)一樣,我們可以使用 DNA,存儲A、G、C和T組成的序列。但是這實際上如何運作?——該如何將數據寫入到 DNA 和從 DNA 中讀取數據?
這可能聽起來太過遙遠,但分子技術的進步使其變得切實可行,盡管并不稱心如意。這一切意味著,確實能夠以一種可以在 DNA 上存儲和檢索信息的方式來編碼信息,分別利用 DNA 合成和 DNA 測序。
比如說,微軟已展示了世界上第一個自動化的 DNA 數據存儲和檢索系統。你可能想知道這個 DNA 來自哪里,告訴你:這是合成 DNA,生成合成 DNA 的陣列是系統的一部分。
天然存在的 DNA 呈現有兩條核苷酸鏈的雙螺旋這種結構。相比之下,用于數據存儲的 DNA 是單鏈核苷酸序列,又叫寡核苷酸(oligo),它是使用每次一個核苷酸來組裝 DNA 的化學過程合成的。
法國通信系統工程師學校與研究中心(Eurecom)數據科學系助理教授 Appuswamy 和倫敦帝國理工學院 SCALE 實驗室負責人 Heinis 最近發表了 DNA 存儲方面的開創性成果。
使用 DNA 在現實世界存儲數據
Heinis 和 Appuswamy 在創新數據系統研究大會上發表了題為“OligoArchive:在 DBMS 存儲層次結構中使用 DNA”的研究論文(http://cidrdb.org/cidr2019/papers/p98-appuswamy-cidr19.pdf)。
雖然他們并非最先使用 DNA 來存儲和檢索數據,卻最先針對結構化數據這么做,與現成數據庫集成起來,而且不僅限于存儲,還實現了計算。
DNA 作為數據存儲層方面要認識到的第一點是,每次執行寫入操作時,都必須合成寡核苷酸。這實際上將如何做到?實驗室技術人員是否要待命執行此操作,并為用于化學過程的原材料“重新灌滿油箱”?
據 Appuswamy 和 Heinis 聲稱,并非如此,微軟用自動化的 DNA 存儲和檢索系統演示了其在這方面的價值。結果表明,可以在無需人參與的情況下操作這種陣列。就像沒人監管數據中心的日常運營一樣(維護除外),基于 DNA 的數據中心將同樣如此。
不過,我們離合成 DNA 陣列替換傳統硬盤還遠得很。首先,以這種方式存儲數據的現代技術速度非常慢。最初,存儲 1 兆字節的數據需要科學家花一周時間。
Appuswamy 和 Heinis 都認為這方面需要做更多的工作。雖然這超出了他們自身研究的范圍,所以只好等生化組合過程趕上來,但他們確實讓人看到了希望。
首先,他們特別指出存儲速度在變得越來越快,目前每秒可以存儲數 KB。比如說,盡管與 SSD 相比速度仍然慢得要命,但已是相當大的進步。這個速度對于 Appuswamy 和 Heinis 的研究設想的使用場景:歸檔存儲而言實際上可以接受。
數據庫引擎使用三層存儲層次結構,這種層次結構包括價格/性能特點大不一樣的眾多設備。性能層存儲高性能 OLTP 和實時分析這類應用訪問的數據。
容量層存儲對延遲不敏感的批處理分析這類應用訪問的數據。歸檔層用于存儲極少訪問的數據,比如在安全合規檢查或法務審計期間。如今,磁帶通常用于這一層。
OligoArchive 改變了數據庫存儲層次結構:它將基于磁帶的歸檔層換成了基于 DNA 的歸檔層。合成 DNA 使用額外的預防措施來加以存儲;至于將基于 DNA 的存儲用于普通設備效果有多好還成問題。但數據和數據庫進入云端是大勢所趨,只要你的數據安全地存儲在數據中心,它在最終用戶眼里就是黑盒子。
在 DNA 上運行 SQL
Appuswamy 和 Heinis 還特別指出,盡管速度仍很慢,但 DNA 存儲在并行處理方面大有潛力。這是由于 DNA 存儲數量充足、成本低廉——或者更準確地說,希望最終會如此。按目前情況來看,存儲 1 分鐘的高質量立體聲將花費 10 萬美元。
雖然使用合成 DNA 用于大規模存儲仍然成本過于高昂,但 Appuswamy 和 Heinis 表示,他們預計每一次科技突破(包括存儲技術)通常會使成本大幅下降。
如果合成寡核苷酸在經濟上變得可行,讓許多寡核苷酸滿足存儲需求自在情理之中。這意味著讓許多 DNA 存儲單位并行操作這方面巨大潛力。雖然并非每種算法的每個方面都可并行化,但對于果真可并行化的算法而言,可以大幅提升速度。這引出了一個關鍵點。
就在不久前,DNA 還被用于存儲非結構化文件,無論是文本、視頻或諸如此類的數據。 Appuswamy 和 Heinis 所做的是將 DNA 存儲集成到關系數據庫中。他們拿來標準數據庫基準測試 TPC-H 中包含的數據和查詢,在 PostgreSQL 實例上運行 TPC-H。不是串行訪問,而是隨意選擇數據。
將結構化數據存儲在數據庫系統中,后端使用 DNA,并通過 SQL 來查詢,這在今天已成為現實。
研究人員為 PostgreSQL 構建了歸檔和恢復工具(pg_oligo_dump 和 pg_oligo_restore),這些工具在 DNA 上對關系數據執行感知模式的編碼和解碼,然后他們用這些工具將 12KB TPC-H 數據庫歸檔到 DNA,執行體外計算,然后再恢復該數據庫。
這意義重大。這意味著現在 DNA 存儲還可以支持 SQL 操作,選擇性地訪問和處理部分數據。請注意:數據并不被提取到數據庫以便在那里執行操作。Appuswamy 和 Heinis 找到了一種方法在寡核苷酸中處理 SQL 連接之類的操作。這超出了生化存儲的范疇,還涉及生化計算。
用于編碼和解碼進出 DNA 的信息的技術存在著缺陷;然而要做到這一點,研究人員就得處理與這些缺陷有關的一堆問題。在 DNA 上執行操作需要專門的編碼技術,這些技術可以生成適合生化操作的寡核苷酸。讀取 DNA 數據目前很容易出錯,而以前的研究依賴數據過度表示:數據以多個副本寫入,因此即使原始數據被破壞,還有備份。
相比之下,Appuswamy 和 Heinis 依賴元數據。他們在編寫的代碼段中添加了一些額外的數據,利用數據庫模式感知功能。他們表明,這可以在編碼(寫入)過程中提高密度,并有助于在解碼(讀取)過程中識別錯誤。他們特別指出實際效果比預期的好——一點元數據就大有幫助。
DNA 是數據的未來嗎?
盡管技術堆棧的某些部分還不成熟,但這是一項重大突破。讓已有的數據中心擁有充足的存儲資源可以改變游戲規則。但將 DNA 這種數量充足的材料充當存儲和計算的可行介質具有重大影響,遠非我們所能想象。
這可能只是朝這個方向邁出的第一步,但每段旅程都從第一步開始。Appuswamy 和 Heinis 并非單槍匹馬開展這項工作,他們也不會憑一己之力開展進一步的研究。他們的項目 OLIGOARCHIVE 一直在取得進展,這歸功于與法國蔚藍海岸大學(UCA)和 CNRS 的其他研究人員進行合作,因而得以壯大研究團隊,并擴大研究范圍。
Eurecom、CNRS、ICL、UCA 以及 DNA 合成初創公司 Helixworks 已獲得歐盟資助,以進一步開展 DNA 存儲方面的研究。該系統將旨在支持編碼數據,將數據合成為 DNA,并通過測序讀回數據這整個過程完全實現自動化。它將存儲眾多不同類型的數據,并實現近數據處理和數據的精確檢索。
將數據存儲在 DNA 中方面的進一步研究將得到歐盟的資助。
該項目通過未來和新興技術(FET)歐盟計劃獲得資金,該計劃投資致力于研究全新未來技術方面新想法的早期階段項目,在早期階段很少有研究人員開展項目課題。雖然這似乎是天作之合,但我們很想知道商業機構有沒有找過這些研究人員。
Appuswamy 和 Heinis 提到,到目前為止,感興趣的主要是其他研究人員,不過微軟是個例外。倒不是這方面有任何實際成果,而是眼下微軟似乎比其他任何公司抱有更大的興趣。
在這項技術方面獲得優勢可能意味著主導未來,因為這個領域的突破將帶來巨大影響。 Appuswamy 和 Heinis 特別指出,人們的態度表明了這一點:“幾年前,人們會覺得這遙不可及。而今天,我們告訴他們我們在做的工作后,他們的態度是‘告訴我們更多’”。
論文全文:
總結
以上是生活随笔為你收集整理的突破!DNA 上的 SQL 查询已经成为现实的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孙宇晨回应被被限制出境:报道完全不实 病
- 下一篇: IBM 将三个抗癌药 AI 项目捐献给开