NVM作为主存上对数据库管理系统的影响

发布于:2024-10-24 编辑:匿名 来源:网络

非易失性内存作为数据库管理系统主存储的含义。传统的数据库管理系统使用磁盘来存储关系数据。

。硬盘的特点:便宜、耐用、容量大。

然而,从磁盘读取数据的成本非常昂贵。为了消除这种延迟,需要 DRAM 作为中介。

DRAM的特点:比磁盘快,但容量较小,耐用性较差。 NVM是一种新兴的存储技术,具有大容量、字节可寻址、存储速度可与DRAM、非易失性存储器相媲美的特点。

在本文中,我们回顾了 NVM 作为主存对关系数据库管理系统的影响。即我们研究如何修改传统的关系型数据库管理系统,以充分利用NVM的特性。

修改了PostgreSQL存储引擎以适应NVM,并详细描述了如何修改以及修改的挑战。最后通过综合仿真平台进行测试和评估。

结果表明,数据存储在磁盘上:修改后的PG查询时间比原生PG减少了40%;数据存储在NVM中,可减少14.4%。平均下降幅度分别为20.5%和4.5%。

简介 一般情况下,数据库管理系统都是内存加磁盘的架构,数据集最终都会持久化到磁盘上。磁盘价格便宜、非易失性,适合存储大规模数据。

然而,当从磁盘读取数据时,需要更长的时间。为了减少数据访问的延迟,将DRAM直接添加到CPU和磁盘中作为中间存储介质。

DRAM 的访问速度比磁盘快几个数量级。此外,随着 DRAM 芯片密度的增加和内存价格的下降,具有大容量内存的系统变得越来越普遍。

由于这些原因,传统的基于内存的关系数据库变得越来越流行。关系数据库的重要部分,如索引结构、恢复机制、提交处理流程等,都是为主存作为存储介质而定制的。

然而,关系数据库在处理关键数据或非冗余数据时,仍然需要持久化存储介质,比如大量的磁盘。 DRAM是影响数据库服务效率的重要因素。

当数据库执行查询时,59%的电量消耗在主内存中。此外,还有一些与漏电和电压相关的内置物质限制了DRAM的进一步扩展。

因此,DRAM作为主要存储介质,无法跟上当前和未来数据集的增长。 NVM是一种新型的硬件存储介质,具有磁盘和DRAM的一些特点。

著名的 NVM 技术产品包括:PC-RAM、STT-RAM 和 R-RAM。由于NVM具有设备级持久性,因此不需要与DRAM相同的刷新周期来维护数据状态。

因此,NVM 每比特消耗的能量比 DRAM 更少。另外,NVM的延迟比硬盘更小,读取延迟甚至与DRAM相当;它是字节可寻址的;而且它比 DRAM 更密集。

设计DBMS时需要充分考虑NVM的特点,以释放其硬件红利。最简单的设计方法是用 NVM 替代磁盘,并利用其低延迟的优势来获得性能提升。

然而,使 DBMS 适合 NVM 的特性远远超出了其低延迟特性。本文探讨了在设计 DBMS 时如何部署 NVM。

首先我们讨论了如何将NVM纳入到当前系统的内存结构中;然后我们通过修改 PostgreSQL 存储引擎来最大化 NVM 的优势。我们的目标是绕过慢速磁盘接口,同时保持 DBMS 的稳健性。

我们利用仿真平台和TPC-H基准测试用例对两种修改后的PG存储引擎进行了评估。同时测试了SSD和NVM上未修改PG的场景。

结果表明,修改后的存储引擎能够减少内核执行时间(发生文件 IO 的地方):平均从 10% 减少到 2.6%。修改后的PG性能在硬盘上可提升20.5%,在NVM上可提升4.5%。

另外,还论证了修改后的PG性能瓶颈:由于直接访问NVM来获取数据,当需要查询数据时,修改后的数据并不靠近CPU。当用户级缓存没有这些数据时,会造成较长的延迟,并不能体现出新硬件的好处。

背景本节详细介绍NVM技术的特点及其对DBMS的影响。然后介绍了管理NVM的系统软件。

1、NVM的特点是数据访问延迟:NVM的读取延迟比磁盘小得多。由于 NVM 仍处于开发阶段,因此不同来源的延迟有所不同。

STT-RAM的延迟为1-20ns。尽管如此,它的延迟已经非常接近 DRAM。

