数据爆炸的时代DNA存储真的有未来

科技2020-08-31 22:12:05
导读相比传统的数据储存方式,DNA存储具有占用空间小、获取容易、储存时间长3大优势,但也面临存储速度慢、花费高的弊

相比传统的数据储存方式,DNA存储具有占用空间小、获取容易、储存时间长3大优势,但也面临存储速度慢、花费高的弊端。随着技术的不断成熟,它真的能成为主流吗?全球每年产生的数据需要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上运行SQL

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依赖于元数据。他们利用数据库模式感知,在编写的块中添加一些额外的数据位。研究表明,这可以在编码(写入)过程中提高密度,并有助于在解码(读取)过程中识别错误。他们注意到这比预期效果更好。

DNA是数据的未来吗?

尽管部分技术还不成熟,但这是一个重大突破。拥有足够的数据中心存储空间已经成为一个game changer。但是,将像DNA这样丰富的东西作为一种可行的存储和计算介质的意义可能会超出我们的想象。

这可能只是朝这个方向迈出的第一步,但每一个旅程都从第一步开始,Appuswamy和Heinis并不是独行者。

Eurecom,CNRS,ICL,UCA以及DNA合成初创企业Helixworks已获得欧盟资助,以进一步开展DNA储存研究。该系统将被设计成支持数据编码的全自动循环,将其合成为DNA,并通过序列读取数据。它将存储各种不同的数据类型,并在存储和精确检索数据时实现近距离数据处理。

免责声明:本文由用户上传,如有侵权请联系删除!