非易失性内存技术及数据库

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 非易失性内存技术及数据库

非易失性内存技术及数据库


内容


2013年开始这个项目的研究,当时不确定非易失性内存技术是否可商用。2019Intel商用了NVM产品,NVM对下一代数据库系统的影响吸引了广大研究者”--Joy ArulrajAndrew Pavlo

采访了《非易失性内存数据库管理系统》的作者:Joy ArulrajAndrew Pavlo。谈论了非易失性内存NVM技术及NVM对下一代数据库系统的影响。

Q1:非易失性内存技术是什么?

Arulraj,Pavlo:他是一种广泛的技术,包括相变内存和忆阻器。具有低延迟读、堪比DRAM的写速度,并具有持久特性和堪比SSD的大存储容量。市场上Intel基于3D XPoint技术[1]出产了傲腾DC NVM模块的产品。


Q2:基于易失性内存和持久内存的数据库管理系统有哪些潜在的变化?


Arulraj,Pavlo:现有的数据库管理系统分为两大类:1)面向磁盘;2)面向内存。面向磁盘的数据库管理系统和1970年代的第一代关系数据库基于的假设相同,比如IBMR系统。基于两层存储,用易失性的内存比如DRAM作为缓存,使用慢速、非易失的块设备作为持久存储器,比如SSD。这些系统基于一个悲观的假设:事务可以访问不在内存中的数据,为了访问磁盘上数据需要很长延迟。采用传统技术,比如沉重的并发控制机制来客服这些限制。

   最近出现的商品化产品大大扩展了单机DRAM内存。但是面向磁盘的数据库系统并不是针对数据全部驻留在内存场景而设计。针对NVM,面向磁盘数据库许多部件都显得冗余。

   相反,面向内存的数据库架构假设所有数据都在内存,因此不需要慢速、面向磁盘的部件。因此面向内存的数据库优于面向磁盘的数据库。但是由于DRAM易失,系统崩溃后,为了恢复仍需要沉重的部件。随着NVM的出现,面向磁盘和面向内存的数据库架构都将发生颠覆性影响。


Q3:现存的数据库管理系统为什么不能充分利用NVM技术优点?


Arulraj,PavloNVM特性有:

1)可字节寻址:NVM和其他非易失性存储(仅支持以块为单位进行数据传输)不同,支持字节可寻址。

2)高速写负载:相比SSDNVM写速度能高一个数量级。更重要的是随机写和顺序写差距很小。

3)读写不对称。某些NVM技术,写会比读花费的时间长。另外,过度写单个内存单元会损坏它。

   NVM优点显而易见,在数据库系统中充分利用他们非常重要。我们对面向磁盘和面向内存数据库在NVM上进行了评估,他们性能差不多。当前数据库管理系统假设内存是易失的,因此他们的架构需要将数据持久化到持久设备。这说明为充分利用NVM特性,需要重构数据库管理系统。


Q4:利用NVM,哪些传统数据库系统部件不是必要的?


Arulraj,Pavlo:针对NVM,需要重新设计数据库系统的几个关键部件:1)日志和恢复协议;2)存储和buffer管理;3)索引数据结构

举例说明日志和恢复协议。一个数据库系统需要确保数据的完整性。更新操作的事务在返回应用成功前,需要将其数据持久化到持久设备如SSD。这样的存储设备比DRAM慢,尤其在随机写上,只支持以block为单位的传输。

事务处理过程中,如果在提交前需要覆盖数据库内容,那么必须执行随机写到磁盘。通过将随机写转换成日志顺序写来提高数据库性能。

NVM颠覆了WAL协议的设计,因为他支持快速的随机写。因此我们需要为NVM重新定制新协议。例如write behind loggingWBL)。WBL不仅能提高性能,也能使崩溃重启恢复时快速完成。WBL追踪数据库哪些部分发生更改,而不是如何更改。用这样的日志方法,数据库可以不将数据记录到日志,直接将其刷写。通过排序写到NVM,确保事务持久性和原子性,使每个事务写更少数据,提高NVM设备生命周期。


Q5:你们已经设计开发了适配NVM的数据库系统存储引擎,关键模块是什么?


Arulraj,Pavlo:传统的数据库系统基于两层架构:DRAM+SSD。这些设备具有各自的硬件特性和约束,传统数据库系统架构基于减少这些影响的设计。例如依赖于这些设备,维护两种元组布局。由于DRAM字节寻址并高效处理随机读写,所以内存中的元组可以报考non-lined字段。而存储在SSD上的元组只存在inlined字段以避免随机写。为分摊访问持久设备的开销,这些引擎通过批量写入和刷新的方法进行延迟操作。然而,在具有NVM的存储层次结构的系统中,许多这样的技术将不再是必要模块。我们采用传统引擎的存储和恢复机制以利用NVM的特性。