PC_RAM 和 R-RAM 的写入延迟比 DRAM 更高。但写入延迟并不是很重要,因为可以通过缓冲来缓解。

密度:NVM具有比DRAM更高的密度,可以用作主存储器的替代品,特别是在嵌入式系统中。例如,与DRAM相比,PC-RAM提供2至4倍的容量,并且易于扩展。

耐久性:每个内存单元的最大写入次数。最具竞争力的是 PC-RAM 和 STT-RAM,它们的耐用性接近 DRAM。

更准确地说,NVM的耐用性是,而DRAM的耐用性是。此外,NVM 比闪存技术具有更高的耐用性。

能耗:NVM不需要像DRAM那样定期刷新来维护内存中的数据,因此能耗更少。PC-RAM 的能耗明显低于 DRAM,其他的也比较接近。

此外,还有字节寻址、持久化。 Interl和Micron已经首创了3D XPoint技术,而Interl则开发了新的指令来支持持久内存的使用。

2. NVM系统软件 当使用NVM作为主存时,不仅需要修改应用软件,而且还需要修改系统软件,才能充分发挥NVM的优势。传统文件系统通过块层访问存储介质。

如果只是将磁盘替换为NVM而不做任何修改,那么NVM存储也需要经过块层来读写数据。因此,NVM字节寻址的特性无法充分发挥其优势。

因此,文件系统对持久内存的支持已经取得了一些进展。 PMFS是由Interl开发并开源的POSIX文件系统。

它提供了 2 个关键功能来方便 NVM 的使用。首先,PMFS 不为 NVM 维护单独的地址空间。

换句话说,NVM和内存是统一寻址的。这意味着应用程序访问时不需要将数据从 NVM 复制到 DRAM。

进程可以直接以字节粒度访问NVM中的数据。其次,传统数据库访问块有两种方式:文件IO;内存映射IO。

PMFS以与传统FS类似的方式实现文件IO。然而,内存映射IO的实现方式有所不同。

传统文件系统中的内存映射 IO 首先将页面复制到 DRAM。 PMFS不需要这一步,它直接将页面直接映射到进程的地址空间。

图1显示了传统文件系统和PMFS之间的比较。设计选择 本节讨论系统包含 NVM 时存在的内存分层设计方案,以及如何修改面向磁盘的 DBMS 以充分利用 NVM。

1. 基于NVM的DBMS内存层次结构设计 将NVM置于当前DBMS内存层次结构中的方法有很多种。图 2 说明了 NVM 的三种常见用途。

图a显示了传统方法。目前使用的中间状态包括日志、数据缓存和部分查询状态,这些状态存储在DRAM中,主要数据存储在磁盘上。

基于NVM的特性,它可以替代DRAM和磁盘。如图b所示。

然而,此类变化需要重新设计当前的操作系统和应用软件。另外,作为DRAM的替代品,NVM技术在耐用性方面并不成熟。

因此,我们主张平台中仍包含DRAM内存,磁盘全部或部分被NVM取代。如图c(NVM-磁盘)所示。

在这种方法中,当前系统中仍然保留了DRAM层,从而利用DRAM来快速读写临时数据结构和应用代码。另外,允许应用程序通过PMFS文件系统访问数据库系统的数据,利用NVM字节寻址的特性,避免当前传统文件系统的API开销。

这样的部署不需要大量的 DRAM,因为临时数据量相对较小。我们认为这种部署场景是为了整合NVM的合理使用:将NVM放置在DRAM旁边来存储临时数据结构或使用传统磁盘来存储冷数据。

2.传统DBMS的变化:当传统的面向磁盘的数据库系统直接部署在NVM上时,无法充分利用NVM新硬件带来的好处。当使用NVM作为主存储介质时,需要更改或删除DBMS的重要组件。

避免块级访问:传统的 DBMS 使用磁盘作为主要存储介质。由于磁盘顺序访问速度更快,因此以块的形式读取数据以平衡磁盘访问延迟。

不幸的是,访问块中的数据会产生额外的数据移动成本。例如,如果一笔事务更新了记录的一个字节,则仍然需要将整个块刷新到磁盘。

换句话说,块级访问提供了更好的数据预读。由于 NVM 是可字节寻址的,因此可以以字节的形式访问数据。

然而,这将数据粒度降低到字节级别并消除了数据预热。更好的方法需要平衡两方面的优点。

