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