跟着从通讯设备到航空配备和工业操控器等技能中对数据办理需求的不断添加,以及遭到这些设备中不断添加的板载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(比方没有测验来自VikingTechnology和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操作体系。