直接在DNA上执行SQL操作,已通过PostgreSQL验证
法国通信系统工程师学校与研究中心(Eurecom)数据科学系助理教授 Appuswamy 和伦敦帝国理工学院 SCALE 实验室负责人 Heinis 等人近期发表了一篇关于在 DBMS 存储层操作 DNA 的论文
《OligoArchive: Using DNA in the DBMS storage hierarchy》。
论文研究了在数据库存储层次结构中集成 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 操作。
具体内容查看论文:
http://cidrdb.org/cidr2019/papers/p98-appuswamy-cidr19.pdf
开源中国征稿啦!
开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。
现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
- 通过MyEclipse工具直接操作数据库,执行sql语句,方便快捷
- 通过MyEclipse操作数据库,执行sql语句使我们不用切换多个工具,直接工作,方便快捷
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
- Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)
- 表单中通过sql语句,一次操作,执行多个sql,返回多个值的方法
- 在ABP中通过EF直接执行原生Sql的解决方案
- 在ABP中通过EF直接执行原生Sql的解决方案
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC CHECKDB通过执行下列操作检查指定数据库中所有对象的逻辑和物理完整性
- 给服务器控件添加前台js验证,使得通过了前台js验证才执行相应的服务器端操作(OnClientClick)
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
- Postgresql通过批处理命令执行sql文件
- postgresql中查看操作执行的具体sql语句
- .NET Entity Framework(EF)使用SqlQuery直接操作SQL查询语句或者执行过程
- postgresql导出sql执行结果到文件的方法
- 直接通过ADO操作Access数据库
- 通过分析SQL语句的执行计划优化SQL(总结)
- 直接执行指定SQL文件(参考整理)
- postgresql中如何Kill掉正在执行的SQL语句