圖片來自“123rf.com.cn”
全球每年產生的資料需要4180億個1TB硬碟才能放下,若是把如此龐大的資料放到DNA上,只需 1kg DNA就夠了!DNA儲存才是未來!
幾年前,甚至研究人員也不願使用DNA來儲存資料,因為這看起來過於科幻,並沒有任何實用價值。今天,我們可以使用正確的軟體和生物化學模組擴充套件PostgreSQL,並在DNA上執行SQL。
在這個資料爆炸的時代,全球的資料不僅遠遠超過我們理解數字的能力(比如你知道Zettabytes是多少嗎?)更超過了我們的儲存能力。
一切都是數字化的,一切都越來越多地執行在基於資料訓練演算法的應用程式上,而這些演算法反過來會產生更多的資料來為更多的下游應用程式和演算法提供資訊。你懂了吧?
簡單地說,按照這種速度,很快就沒有足夠的資料儲存和計算材料可供使用。這就是為什麼人們現在已經開始尋找替代的資料儲存介質的原因。使用DNA來儲存資料,這聽起來很奇怪,實際上很有意義。現在,研究人員取得了突破,使他們能夠將DNA儲存整合到流行的開源資料庫PostgreSQL中。
DNA的核心是資料儲存層。DNA由四種鹼基組成:腺嘌呤、鳥嘌呤、胞嘧啶和胸腺嘧啶(又名AGCT)。從這四個鹼基中,DNA形成由三個核苷酸組成的基團(稱為密碼子)。密碼子是給我們的細胞指示蛋白質形成的單位。
我們的資訊科技基礎設施基於以位(bits)為單位的資訊儲存(由兩位數字組成:0和1),而DNA資訊儲存在四個潛在基本單元的串中。為了將非遺傳資訊儲存在DNA中,我們必須首先將二進位制資料從位轉換為DNA資料(AGCT)結構。
將Bits轉換為DNA序列
理論部分實際上相當簡單。與使用矽或磁性介質(它們的工作原理是將狀態儲存為1和0的序列)相同,儲存A、G、C和T的序列。但是,這在實踐中是如何工作的呢?如何在DNA中寫入和讀取資料呢?
這聽起來可能有點遙不可及,但分子技術的進步已經使它成為可行——儘管並不完美。
例如,微軟展示了世界上第一個自動DNA資料儲存和檢索系統。如果你想知道這個DNA來自哪裡:這是合成DNA,產生它的是系統的一部分。
天然存在的DNA由兩條核苷酸鏈的雙螺旋的形式構成。相反,用於資料儲存的DNA是單鏈核苷酸序列,也稱為寡核苷酸(oligo),它透過化學過程合成,該化學過程一次構建一個核苷酸。
倫敦帝國理工學院SCALE實驗室負責人Heinis和Eurecom資料科學系助理教授Appuswamy 在創新資料系統研究會議上發表了題為“ OligoArchive: Using DNA in the DBMS storage hierarchy ”的研究論文。雖然他們不是第一個使用DNA儲存和檢索資料的人,但他們是第一個使用結構化資料、與現成的資料庫整合、並超越儲存、實現計算的人。
關於DNA作為資料儲存層的第一件事是,每次執行寫操作時,都必須合成寡核苷酸。這將如何在實踐中發揮作用?實驗室技術人員是否必須待命執行此操作,並“重新填充”用於化學過程的原材料?
並非如此,根據Appuswamy和Heinis的說法,這是微軟透過其自動DNA儲存和檢索系統所證明的價值所在。這表明,在沒有人參與的情況下操作這樣一個過程是可能的。就像除了維護,沒有人監督資料中心的日常運作一樣,這同樣適用於基於DNA的資料中心。
儘管如此,我們還遠沒有用合成DNA陣列取代硬碟。首先,以這種方式儲存資料的現代技術非常緩慢。剛開始,科學家們花了一週時間來儲存一兆位元組的資料。
Appuswamy和Heinis一致認為,在這方面還需要更多的工作。但這超出了他們自己的研究範圍,所以只能等待生化合成過程進一步提高。
首先,他們注意到儲存速度已經越來越快,目前速度是每秒幾KB。雖然與SSD相比,這仍然非常緩慢,但這是一個很大的進步。對於Appuswamy和Heinis的研究(即歸檔儲存),這實際上是可以接受的。
資料庫引擎使用三層儲存層次結構,由具有不同價格/效能特性的裝置組成。效能層儲存高效能OLTP和實時分析應用程式訪問的資料。
容量層儲存由延遲不敏感(latency-insensitive)的批分析應用程式訪問的資料。歸檔層用於儲存很少訪問的資料,例如,在安全合規性檢查或法律審計期間。今天磁帶通常用於這一層。
OligoArchive透過將基於磁帶的歸檔層替換為基於DNA的歸檔層來改變資料庫儲存層次結構。合成DNA的儲存需要額外的措施,對於普通的裝置來說,基於DNA的儲存是否有效還值得懷疑。但無論如何,資料和資料庫都將進入雲端,只要你的資料安全地儲存在資料中心,對終端使用者來說,這都是一個黑匣子。
Appuswamy和Heinis還指出,即使它仍然很慢,DNA儲存提供了很大的並行處理潛力。因為它很豐富、價格低廉 - 或者更確切地說,我們希望它最終會是這樣。按照目前的速度,儲存一分鐘的高質量立體聲將花費100,000美元。
儘管使用合成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,執行in-vitro計算,以及再次恢復它。
這是巨大的。這意味著現在DNA儲存還可以支援SQL操作,來有選擇地訪問和處理部分資料。請注意,資料不會被提取到資料庫來執行操作。Appuswamy和Heinis找到了一種方法來處理寡核苷酸中的SQL連線。這超出了生化儲存的範圍——它還需要生物化學計算。
然而,要做到這一點,研究人員必須處理一系列與用於編碼和解碼DNA資訊的技術缺陷有關的問題。對DNA進行操作需要專門的編碼技術,這些技術可以產生適合生化操作的寡核苷酸。讀取DNA資料目前非常容易出錯,以前的工作依賴於資料過度表示(over-representation):資料被寫在許多副本中,因此如果原始資料被破壞,備份還在。
相比之下,Appuswamy和Heinis依賴於元資料。他們利用資料庫模式感知,在編寫的塊中新增一些額外的資料位。研究表明,這可以在編碼(寫入)過程中提高密度,並有助於在解碼(讀取)過程中識別錯誤。他們注意到這比預期效果更好。
儘管部分技術還不成熟,但這是一個重大突破。擁有足夠的資料中心儲存空間已經成為一個game changer。但是,將像DNA這樣豐富的東西作為一種可行的儲存和計算介質的意義可能會超出我們的想象。
這可能只是朝這個方向邁出的第一步,但每一個旅程都從第一步開始,Appuswamy和Heinis並不是獨行者。
Eurecom,CNRS,ICL,UCA以及DNA合成初創企業Helixworks已獲得歐盟資助,以進一步開展DNA儲存研究。該系統將被設計成支援資料編碼的全自動迴圈,將其合成為DNA,並透過序列讀取資料。它將儲存各種不同的資料型別,並在儲存和精確檢索資料時實現近距離資料處理。
將資料儲存在DNA中的進一步研究將由歐盟資助
Appuswamy和Heinis提到,到目前為止,主要是其他研究人員對這個感興趣,至於說公司,微軟似乎比任何公司都表現出了更多的興趣。
掌握這項技術可能意味著擁有未來,因為這一領域的突破將產生巨大的影響。Appuswamy和Heinis指出,這表明了人們的態度:
“幾年前,人們會認為這太離譜了。今天,當我們告訴他們我們正在做什麼時,他們會說——多告訴我們一些”。
原文連結:https://www.zdnet.com/article/forget-silicon-sql-on-dna-is-the-next-frontier-for-databases/
圖片來自“123rf.com.cn”
全球每年產生的資料需要4180億個1TB硬碟才能放下,若是把如此龐大的資料放到DNA上,只需 1kg DNA就夠了!DNA儲存才是未來!
幾年前,甚至研究人員也不願使用DNA來儲存資料,因為這看起來過於科幻,並沒有任何實用價值。今天,我們可以使用正確的軟體和生物化學模組擴充套件PostgreSQL,並在DNA上執行SQL。
在這個資料爆炸的時代,全球的資料不僅遠遠超過我們理解數字的能力(比如你知道Zettabytes是多少嗎?)更超過了我們的儲存能力。
一切都是數字化的,一切都越來越多地執行在基於資料訓練演算法的應用程式上,而這些演算法反過來會產生更多的資料來為更多的下游應用程式和演算法提供資訊。你懂了吧?
簡單地說,按照這種速度,很快就沒有足夠的資料儲存和計算材料可供使用。這就是為什麼人們現在已經開始尋找替代的資料儲存介質的原因。使用DNA來儲存資料,這聽起來很奇怪,實際上很有意義。現在,研究人員取得了突破,使他們能夠將DNA儲存整合到流行的開源資料庫PostgreSQL中。
DNA是如何儲存資料的?DNA的核心是資料儲存層。DNA由四種鹼基組成:腺嘌呤、鳥嘌呤、胞嘧啶和胸腺嘧啶(又名AGCT)。從這四個鹼基中,DNA形成由三個核苷酸組成的基團(稱為密碼子)。密碼子是給我們的細胞指示蛋白質形成的單位。
我們的資訊科技基礎設施基於以位(bits)為單位的資訊儲存(由兩位數字組成:0和1),而DNA資訊儲存在四個潛在基本單元的串中。為了將非遺傳資訊儲存在DNA中,我們必須首先將二進位制資料從位轉換為DNA資料(AGCT)結構。
將Bits轉換為DNA序列
理論部分實際上相當簡單。與使用矽或磁性介質(它們的工作原理是將狀態儲存為1和0的序列)相同,儲存A、G、C和T的序列。但是,這在實踐中是如何工作的呢?如何在DNA中寫入和讀取資料呢?
這聽起來可能有點遙不可及,但分子技術的進步已經使它成為可行——儘管並不完美。
例如,微軟展示了世界上第一個自動DNA資料儲存和檢索系統。如果你想知道這個DNA來自哪裡:這是合成DNA,產生它的是系統的一部分。
天然存在的DNA由兩條核苷酸鏈的雙螺旋的形式構成。相反,用於資料儲存的DNA是單鏈核苷酸序列,也稱為寡核苷酸(oligo),它透過化學過程合成,該化學過程一次構建一個核苷酸。
使用DNA在現實世界中儲存資料倫敦帝國理工學院SCALE實驗室負責人Heinis和Eurecom資料科學系助理教授Appuswamy 在創新資料系統研究會議上發表了題為“ OligoArchive: Using DNA in the DBMS storage hierarchy ”的研究論文。雖然他們不是第一個使用DNA儲存和檢索資料的人,但他們是第一個使用結構化資料、與現成的資料庫整合、並超越儲存、實現計算的人。
關於DNA作為資料儲存層的第一件事是,每次執行寫操作時,都必須合成寡核苷酸。這將如何在實踐中發揮作用?實驗室技術人員是否必須待命執行此操作,並“重新填充”用於化學過程的原材料?
並非如此,根據Appuswamy和Heinis的說法,這是微軟透過其自動DNA儲存和檢索系統所證明的價值所在。這表明,在沒有人參與的情況下操作這樣一個過程是可能的。就像除了維護,沒有人監督資料中心的日常運作一樣,這同樣適用於基於DNA的資料中心。
儘管如此,我們還遠沒有用合成DNA陣列取代硬碟。首先,以這種方式儲存資料的現代技術非常緩慢。剛開始,科學家們花了一週時間來儲存一兆位元組的資料。
Appuswamy和Heinis一致認為,在這方面還需要更多的工作。但這超出了他們自己的研究範圍,所以只能等待生化合成過程進一步提高。
首先,他們注意到儲存速度已經越來越快,目前速度是每秒幾KB。雖然與SSD相比,這仍然非常緩慢,但這是一個很大的進步。對於Appuswamy和Heinis的研究(即歸檔儲存),這實際上是可以接受的。
資料庫引擎使用三層儲存層次結構,由具有不同價格/效能特性的裝置組成。效能層儲存高效能OLTP和實時分析應用程式訪問的資料。
容量層儲存由延遲不敏感(latency-insensitive)的批分析應用程式訪問的資料。歸檔層用於儲存很少訪問的資料,例如,在安全合規性檢查或法律審計期間。今天磁帶通常用於這一層。
OligoArchive透過將基於磁帶的歸檔層替換為基於DNA的歸檔層來改變資料庫儲存層次結構。合成DNA的儲存需要額外的措施,對於普通的裝置來說,基於DNA的儲存是否有效還值得懷疑。但無論如何,資料和資料庫都將進入雲端,只要你的資料安全地儲存在資料中心,對終端使用者來說,這都是一個黑匣子。
在DNA上執行SQLAppuswamy和Heinis還指出,即使它仍然很慢,DNA儲存提供了很大的並行處理潛力。因為它很豐富、價格低廉 - 或者更確切地說,我們希望它最終會是這樣。按照目前的速度,儲存一分鐘的高質量立體聲將花費100,000美元。
儘管使用合成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,執行in-vitro計算,以及再次恢復它。
這是巨大的。這意味著現在DNA儲存還可以支援SQL操作,來有選擇地訪問和處理部分資料。請注意,資料不會被提取到資料庫來執行操作。Appuswamy和Heinis找到了一種方法來處理寡核苷酸中的SQL連線。這超出了生化儲存的範圍——它還需要生物化學計算。
然而,要做到這一點,研究人員必須處理一系列與用於編碼和解碼DNA資訊的技術缺陷有關的問題。對DNA進行操作需要專門的編碼技術,這些技術可以產生適合生化操作的寡核苷酸。讀取DNA資料目前非常容易出錯,以前的工作依賴於資料過度表示(over-representation):資料被寫在許多副本中,因此如果原始資料被破壞,備份還在。
相比之下,Appuswamy和Heinis依賴於元資料。他們利用資料庫模式感知,在編寫的塊中新增一些額外的資料位。研究表明,這可以在編碼(寫入)過程中提高密度,並有助於在解碼(讀取)過程中識別錯誤。他們注意到這比預期效果更好。
DNA是資料的未來嗎?儘管部分技術還不成熟,但這是一個重大突破。擁有足夠的資料中心儲存空間已經成為一個game changer。但是,將像DNA這樣豐富的東西作為一種可行的儲存和計算介質的意義可能會超出我們的想象。
這可能只是朝這個方向邁出的第一步,但每一個旅程都從第一步開始,Appuswamy和Heinis並不是獨行者。
Eurecom,CNRS,ICL,UCA以及DNA合成初創企業Helixworks已獲得歐盟資助,以進一步開展DNA儲存研究。該系統將被設計成支援資料編碼的全自動迴圈,將其合成為DNA,並透過序列讀取資料。它將儲存各種不同的資料型別,並在儲存和精確檢索資料時實現近距離資料處理。
將資料儲存在DNA中的進一步研究將由歐盟資助
Appuswamy和Heinis提到,到目前為止,主要是其他研究人員對這個感興趣,至於說公司,微軟似乎比任何公司都表現出了更多的興趣。
掌握這項技術可能意味著擁有未來,因為這一領域的突破將產生巨大的影響。Appuswamy和Heinis指出,這表明了人們的態度:
“幾年前,人們會認為這太離譜了。今天,當我們告訴他們我們正在做什麼時,他們會說——多告訴我們一些”。
原文連結:https://www.zdnet.com/article/forget-silicon-sql-on-dna-is-the-next-frontier-for-databases/