論文研究了在數(shù)據(jù)庫(kù)存儲(chǔ)層次結(jié)構(gòu)中集成 DNA 的問(wèn)題。更具體地,其提出了以下兩個(gè)問(wèn)題:
數(shù)據(jù)庫(kù)經(jīng)驗(yàn)如何幫助優(yōu)化 DNA 編碼和解碼?
生化機(jī)制如何應(yīng)用于對(duì) DNA 操作進(jìn)行體外、近數(shù)據(jù)的 SQL 查詢處理?
為了回答這兩個(gè)問(wèn)題,該研究引入了一個(gè)叫 OligoArchive 的架構(gòu),這是一種使用基于 DNA 的存儲(chǔ)系統(tǒng)作為關(guān)系數(shù)據(jù)庫(kù)歸檔層的架構(gòu)。
DNA 的存儲(chǔ)系統(tǒng)簡(jiǎn)單講也就是指 ATCG 這些堿基所組成的一套存儲(chǔ)信息的方案,類比 0/1 二進(jìn)制,這種存儲(chǔ)系統(tǒng)具有四進(jìn)制。用 DNA 作為存儲(chǔ)介質(zhì),優(yōu)勢(shì)是容量大與存儲(chǔ)時(shí)間長(zhǎng),有數(shù)據(jù)指出 1 克 DNA 能夠存儲(chǔ)大約 2 拍字節(jié),相當(dāng)于大約 300 萬(wàn)張 CD;同時(shí)用 DNA 存儲(chǔ)數(shù)據(jù)保存時(shí)間可能長(zhǎng)達(dá)數(shù)千年;此外與硬盤、磁帶等存儲(chǔ)介質(zhì)不同,DNA 不需要經(jīng)常維護(hù),而且在讀取方式上,DNA 存儲(chǔ)不涉及兼容性問(wèn)題。
天然存在的 DNA 是有兩條核苷酸鏈的雙螺旋結(jié)構(gòu),而用于數(shù)據(jù)存儲(chǔ)的 DNA 是單鏈核苷酸序列,又叫寡核苷酸(oligo),它是使用每次一個(gè)核苷酸來(lái)組裝 DNA 的化學(xué)過(guò)程合成的。
OligoArchive 架構(gòu)通過(guò)將基于磁帶的歸檔層替換為基于 DNA 的歸檔層來(lái)改變 DBMS 存儲(chǔ)層次結(jié)構(gòu),論文具體介紹了數(shù)據(jù)庫(kù)發(fā)動(dòng)機(jī)和 DNA 存儲(chǔ)設(shè)備之間的分工,以及 DNA 存儲(chǔ)設(shè)備應(yīng)在 OligoArchive 中使用的接口。
數(shù)據(jù)庫(kù)與 DNA 存儲(chǔ)分工是這樣的:數(shù)據(jù)庫(kù)系統(tǒng)執(zhí)行關(guān)系數(shù)據(jù)和寡核苷酸序列之間的轉(zhuǎn)換。在 put 操作期間,DNA 存儲(chǔ)系統(tǒng)合成 DNA 鏈并將它們存儲(chǔ)在庫(kù)中;在 get 操作期間,對(duì) DNA 鏈進(jìn)行測(cè)序并將讀數(shù)返回。
研究人員通過(guò)為 PostgreSQL 構(gòu)建歸檔和恢復(fù)工具(pg_oligo_dump 與 pg_oligo_restore)證明 OligoArchive 可以在實(shí)踐中實(shí)現(xiàn),這些工具執(zhí)行模式識(shí)別編碼和解碼 DNA 上的關(guān)系數(shù)據(jù),并使用這些工具將 12KB TPC-H 數(shù)據(jù)庫(kù)歸檔到 DNA,進(jìn)行體外計(jì)算,并將其恢復(fù)。
論文中的實(shí)驗(yàn)表明,使用合成 DNA 存檔和恢復(fù)數(shù)據(jù)不僅可行,而且還可以利用數(shù)據(jù)庫(kù)知識(shí)經(jīng)驗(yàn)優(yōu)化 DNA 編碼和解碼過(guò)程,甚至直接在 DNA 上執(zhí)行 SQL 操作。
論文研究了在數(shù)據(jù)庫(kù)存儲(chǔ)層次結(jié)構(gòu)中集成 DNA 的問(wèn)題。更具體地,其提出了以下兩個(gè)問(wèn)題:
數(shù)據(jù)庫(kù)經(jīng)驗(yàn)如何幫助優(yōu)化 DNA 編碼和解碼?
生化機(jī)制如何應(yīng)用于對(duì) DNA 操作進(jìn)行體外、近數(shù)據(jù)的 SQL 查詢處理?
為了回答這兩個(gè)問(wèn)題,該研究引入了一個(gè)叫 OligoArchive 的架構(gòu),這是一種使用基于 DNA 的存儲(chǔ)系統(tǒng)作為關(guān)系數(shù)據(jù)庫(kù)歸檔層的架構(gòu)。
DNA 的存儲(chǔ)系統(tǒng)簡(jiǎn)單講也就是指 ATCG 這些堿基所組成的一套存儲(chǔ)信息的方案,類比 0/1 二進(jìn)制,這種存儲(chǔ)系統(tǒng)具有四進(jìn)制。用 DNA 作為存儲(chǔ)介質(zhì),優(yōu)勢(shì)是容量大與存儲(chǔ)時(shí)間長(zhǎng),有數(shù)據(jù)指出 1 克 DNA 能夠存儲(chǔ)大約 2 拍字節(jié),相當(dāng)于大約 300 萬(wàn)張 CD;同時(shí)用 DNA 存儲(chǔ)數(shù)據(jù)保存時(shí)間可能長(zhǎng)達(dá)數(shù)千年;此外與硬盤、磁帶等存儲(chǔ)介質(zhì)不同,DNA 不需要經(jīng)常維護(hù),而且在讀取方式上,DNA 存儲(chǔ)不涉及兼容性問(wèn)題。
天然存在的 DNA 是有兩條核苷酸鏈的雙螺旋結(jié)構(gòu),而用于數(shù)據(jù)存儲(chǔ)的 DNA 是單鏈核苷酸序列,又叫寡核苷酸(oligo),它是使用每次一個(gè)核苷酸來(lái)組裝 DNA 的化學(xué)過(guò)程合成的。
OligoArchive 架構(gòu)通過(guò)將基于磁帶的歸檔層替換為基于 DNA 的歸檔層來(lái)改變 DBMS 存儲(chǔ)層次結(jié)構(gòu),論文具體介紹了數(shù)據(jù)庫(kù)發(fā)動(dòng)機(jī)和 DNA 存儲(chǔ)設(shè)備之間的分工,以及 DNA 存儲(chǔ)設(shè)備應(yīng)在 OligoArchive 中使用的接口。
數(shù)據(jù)庫(kù)與 DNA 存儲(chǔ)分工是這樣的:數(shù)據(jù)庫(kù)系統(tǒng)執(zhí)行關(guān)系數(shù)據(jù)和寡核苷酸序列之間的轉(zhuǎn)換。在 put 操作期間,DNA 存儲(chǔ)系統(tǒng)合成 DNA 鏈并將它們存儲(chǔ)在庫(kù)中;在 get 操作期間,對(duì) DNA 鏈進(jìn)行測(cè)序并將讀數(shù)返回。
研究人員通過(guò)為 PostgreSQL 構(gòu)建歸檔和恢復(fù)工具(pg_oligo_dump 與 pg_oligo_restore)證明 OligoArchive 可以在實(shí)踐中實(shí)現(xiàn),這些工具執(zhí)行模式識(shí)別編碼和解碼 DNA 上的關(guān)系數(shù)據(jù),并使用這些工具將 12KB TPC-H 數(shù)據(jù)庫(kù)歸檔到 DNA,進(jìn)行體外計(jì)算,并將其恢復(fù)。
論文中的實(shí)驗(yàn)表明,使用合成 DNA 存檔和恢復(fù)數(shù)據(jù)不僅可行,而且還可以利用數(shù)據(jù)庫(kù)知識(shí)經(jīng)驗(yàn)優(yōu)化 DNA 編碼和解碼過(guò)程,甚至直接在 DNA 上執(zhí)行 SQL 操作。