删除DBMS的内部缓冲区高速缓存:DBMS通常维护一个内部缓冲区高速缓存。当访问一条记录时,首先计算其磁盘地址。

如果数据对应的块不在buffercache中,则需要从磁盘读取到buffercache中。基于 NVM 的数据库不需要这种方法。

如果NVM地址空间可以对其他进程可见,那么就不需要执行块复制。直接访问NVM中的记录会更有效。

然而,这需要一个支持 NVM 的操作系统,例如 PMFS,它可以直接将 NVM 地址空间暴露给进程。删除重做日志:为了保证数据库的ACID属性,DBMS需要两种类型的日志:undo和redo。

撤消日志用于回滚未提交的事务,重做用于回放已提交但未写入磁盘的数据。在基于NVM的DBMS中,如果不部署内部缓冲区缓存,所有写入都直接写入NVM,则不再需要重做日志,但仍然需要撤消日志。

案例:POSTGRESQLPostgresql是一个开源的关系数据库,支持完整的ACID,可以运行在所有主流操作系统上,包括Linux环境。本节我们研究postgresql的存储引擎,并进行一些修改以适应NVM。

首先介绍一下PG的读写架构,然后说明一下做了哪些修改。 1. PG的读写架构 图3a展示了原始PG读写文件操作的架构。

左列图显示了PG软件层执行的操作,右列显示了相应的数据移动。请注意,使用的操作系统是 PMFS。

在图3a中,使用NVM代替磁盘来存储数据。 PG读写数据的性能很大程度上依赖于文件IO。

由于PMFS的文件IO API与传统文件系统相同,因此在使用特定文件系统时无需对PG进行任何修改。 PG服务器调用Buffer Layer服务来维护内部缓冲区缓存。

该PG要访问的页面保存在Buffer缓存中。如果buffer cache没有空闲槽位供磁盘读取页面,则会实施替换策略,即从buffer cache的管理链表中选择一个要逐出的数据页来使用。

如果数据页是脏页,则需要先将其刷新到磁盘。一旦 PG 收到从磁盘读取数据页的请求,Buffer Layer 就会在缓冲区高速缓存中找到一个空闲槽并获取其指针。

在图3a中,pg Buffer和PgBufPtr分别是空闲缓冲区槽和相应的指针。缓冲层将此指针传递给文件层。

最后,PG的File Layer唤醒文件读写,而读写则依赖文件系统来完成。对于读操作,PMFS 将数据块从 NMV 复制到内核缓冲区,然后内核将其复制到 PgBufPtr 指向的空闲缓冲区高速缓存槽。

对于写操作,也有两个副本,但方向相反。因此,当buffer cache丢失时,原生PG存储引擎会触发两次复制动作。

当数据集非常大时,这将是一个巨大的开销。由于 PMFS 可以将 NVM 地址直接映射到内存,因此可以修改存储引擎以避免复制开销。

以下是更改方法。 2. SE1:利用内存映射的IO方式利用NVM特性的第一步:替换PG的File Layer,命名为MemMapped Layer。

如图3b所示,该层仍然从缓冲层接收空闲缓冲槽的指针。然而,通过使用PMFS的内存映射输入和输出接口,不再产生文件IO。

这种存储方式称为SE1。读操作:访问文件进行读时,首先需要调用open()打开文件,然后使用mmap()将文件映射到内存。

由于使用PMFS,mmap()将返回文件在NVM中的映射指针。这允许应用程序直接访问 NVM 上的文件。

因此,不需要将请求的数据页复制到内核缓冲区中。如图3b所示,您可以调用memcpy()将请求的数据页直接复制到PG缓冲区中。

当请求完成并且不再需要访问该文件时,可以关闭该文件。之后,您可以调用 munmap() 函数来取消映射。

写操作:与读操作类似。首先,您需要打开要更改的文件,然后对它进行 mmap。

使用memcpy()直接将PG缓冲区中的脏数据复制到NVM。 SE1,不需要将数据拷贝到内核缓冲区,减少了一次数据拷贝。

3. SE2:直接访问映射文件。第二种修改方法是将SE1的MemMapped Layer替换为图3c的PtrRedirection Layer。

与 MemMapped Layer 不同,它接收指向 PgBufPtr (P2PgBufPtr) 的指针。读操作:当访问文件进行读操作时,调用open()打开文件,然后使用mmap()将其映射到内存。

原始PgBufPtr指针指向内部缓冲区高速缓存的空闲槽。因为mmap可以将NVM映射到内存,即进程可以看到这个地址,所以PtrRedirection Layer将PgBufPtr指向NVM上文件的地址。

读操作的指针重定向如图 3c 中的“Read”标签所示。因此,读操作期间不再需要数据复制。

在大数据查询中,这种方法大大提高了性能。写操作:PMFS允许应用程序直接访问NVM上的文件。

由于PG是一个多进程系统,直接更改NVM上的文件是非常危险的,这可能会使数据库处于不一致的状态。为了避免这个问题,SE2在修改数据页并将其标记为脏页之前需要两个步骤:如果该页在NVM中,则将数据页复制到内部缓冲区缓存,即Pg-Buffer;然后释放 PgBufPtr 重定向指针并重新指向缓冲区高速缓存的空闲槽。

如图3c中的“写入”过程所示。通过这种方式,SE2 确保每个进程仅更改其数据页的本地副本。

相关工作 以往的工作主要分为两类:用NVM替换整个数据库存储介质;部署NVM来存储日志。 《Nvram-aware logging in transaction systems》和《High performance database logging using storage class memory》减少磁盘IO对事务吞吐量的影响,将日志直接写入NVM而不是刷新到磁盘以减少响应时间。

使用NVM在多核多路硬件上写入分布式日志,以减少系统负载增加时集中日志记录的竞争:《Scalable logging through emerging nonvolatile memory》。 DRAM和NVM两层存储,研究不同的恢复方法。

结论:研究了部署 NVM 对 DBMS 设计的影响。讨论了将 NVM 添加到 DBMS 内存层次结构的几种方案。

将磁盘全部或部分替换为NVM是一个典型的应用场景。在这种方法下,原理系统不需要修改,可以直接访问NVM上的数据集。

介绍了 PG 存储引擎的两个变体:SE1 和 SE2。实验结果表明,对于原生PG,将数据库部署在NVM上,与磁盘相比,性能最高可提升40%,平均提升16%。

SE1和SE2相比磁盘可以减少近20.5%的执行时间。然而,当前数据库系统设计中最大的障碍是最大限度地提高性能。

与SE2的基线相比,最大读取性能可以提高14.4%,平均提高4.5%。限制因素是数据距离CPU较远,这是在NVM上直接访问数据的负面影响。

这会削弱NVM带来的优势。因此,开发适应NVM的库是非常有必要的。

NVM作为主存上对数据库管理系统的影响

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 穿上仿生外骨骼,科幻也许并不遥远

    穿上仿生外骨骼,科幻也许并不遥远

    在观看《钢铁侠》和《复仇联盟》系列电影时,除了扣人心弦的战斗情节,吸引无数人目光的还有钢铁侠的酷炫机器人类这一代比上一代更强大。 第一的。 这些机甲实际上是一种机械外骨骼,将人类智能与外部机械动力装置相结合,为人们提供额外的动力或能力,达到增强人体功能的目的

    06-21

  • 国泰航空首四个月客运量同比大跌97.9%,4月载客量仅2.24万人

    国泰航空首四个月客运量同比大跌97.9%,4月载客量仅2.24万人

    香港上市公司国泰航空(3.HK)公布4月份客货量数据。

    06-18

  • 一年烧掉136亿!通用汽车的自动驾驶汽车仍然输给了技术

    一年烧掉136亿!通用汽车的自动驾驶汽车仍然输给了技术

    通用汽车销售汽车赚到的钱有超过1/5用来填补自动驾驶的漏洞。 2017年,通用汽车赚了1亿美元,但旗下自动驾驶公司Cruise一年就花了19亿美元(约合人民币1亿元)。 更糟糕的是,Cruise的税前亏损高达27亿美元,这还不包括第四季度裁员带来的5亿美元重组费用。 对自动驾驶寄予厚

    06-17

  • IPO重启浑水机构变脸做多中概股有望2012年“涅槃”

    IPO重启浑水机构变脸做多中概股有望2012年“涅槃”

    中概股不相信春哥,现在也复活了。   1月18日,中国最大的汽车租赁公司神州租车向美国证券交易委员会(SEC)提交了上市申请。 它是美国证券交易委员会修改提交规则后第一家向美国证券交易委员会提交上市申请的中国公司。 。   与此同时,作为浑水的创始人、中概股的“空军

    06-17

  • 金竟科技获1200万元天使轮融资,自主研发阴极荧光系统

    金竟科技获1200万元天使轮融资,自主研发阴极荧光系统

    1月20日投资界消息,据36氪了解,金竟科技近期获得1万元天使轮融资。 本轮融资由粤港澳大湾区协同创新研究院、投控东海投资资助。 据悉,本轮融资将主要用于产品量产、市场开拓以及应用实验室的建立。 公开资料显示,金竟科技成立于2016年12月,是一家阴极荧光系统开发商。

    06-18

  • OPPO R9即将上市,电商忙备货保证供应

    OPPO R9即将上市,电商忙备货保证供应

    《新款闪充自拍专家》OPPO R9将于3月24日线上线下同步开售!为了确保能够满足广大用户对这款高性能高颜值产品的需求,OPPO已经全面投入生产,并在OPPO电商上积极备货。 其仓库已经装满了OPPO R9的箱子,准备第一时间发货。 发售当天来一场大战斗吧! “新品闪充自拍专家”OPP

    06-18

  • 退伍军人创业就业交流活动成功举办,阿里云“数智企业效益”助力企业转型升级

    退伍军人创业就业交流活动成功举办,阿里云“数智企业效益”助力企业转型升级

    8月23日,退伍军人创业就业交流活动第一期在重庆成功举办互联网产业园。 本次活动由重庆市两江新区社会保障局(重庆市两江新区退役军人事务局)、重庆市两江新区社会保障管理中心指导,重庆渝高新兴科技发展有限公司、重庆两江新区互联网承办工业园区党群服务中心。 会议由晴

    06-17

  • 传感器是感知层的关键技术,智能化已成为发展趋势,

    传感器是感知层的关键技术,智能化已成为发展趋势,

    2020年6月25日/美通社/——随着科技的不断进步,在现代生活中,人类越来越多地将机械物体交给机器系统。 要负责控制,汽车也不例外,正在逐步向自动驾驶方向发展。 自动驾驶的感知层依靠各类传感器来收集驾驶时周围环境的信息。 感知层的组件包括摄像头、毫米波雷达、激光雷达

    06-06

  • 天地一号,广东人支持的IPO

    天地一号,广东人支持的IPO

    广东常见饮料要IPO了。 投资界——天天IPO获悉,天地一号已于近日向证监会广东监管局提交公司公开发行股票并在深交所主板上市的辅导材料和备案材料。 指导机构为中信证券。 20世纪90年代,陈生偶然了解到一种新的饮用方式“雪碧加醋”。 他立刻意识到了巨大的市场前景,随后创

    06-18

  • 全球最大PE:黑石坐拥4.6万亿

    全球最大PE:黑石坐拥4.6万亿

    全球最大PE来了。 本周,黑石集团发布了第三季度财报,资产规模史无前例地达到1亿美元,约合人民币4.67万亿元。 今年以来,网络交友公司Bumble和PE巨头押注的瑞典燕麦饮料品牌Oatly相继IPO,各自创造了数百亿美元的市值。 最新消息称,黑石正准备募集四只新基金,总规模达1亿

    06-18

  • 总投资100亿元的三里铺超宽偏光片生产项目已开工建设

    总投资100亿元的三里铺超宽偏光片生产项目已开工建设

    黄冈日报 据黄冈日报报道,三里铺超宽偏光片生产项目在黄冈高新区正式开工建设。 据三里铺此前公告,该项目总投资1亿元,设计产能1.4亿平方米/年,预计年产值1亿元。 它将分两期建设。 一期投资50亿元,其中固定资产投资24亿元,流动资金26亿元。 拟建设宽幅毫米和超宽幅毫米

    06-06

  • 科技公司分拆趋势:赛门铁克宣布分拆为两家独立上市公司

    科技公司分拆趋势:赛门铁克宣布分拆为两家独立上市公司

    10月10日,目前科技公司分拆盛行,赛门铁克也来迎头赶上。 以其诺顿防病毒软件而闻名的赛门铁克周四宣布,它将分拆为两家独立的上市公司,一家专注于安全应用程序,另一家专注于信息管理。 该公司目前市值为1亿美元。   赛门铁克的总裁和首席执行官迈克尔布朗在一份声明中表

    06-17