例如,采用in-place updateNVM-aware存储引擎。当一个事务插入一个元组的时候,不需将其拷贝到WAL中以备恢复等,这个存储引擎只需要在WAL中记录一个元组的非易失指针即可。这非常高效,因为指针和元组都存储在NVM上。因此系统重启后,可以通过指针访问元组,而不需要回放WAL。同样将索引作为非易失的B+tree,系统重启后无需重建可立即访问。因为事务提交时,修改立即持久化,所以系统重启后提交的事务也是持久的。因为内存控制器刷写对于的cache lines时机不确定,所以未提交事务进行的修改可能也持久化了。因此存储引擎需要通过WAL回滚这些事务。由于恢复协议不包含redo处理流程,和传统存储引擎相比NVM-aware引擎具有更小的恢复延迟。


Q6:这边书的要点是什么?


Arulraj, Pavlo: 这本书介绍了适配NVM的关键算法和数据结构,不仅提升性能和减小操作消耗,而且简化了开发和崩溃恢复时间。我们的项目从2013年开始。我们也不太确定NVM技术是否能落地,但是2019intel基于3D Xpoint技术的傲腾系列使之商品化。我们对NVM对下一代数据库系统的影响感到兴奋。


原文


http://www.odbms.org/blog/2019/05/on-databases-and-non-volatile-memory-technologies-interview-with-joy-arulraj-and-andrew-pavlo/

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
1月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
213 2
|
1月前
|
存储 机器学习/深度学习 PyTorch
119_LLM训练的高效内存管理与优化技术:从ZeRO到Flash Attention
大型语言模型(LLM)的训练面临着前所未有的计算和内存挑战。随着模型规模达到数百亿甚至数千亿参数,高效的内存管理成为训练成功的关键因素之一。2025年,LLM训练的内存优化技术已经取得了显著进展,从ZeRO优化器到Flash Attention等创新技术,为训练超大规模模型提供了可能。
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
254 8
|
2月前
|
监控 Java 关系型数据库
HikariCP 高性能数据库连接池技术详解与实践指南
本文档全面介绍 HikariCP 高性能数据库连接池的核心概念、架构设计和实践应用。作为目前性能最优异的 Java 数据库连接池实现,HikariCP 以其轻量级、高性能和可靠性著称,已成为 Spring Boot 等主流框架的默认连接池选择。本文将深入探讨其连接管理机制、性能优化策略、监控配置以及与各种框架的集成方式,帮助开发者构建高性能的数据访问层。
169 1
|
2月前
|
SQL 数据管理 BI
数据库操作三基石:DDL、DML、DQL 技术入门指南
本文围绕数据库操作核心语言 DDL、DML、DQL 展开入门讲解。DDL 作为 “结构建筑师”,通过CREATE(建库 / 表)、ALTER(修改表)、DROP(删除)等命令定义数据库结构;DML 作为 “数据管理员”,以INSERT(插入)、UPDATE(更新)、DELETE(删除)操作数据表记录,需搭配WHERE条件避免误操作;DQL 作为 “数据检索师”,通过SELECT结合WHERE、ORDER BY、LIMIT等子句实现数据查询与统计。三者相辅相成,是数据库操作的基础,使用时需注意 DDL 的不可撤销性、DML 的条件约束及 DQL 的效率优化,为数据库学习与实践奠定基础。
|
3月前
|
机器学习/深度学习 监控 安全
解密虚拟化弹性内存:五大核心技术与实施策略
本文深入解析虚拟化环境中实现内存弹性管理的五大核心技术与实施策略。内容涵盖内存架构演进、关键技术原理、性能优化方法及典型问题解决方案,助力提升虚拟机密度与资源利用率。
198 0
|
3月前
|
缓存 关系型数据库 MySQL
MySQL数据库性能调优:实用技术与策略
通过秉持以上的策略实施具体的优化措施,可以确保MySQL数据库的高效稳定运行。务必结合具体情况,动态调整优化策略,才能充分发挥数据库的性能潜力。
187 0
|
5月前
|
存储 人工智能 关系型数据库
诚邀您参加《智启云存:AI时代数据库RDS存储新突破》线上闭门技术沙龙!
诚邀您参加6月11日(周三)14:00在线上举行的《智启云存:AI时代数据库RDS存储新突破》闭门活动。免费报名并有机会获得精美礼品,快来报名吧:https://hd.aliyun.com/form/6162
|
6月前
|
人工智能 关系型数据库 分布式数据库
媒体声音|从亚太到欧美,阿里云瑶池数据库凭何成为中企出海的技术底气?
在中企出海的时代浪潮中,瑶池数据库正凭借其技术创新、场景化解决方案、智能化能力、全球化布局,成为企业跨越挑战、构建全球竞争力的关键伙伴;同时也以硬核的技术实力证明了中国数据库的国际竞争力。
|
6月前
|
安全 Apache 数据库
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
181 1
下一篇
oss云网关配置