研究人員實現直接在DNA上執行SQL操作並通過PostgreSQL驗證
法國通信系統工程師學校與研究中心(Eurecom)數據科學系助理教授Appuswamy和倫敦帝國理工學院SCALE實驗室負責人Heinis等人近期發表了一篇關於在DBMS存儲層操作DNA的論文。
論文研究了在數據庫存儲層次結構中集成DNA 的問題。更具體地,其提出了以下兩個問題:
- 數據庫經驗如何幫助優化DNA 編碼和解碼?
- 生化機制如何應用於對DNA 操作進行體外、近數據的SQL 查詢處理?
為了回答這兩個問題,該研究引入了一個叫OligoArchive的架構,這是一種使用基於DNA的存儲系統作為關係數據庫歸檔層的架構。
DNA 的存儲系統簡單講也就是指 ATCG 這些鹼基所組成的一套存儲信息的方案,類比0/1 二進制,這種存儲系統具有四進制。用DNA 作為存儲介質,優勢是容量大與存儲時間長,有數據指出1 克DNA 能夠存儲大約2 拍字節,相當於大約300 萬張CD;同時用DNA 存儲數據保存時間可能長達數千年;此外與硬盤、磁帶等存儲介質不同,DNA 不需要經常維護,而且在讀取方式上,DNA 存儲不涉及兼容性問題。
天然存在的DNA 是有兩條核苷酸鏈的雙螺旋結構,而用於數據存儲的DNA 是單鏈核苷酸序列,又叫寡核苷酸(oligo),它是使用每次一個核苷酸來組裝DNA 的化學過程合成的。
OligoArchive架構通過將基於磁帶的歸檔層替換為基於DNA的歸檔層來改變DBMS存儲層次結構,論文具體介紹了數據庫引擎和DNA存儲設備之間的分工,以及DNA存儲設備應在OligoArchive中使用的接口。
數據庫與DNA 存儲分工是這樣的:數據庫系統執行關係數據和寡核苷酸序列之間的轉換。在put 操作期間,DNA 存儲系統合成DNA 鏈並將它們存儲在庫中;在get 操作期間,對DNA 鏈進行測序並將讀數返回。
研究人員通過為PostgreSQL 構建歸檔和恢復工具(pg_oligo_dump 與pg_oligo_restore)證明OligoArchive 可以在實踐中實現,這些工具執行模式識別編碼和解碼DNA 上的關係數據,並使用這些工具將12KB TPC-H 數據庫歸檔到DNA ,進行體外計算,並將其恢復。
論文中的實驗表明,使用合成DNA存檔和恢復數據不僅可行,而且還可以利用數據庫知識經驗優化DNA編碼和解碼過程,甚至直接在DNA上執行SQL操作。
具體內容查看論文: