资料介绍
随着从通信设备到航空装备和工业控制器等技术中对数据管理需求的不断增长,以及受到这些设备中不断增加的板载CPU、RAM和存储资源的推动,数据库管理系统(DBMS)软件在电子设备中越来越普及。设备上的数据库规模大小不一,从几个GB的数据到支持电信计费/信用系统的等级评定和余额管理应用,再到10GB以上的IP路由器的控制层数据库以及100GB以上的电信呼叫路由数据库。
数据库管理系统——曾经与商业应用、台式机和web应用几乎完全关联在一起——为了满足当今电子设备的需求而经过了长足的发展。设计师经常采用的内存数据库系统(IMDS)是在主存中存储记录,因此可以消除许多延时源,比如通过硬连线接进数据库管理系统的缓存和文件管理,这些源将数据永久存储在硬盘或闪存中(下图1显示了这些延时源)。因此与传统“硬盘上的”数据库管理系统相比,内存数据库系统的执行速度可以快好几个数量级。它们的设计也更简单,可以最大限度地减少对CPU周期的需求,进而允许使用更小功耗和更低成本的处理器。
图1:传统(磁盘上)数据库系统中的延时源。
然而,易失性有时是一个使人担心的因素。当发生断电或系统故障时,主存中的内容将消失。一些应用可以容忍这种风险。例如,存储在机顶盒中的基于RAM的电子节目指南在发生电源故障时会丢失,但利用有线电视头端或卫星接收机中的信息可以很快重建。然而,其它许多电子设备要求更高等级的数据库持久性和可恢复性。举例来说,一些医疗设备要求记录随时间变化的症状以支持临床决策——这些数据在发生电源故障时不能突然消失。网络路由器和交换机通常将配置数据永久地存储在闪存中。将这种配置数据保存在内存中也是有意义的,可以实现更快的重启——但数据需要是可恢复的。面临DRAM易失性挑战的还有“读取”指纹或脸部的扫描仪。为了允许或拒绝访问安全设施,扫描仪需要将这些数据与存储在设备上的内存数据库系统中的生物特征数据进行匹配。如果访问控制系统发生了故障,系统必须能够很快恢复。
应用例子:内存数据库系统和工业控制器
在工业控制系统中,在控制器中集成内存数据库系统可以支持‘扁平的’控制系统架构。数据在这种架构中存储和处理,一些控制决策在独立控制器层产生;而在相反(和传统)的层次化系统架构中,存储在控制器层的数据通常被限制用于控制变量。
内存数据库系统易失性解决方案
解决这种易失性问题已有相应的解决方案。以电池供电RAM形式出现的非易失性内存可以在系统断电时在DRAM芯片上保持数据不变,不过这种方法没有得到广泛普及,因为存在严格的温度要求、漏电流风险、有限的电池使用寿命和其它缺点。
内存数据库系统软件本身可以提供数据持久性机制。举例来说,借助事务日志功能,这种数据库系统可以在日志文件中创建一条条事务记录(对数据库进行的一组修改必须作为一个整体完成或失败),在发生故障后这些记录可以用来恢复数据库。但记录本身要求写入永久存储器,因此性能上会有些下降。
减轻易失性问题的另外一种内存数据库系统功能是数据库复制,即独立节点中的一个或多个备用内存数据库与主数据库保持同步。如果主节点失效,这些数据库的复制品之一将接替主节点的角色。虽然管理同步(和有可能发生的故障转移)的过程和节点之间的通信会引起一些延时,但同步可以很快发生。当复制品数量增加或节点间的物理距离增加时,性能成本也会增加。可以用不同的复制策略来管理延时。同步或“2-safe”复制方法要求数据库事务在复制节点和主节点上同时完成,而异步或“1-safe”复制方法允许事务在复制节点上完成之前提交给主数据库。异步方法提供更短的源保持时间,因此速度更快,但一致性和持久性差一些。
NVDIMMS:非易性RAM,无需电池
非易失性双列直插式内存模块或NVDIMM的出现增加了针对内存数据库持久性的一种新工具。NVDIMM采用标准记忆棒的形式,可插入现有的DIMM插座,因此简化了到现成平台的集成。通常它们包含标准DRAM、NAND闪存和超级电容电源。在正常工作时,这种技术提供了高速DRAM的性能。当发生断电事件时,超级电容提供的瞬时电能可用来将主存内容写入NAND闪存芯片,实现永久保存。当电源恢复时,NVDIMM将NAND闪存中的数据恢复到DRAM中。
对于内存数据库来说,NVDIMM的作用与电池供电型RAM是类似的,但没有后者所需的电池及其缺点。McObject公司以前就做过这方面的努力,其eXtremeDB内存数据库系统可以与电池供电型RAM一起工作。公司很想将使用NVDIMM的内存数据库系统作为主要存储器。目前有多家供应商可以提供NVDIMM.我们使用AgigA Tech公司的产品对eXtremeDB进行了测试,因为我们非常熟悉AgigA公司的母公司——赛普拉斯半导体。同时我们把测试仅限于AgigA的NVDIMM(比如没有测试来自Viking Technology和Smart Modular Technologies公司的NVDIMM),这主要是因为我们的时间和资源非常有限。因此本文中提到的测试只是从概念上证明,内存数据库系统可以与NVDIMM一起作为存储器,达到与使用传统DRAM相当的性能,并且能够利用NVDIMM的恢复功能恢复由于系统故障“丢失的”内存数据库。
测试还解决了在同时要求低延时和数据可恢复性的应用中使用内存数据库系统时经常出现的另外一个问题,即采用事务日志记录的内存数据库系统在多大程度上能保持其性能优于基于磁盘的数据库管理系统?对于后面这些涉及永久存储器(内存数据库系统的事务日志存储,以及在采用磁盘上的数据库管理系统情况下的整个数据库)的测试,存储“设备”包含了用AGIGARAM NVDIMM配置的RAM盘。下面给出了使用RAM盘而不是传统硬盘或固态硬盘的理由。
测试中使用的AgigA Tech公司NVDIMM是设计用于Intel的Romley和Grantley平台(采用Sandy Brdige、Ivy Bridge、Haswell和Broadwell处理器架构)的。McObject在Intel Oak Creek Canyon参考主板中使用了4GB AGIGARAM DDR3-1600 NVDIMM,以及Intel奔腾双核CPU 1407 @ 2.8 GHz处理器和8GB的金士顿普通DDR3-1333 DRAM,运行的是Debian Linux 2.6.32.5操作系统。
测试应用程序执行5次数据库操作,每次循环构成一个数据库事务,并包含至少两个操作实例(见图2)。基准应用程序记录在两种数据库类型中的每一个(磁盘上的数据库管理系统和带事务日志的内存数据库系统,或“IMDS+TL”)和两种内存(NVDIMM和传统DRAM)情况下每毫秒完成的循环次数。测试应用程序使用了eXtremeDB自己的C/C++应用编程接口(API)。
数据库管理系统——曾经与商业应用、台式机和web应用几乎完全关联在一起——为了满足当今电子设备的需求而经过了长足的发展。设计师经常采用的内存数据库系统(IMDS)是在主存中存储记录,因此可以消除许多延时源,比如通过硬连线接进数据库管理系统的缓存和文件管理,这些源将数据永久存储在硬盘或闪存中(下图1显示了这些延时源)。因此与传统“硬盘上的”数据库管理系统相比,内存数据库系统的执行速度可以快好几个数量级。它们的设计也更简单,可以最大限度地减少对CPU周期的需求,进而允许使用更小功耗和更低成本的处理器。
图1:传统(磁盘上)数据库系统中的延时源。
然而,易失性有时是一个使人担心的因素。当发生断电或系统故障时,主存中的内容将消失。一些应用可以容忍这种风险。例如,存储在机顶盒中的基于RAM的电子节目指南在发生电源故障时会丢失,但利用有线电视头端或卫星接收机中的信息可以很快重建。然而,其它许多电子设备要求更高等级的数据库持久性和可恢复性。举例来说,一些医疗设备要求记录随时间变化的症状以支持临床决策——这些数据在发生电源故障时不能突然消失。网络路由器和交换机通常将配置数据永久地存储在闪存中。将这种配置数据保存在内存中也是有意义的,可以实现更快的重启——但数据需要是可恢复的。面临DRAM易失性挑战的还有“读取”指纹或脸部的扫描仪。为了允许或拒绝访问安全设施,扫描仪需要将这些数据与存储在设备上的内存数据库系统中的生物特征数据进行匹配。如果访问控制系统发生了故障,系统必须能够很快恢复。
应用例子:内存数据库系统和工业控制器
在工业控制系统中,在控制器中集成内存数据库系统可以支持‘扁平的’控制系统架构。数据在这种架构中存储和处理,一些控制决策在独立控制器层产生;而在相反(和传统)的层次化系统架构中,存储在控制器层的数据通常被限制用于控制变量。
内存数据库系统易失性解决方案
解决这种易失性问题已有相应的解决方案。以电池供电RAM形式出现的非易失性内存可以在系统断电时在DRAM芯片上保持数据不变,不过这种方法没有得到广泛普及,因为存在严格的温度要求、漏电流风险、有限的电池使用寿命和其它缺点。
内存数据库系统软件本身可以提供数据持久性机制。举例来说,借助事务日志功能,这种数据库系统可以在日志文件中创建一条条事务记录(对数据库进行的一组修改必须作为一个整体完成或失败),在发生故障后这些记录可以用来恢复数据库。但记录本身要求写入永久存储器,因此性能上会有些下降。
减轻易失性问题的另外一种内存数据库系统功能是数据库复制,即独立节点中的一个或多个备用内存数据库与主数据库保持同步。如果主节点失效,这些数据库的复制品之一将接替主节点的角色。虽然管理同步(和有可能发生的故障转移)的过程和节点之间的通信会引起一些延时,但同步可以很快发生。当复制品数量增加或节点间的物理距离增加时,性能成本也会增加。可以用不同的复制策略来管理延时。同步或“2-safe”复制方法要求数据库事务在复制节点和主节点上同时完成,而异步或“1-safe”复制方法允许事务在复制节点上完成之前提交给主数据库。异步方法提供更短的源保持时间,因此速度更快,但一致性和持久性差一些。
NVDIMMS:非易性RAM,无需电池
非易失性双列直插式内存模块或NVDIMM的出现增加了针对内存数据库持久性的一种新工具。NVDIMM采用标准记忆棒的形式,可插入现有的DIMM插座,因此简化了到现成平台的集成。通常它们包含标准DRAM、NAND闪存和超级电容电源。在正常工作时,这种技术提供了高速DRAM的性能。当发生断电事件时,超级电容提供的瞬时电能可用来将主存内容写入NAND闪存芯片,实现永久保存。当电源恢复时,NVDIMM将NAND闪存中的数据恢复到DRAM中。
对于内存数据库来说,NVDIMM的作用与电池供电型RAM是类似的,但没有后者所需的电池及其缺点。McObject公司以前就做过这方面的努力,其eXtremeDB内存数据库系统可以与电池供电型RAM一起工作。公司很想将使用NVDIMM的内存数据库系统作为主要存储器。目前有多家供应商可以提供NVDIMM.我们使用AgigA Tech公司的产品对eXtremeDB进行了测试,因为我们非常熟悉AgigA公司的母公司——赛普拉斯半导体。同时我们把测试仅限于AgigA的NVDIMM(比如没有测试来自Viking Technology和Smart Modular Technologies公司的NVDIMM),这主要是因为我们的时间和资源非常有限。因此本文中提到的测试只是从概念上证明,内存数据库系统可以与NVDIMM一起作为存储器,达到与使用传统DRAM相当的性能,并且能够利用NVDIMM的恢复功能恢复由于系统故障“丢失的”内存数据库。
测试还解决了在同时要求低延时和数据可恢复性的应用中使用内存数据库系统时经常出现的另外一个问题,即采用事务日志记录的内存数据库系统在多大程度上能保持其性能优于基于磁盘的数据库管理系统?对于后面这些涉及永久存储器(内存数据库系统的事务日志存储,以及在采用磁盘上的数据库管理系统情况下的整个数据库)的测试,存储“设备”包含了用AGIGARAM NVDIMM配置的RAM盘。下面给出了使用RAM盘而不是传统硬盘或固态硬盘的理由。
测试中使用的AgigA Tech公司NVDIMM是设计用于Intel的Romley和Grantley平台(采用Sandy Brdige、Ivy Bridge、Haswell和Broadwell处理器架构)的。McObject在Intel Oak Creek Canyon参考主板中使用了4GB AGIGARAM DDR3-1600 NVDIMM,以及Intel奔腾双核CPU 1407 @ 2.8 GHz处理器和8GB的金士顿普通DDR3-1333 DRAM,运行的是Debian Linux 2.6.32.5操作系统。
测试应用程序执行5次数据库操作,每次循环构成一个数据库事务,并包含至少两个操作实例(见图2)。基准应用程序记录在两种数据库类型中的每一个(磁盘上的数据库管理系统和带事务日志的内存数据库系统,或“IMDS+TL”)和两种内存(NVDIMM和传统DRAM)情况下每毫秒完成的循环次数。测试应用程序使用了eXtremeDB自己的C/C++应用编程接口(API)。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 众包数据库基本技术及主流系统分析比较 7次下载
- 数据库系统原理与应用教程之关系数据库的详细资料说明 4次下载
- 数据库系统的基础知识点详细概述 0次下载
- 数据库系统概论之如何进行关系查询处理和查询优化 11次下载
- 数据库系统概论之如何进行数据库编程的资料概述 13次下载
- 数据库系统概论之数据库管理系统详细资料概述 0次下载
- 数据库与数据库管理系统的30个知识点的详细资料概述 6次下载
- 系统分析用户指南(英文版) 0次下载
- 系统分析方法 0次下载
- 数据库系统辅助测试工具 22次下载
- 基于RTX的实时数据库系统关键技术研究 0次下载
- 数据库系统安全风险及安全策略 0次下载
- DCS仿真系统的内存-关系型数据库系统的构成
- DCS组态软件实时数据库系统的设计
- Oracle数据库系统应用实例集锦与编程 0次下载
- 单端口网络S参数测量系统分析 479次阅读
- 数据库分区、分库和分表 1954次阅读
- 互联网领域常见的数据库架构方案 1155次阅读
- MySQL数据库免安装版配置教程 1433次阅读
- 云数据库和自建数据库的区别及应用 4410次阅读
- 关于数据库安全技术的概述 1785次阅读
- 内存数据库系统全面解析 4140次阅读
- 基于嵌入式数据库的海量存储技术解析 2701次阅读
- 数据库入门书籍推荐 3.7w次阅读
- 数据库引擎是什么 1.1w次阅读
- oracle数据库应用领域 2.5w次阅读
- 医院SQL数据库系统语句优化 5218次阅读
- 目前流行的数据库_构建数据库系统的流程 7076次阅读
- 数据库的发展历史分为哪几个阶段_各有什么特点 4.1w次阅读
- 基于COM技术的SCADA系统数据库设计 2343次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多