宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

  几年前,连研究人员都不愿使用 DNA 来存储数据,觉得这么做太超前了,不具有任何实用价值。今天,你可以使用合适的软件和生化模块来扩展 PostgreSQL,并在 DNA 上运行 SQL。

  当下全世界的数据浪潮来势凶猛,不仅超出了我们理解数字和衡量单位(比如泽字节)的能力,还超出了我们存储海量数据的能力。

  一切都变得数字化,一切都日益在基于算法的应用软件上运行,这些算法拿数据来训练,反过来生成更多的数据,馈送给为更多的下游应用软件和算法……结果可想而知。

  简而言之,按照这种步伐,很快就没有足够的数据存储和计算材料以满足需求。这就是为什么人们现在一直在寻找替代的存储介质以存储数据。使用 DNA 存储数据乍一听很奇怪,实际上大有意义。现在研究人员已取得了重大突破,他们因而能够将 DNA 存储整合到 PostgreSQL 这种流行的开源数据库中。

  DNA 是一种信息编码机制

  究其核心,DNA 是一个数据存储层。DNA 由四种基础部分组成:腺嘌呤、鸟嘌呤、胞嘧啶和胸腺嘧啶(又名 AGCT)。DNA 由这四个碱基组成三个核苷酸形成的三联体(名为密码子)。密码子是给人体细胞下达蛋白质形成指令的单位。

  我们的信息技术基础设施基于以比特(包括两个数字:0 和1)来存储信息,而 DNA 信息存储在四个潜在碱基单位的串中。为了将非遗传信息存储在 DNA 中,我们必须先将二进制数据从比特转换成 DNA 数据的四单位(AGCT)结构。

突破!DNA 上的 SQL 查询已经成为现实-风君子博客
将比特转换成 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 上的 SQL 查询已经成为现实-风君子博客

  虽然他们并非最先使用 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 查询已经成为现实-风君子博客

  将结构化数据存储在数据库系统中,后端使用 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 上的 SQL 查询已经成为现实-风君子博客

  将数据存储在 DNA 中方面的进一步研究将得到欧盟的资助。

  该项目通过未来和新兴技术(FET)欧盟计划获得资金,该计划投资致力于研究全新未来技术方面新想法的早期阶段项目,在早期阶段很少有研究人员开展项目课题。虽然这似乎是天作之合,但我们很想知道商业机构有没有找过这些研究人员。

  Appuswamy 和 Heinis 提到,到目前为止,感兴趣的主要是其他研究人员,不过微软是个例外。倒不是这方面有任何实际成果,而是眼下微软似乎比其他任何公司抱有更大的兴趣。

  在这项技术方面获得优势可能意味着主导未来,因为这个领域的突破将带来巨大影响。 Appuswamy 和 Heinis 特别指出,人们的态度表明了这一点:“几年前,人们会觉得这遥不可及。而今天,我们告诉他们我们在做的工作后,他们的态度是‘告诉我们更多’”。

  论文全文:

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客

突破!DNA 上的 SQL 查询已经成为现实-风君子博客