嵌入式内存数据库引擎的研究与设计

最新更新时间:2015-03-14来源: 互联网关键字:嵌入式  内存数据库引擎 手机看文章 扫描二维码
随时随地手机看文章
  1 嵌入式内存数据库技术发展的现状

  数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状、关系)型数据库在传统的(商务和管理的事务型)应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显得软弱无力,面临着新的严峻的挑战,由此而导致了嵌入式实时数据库的产生和发展。在实时应用中,事务在运行前的操作逻辑(操作类型、顺序等)、数据集及其结构、行为以及时间的相关性等都是可预分析的。然而,对磁盘数据库而言,数据的I/O 是造成事务执行时间不确定、预报不准确的关键因素。为此,要求以大内存作为实时数据库的主要存储介质,使一个事务在活动期间没有I/O, 以达到较准确的预报,从而满足实时事务的定时限制。但这要解决两个问题,就是适当的数据安置和适时的内外存交换。随着内存技术的高速发展,内存数据库技术日益成熟,在非实时系统中也得到了广泛的应用。

  内存数据库(MMDB)把数据库的主拷贝(即“工作版本”)常驻在内存,使系统性能得到了极大的提高。但是,由于所有操作直接作用于内存中的数据库主拷贝上,数据库极易受到操作系统和应用软件错误造成的破坏,而且,数据库恢复所包含的I/O 操作(如做日志、备份等)在事务运行不需要I/O 操作的内存数据库系统中也显得极为突出。因此,内存数据库的恢复机制对系统性能有重要的影响作用,内存数据库的恢复较之传统的磁盘数据库的恢复要复杂得多,也关键得多。数据恢复是内存数据库可靠、实用的关键,恢复技术的研究已成为MMDB 研究领域最热门的课题。

  2 内存数据库的定义

  内存数据库的定义不应涉及内存的大小、存取数据所需I/O 的多少、数据何时进入及怎样才能留驻内存等这些具体的实现技术,而只包含数据库常驻内存(而不是磁盘)、事务(不是系统)的数据存取只涉及内存的意思。其本质特征是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并不要求任何时刻整个数据库都能存放在内存,即内存数据库系统还是要处理I/O。传统的磁盘数据库即使缓冲区足够大,以致可以容纳所有数据也不能算是一个MMDB。因为它是针对磁盘特性、在数据库常驻磁盘的假定下设计的。例如,索引结构还是针对磁盘存取的,数据的存取仍必须经过缓冲区管理等。内存数据库的组织与管理要求新的适于内存特点的数据结构和算法,对于数据的组织与安置、数据库存取、内外存数据交换、查询处理及优化、并发控制及数据库恢复都需要研究新的策略与机制。

  内存数据库是一个较新的研究领域,结合各方面参考,现给出如下定义:

  定义:设有数据库DB,DBM(t)是t 时刻DB 在内存中的数据集,DBM(t)真包含于DB; T S 为所有事务的集合,A T(t)是t 时刻的活动事务集,A T(t)真包含于T S;D t(T)为T 在t 时刻的操作数据集,D t(T)真包含于DB;若在任一时刻t,均有:

  对任一事务有T∈A T(t),D t(T)真包含于DBM(t)成立,则称DB 为一个内存数据库,简记为MMDB 。

  按此定义,MMDB 的“工作版本”(当然也可以是整个数据库)常驻内存,任何一个事务在执行过程中没有内外存间的数据I/O。显然,它需要一定的内存容量,但并不要求整个数据库都必须常驻在内存。

  3 内存数据库的特点

  3.1 内存数据库数据存储的组织和管理一个MMDB的逻辑整体主要由两个部分构成,即内存版本与外存版本。 主存储器是易失内存,它存放MMDB的“工作版本”。它在逻辑上被划分为若干分区,一

  个分区用来存放一个关系的数据。每个分区又物理地由若干相互链接的块组成。一块是一个固定长度的连续区域,它是内外存I/O的单位,也是内存分配、回收以及对MMDB进行恢复的单位。索引与数据记录分离存放。

  NV-RAM(NO Vola tile RAM)兼有内存读写速度快和在后备电池维护的情况下非易失的特点,但价格昂贵,不便插拔,广泛用于嵌入式系统,并可与Flash-RAM配合使用,充当Flash-RAM 写缓冲区。NV-RAM是主存储器的拓延,目前可用UPS、固态磁盘或磁盘Cache等实现。主存数据与NV-RAM数据一起统称为MMDB的“内存版本”。

  磁盘存储器用来存放未在内存的那一部分数据库数据,同时也用作数据库恢复的备份,我们称之为“外存版本”。为便于实现内外存间的数据交换,可将磁盘数据在逻辑上划分为与内存块同样长度的定长块,建立相同类型的索引。

  3.2 事务处理

  当内存数据库用于非实时系统时,除了日志和系统恢复的具体方式跟传统数据库差异比较大以外,事务处理过程与传统数据库的事务处理相似;然而,当内存数据库用于实时系统时,既实时内存数据库中,事务处理由于受到了时间上的限制,传统数据库的事务处理已经不再适用。传统的“ACID” 的事务概念及模型对实时事务不适合。实时事务表现出了许多不同的特征,如实时性和相关性。虽然实时事务的正确性与传统事务一样,也包括数据库状态正确性和事务执行正确性两个方面,但其含义与内容有很大的不同。在实时事务中,数据库状态正确性包含内部一致性和时间一致性,事务执行正确性则包含其结果正确性、行为正确性、结构正确性和时间正确性等。事务调度也要采取相关的实时调度算法。本文中讨论的内存数据库引擎针对非实时系统。

  3. 3 系统恢复

  数据库的备份是数据库的副本以及一些控制信息,在出现故障的情况下,可以随时用它进行恢复。数据库备份最小化了数据丢失,能够让您使用恢复过程,从备份副本中重新构造失败的数据库。有多种类型的失败导致需要恢复数据库。其中包括语句失败、用户错误、进程失败、数据库实例失败、媒介失败等。但不是所有类型的失败都需要进行人工交互。但是,在内存数据库系统中,由于所有操作都直接作用于内存中的数据库主拷贝上,数据库极易受到操作系统和应用软件错误造成的破坏,因此MMDB的恢复技术如备份、检验点(Checkpoint)和重启动(restart)等都较常规的磁盘数据库(DRDB)复杂。人们从体系结构、事务提交、日志系统到备份、检验点算法等各个方面进行了大量的研究和探索。日志管理是内存数据库恢复机制中至关重要的一环。由于内存有易失性,日志最好保存于另一稳妥的介质上(如磁盘、非易失内存等),而对日志的I/O操作又将在某种程度上影响MMDB的性能,可能成为瓶颈影响系统的事务吞吐量。为此,人们研究了各种各样的解决办法,比如构造非易失内存用于保存部分日志;采用“成组提交”的技术,使用影子内存技术等来解决日志瓶颈问题。在检验点方面,为了提高系统效率,通常力图使检验点操作和事务处理同时进行。为了提高速度指标和综合性能,MMDB系统往往利用附加的硬件设备如非易失内存、专用的日志处理器、检验点处理器等来支持高效、快速的数据恢复。

  4 面向3G平台嵌入式内存数据库引擎的设计

  4.1 3G平台中数据库子系统整体架构

  4.1.1 数据库系统各功能模块在3G平台系统中的位置 3G软件平台包括图1所示的除OS和BSP外的6大软件子系统。

  

QQ图片20141229200509.png

 

          DataBase 子系统负责管理平台的物理资源和平台实现的信令、协议的配置信息,同时向其它子系统提供数据库访问接口。它工作于操作系统之上。 承载子系统向业务子系统、信令子系统、OAM和网管子系统提供ATM、IP、等方面的承载服务。它工作于操作系统和DataBase 子系统之上。 信令子系统实现窄带No.7 信令、宽带No.7 信令、IP信令、网关控制信令,向业务处理子系统提供服务。它工作于操作系统、DataBase子系统和承载子系统之上。 系统控制子系统负责对整个系统的监控、启动、版本下载等。它工作于操作系统和DataBase 子系统之上。

  OAM 和网管子系统提供平台与网管后台的统一接口,负责对平台的协议、信令进行配置和管理,以及提供必要的统计数据。它工作于操作系统、承载子系统、DataBase子系统之上。

  业务处理子系统实现系统提供的各种业务。它工作于操作系统、承载子系统、信令子系统、DataBase子系统之上。

  数据库子系统分布在3G 平台各处理器上。从结构上看数据库子系统属于分布式数据库系统;主要为平台各个子系统提供数据支持,并为将来其上的扩展业务提供支持易扩充机制的数据库模型。

  4.1.2 数据库子系统内部模块划分

  数据库子系统内部划分五大功能模块,支持数据来源为RAM、FLASH、硬盘特定格式以及商用数据库等多种介质。五大功能模块分别是:输入输出模块、对象管理模块、业务处理模块、维护管理模块及平台系统工具包。

  输入输出模块(I/O模块)负责完成整个平台所有与硬件介质相关的数据、装载、转储、存储空间管理等等相关功能。

  对象管理模块是整个平台的核心模块(DBCORE),完成主体功能,即对内存数据、表、索引、锁等等系列对象的核心组织功能,对整个系统的性能高低有决定性的影响。提供简易的内部并发控制手段。

  业务处理模块是针对数据库平台的用户提供的使用接口层,完成对内存数据库的访问服务。可以支持API 方式及类SQL 访问方式。支持分布式数据访问方式。 维护管理模块完成对整个平台系统的监控及管理,包括探针、告警、日志、实时业务跟

  踪、远程网络访问等等系列功能的实施。 平台系统工具包针对各模块均有完善的工具支持,具体如下: 介质层工具:各类特定介质的数据存储文件检索、修改、生成。 对象管理模块工具:根据对象属性区别性选择生成主体程序框架,若无特殊要求,生成

  的代码可直接用于对象管理。 I/O 模块工具:根据内存数据库分布模型,生成数据装载、转储及内存数据存储空间

  管理等框架代码;业务处理子系统工具,常规API 代码生成。 维护管理模块工具:接口跟踪、日志等输出文件的检索、管理工具。 其他:各类对象(表、索引……)设计及相关说明文档生成。

  4. 2 系统对象设计原理和处理流程 本子系统是按照面对对象的方法进行设计的,因此在叙述系统处理流程时以子系统的各个对象为主线,而同步流程和监控流程设计上有其自身特点,对它们的叙述以过程为主线。

  本子系统的数据分为数据表、索引、队列、同步实例、监控实例、单向资源队列六大类。其中数据表为数据库组织的核心,然后为数据定位的方便建立索引,为资源管理的方便建立了队列,出于数据同步的需要建立了同步实例,出于资源监控的需要,建立了监控实例,而单向资源队列作为辅助数据表和同步实例的内存管理之用。

  以上除单向资源队列外每一类数据都定义为系统的数据对象类,系统对于同一对象类的数据统一定义,统一管理。一个具体的数据对象称为某一数据对象类的数据实例。系统为表、索引、队列、同步、监控的所有数据实例统一分配唯一一个32 位整数加以标识,称为数据实例句柄。对数据实例的存取都是通过数据实例句柄进行的。采用这种方式的一个优点是数据管理的稳定性不随着数据实例的增加而变化,有利于系统的稳定。另一个优点是便于数据对象类的扩充,由于不同数据对象类别分别管理,数据对象类之间的独立性确保在扩充数据对象类后,不破坏原有数据的安全性。

  单向资源队列作为在表对象和同步对象内部使用的对象。没有统一分配句柄,相关的表通过保存单向资源队列对象的指针实现操作。

  5 小结:

  本文作者创新点是本文首先介绍了嵌入式内存数据库技术现状,然后简单介绍了内存数据库技术的特点等并提出了一个适用于3G平台的嵌入式内存数据库引擎,随着计算机技术的高速发展和人们对信息处理速度不断增长的需求,大容量的内存数据库和经过精简的嵌入式内存数据库将会有越来越大的应用空间。目前,还没有比较好的通用的嵌入式内存数据库产品,进行这方面的开发和实现将会有很大的市场潜力和空间。

关键字:嵌入式  内存数据库引擎 编辑:探路者 引用地址:嵌入式内存数据库引擎的研究与设计

上一篇:一种超小型超高频段RFID标签天线的设计
下一篇:内存数据库系统,NVDIMM和数据持久性

推荐阅读最新更新时间:2023-10-12 22:53

基于32位ARM嵌入式微控制器S3C2440来构建太阳跟踪系统
  基于计算机视觉原理,以ARM微控制器为核心构建嵌入式图像处理平台,实现了对太阳的实时跟踪。系统采用CMOS图像传感器采集太阳图像,通过微控制器计算太阳角度,通过串口控制转台,实现对太阳的高精度跟踪。同时,与视日运动规律相结合,保证系统的可靠性。试验表明,该系统在降低系统能耗的同时,能可靠有效地跟踪太阳运动。   随着社会的发展和进步,环保节能已经成为人类可持续发展的必要条件。目前,再生能源的开发和利用越来越受到人们的关注。太阳能由于其普遍、无害、无限、长久等特点,成为最绿色、最理想、最可靠的替代能源。但太阳能同时存在分散,不稳定,效率低等特点,太阳能光伏系统为解决这一问题提供了条件。   就目前的太阳能光伏系统而言,如何最
[单片机]
基于32位ARM<font color='red'>嵌入式</font>微控制器S3C2440来构建太阳跟踪系统
使用CompactRIO开发嵌入式高精度涡轮增压器性能检测系统
使用LabVIEW构建的用户界面 行业: 汽车 产品: LabVIEW, FPGA模块, 实时模块, NI 9476, NI 9423, NI 9265, NI 9217, NI 9203, NI 9211, NI 9425 挑战: 在安装前快速准确地检测车辆船只引擎涡轮增压器的性能。 解决方案: 与之前的解决方案相比,使用NI CompactRIO开发嵌入式涡轮增压器检测系统,提供更高的精度、准确性和稳定性。 "使用基于CompactRIO的全新检测系统替换PLC系统,从而可以节省空间并且提供更高的精度、分辨率和更优秀异的性能。" 船只的引擎功能很大程度上依赖于引擎涡轮增压
[测试测量]
使用CompactRIO开发<font color='red'>嵌入式</font>高精度涡轮增压器性能检测系统
基于嵌入式系统的RFID手持机系统设计
  RFID 手持机在交通运输、门禁、物流、考勤、货物管理、身份识别等方面有着十分广泛的应用。RFID 手持设备对电源的效率、使用寿命、可靠性、体积、成本等方面有较高的要求。因此,设计一个稳定性好、效率高、杂散小的电源对于RFID 手持机有着十分重要的意义。      1 RFID 手持机硬件结构      在基于嵌入式系统的RFID 手持机系统设计中,以微处理器LPC2142 为主控制器,根据系统的需求外扩了SRAM、Flash、SD 卡、键盘、LCD 显示、声响提示进行数据处理、数据存储、人机交互以及出错报警提示,通过USB 接口可以与主机进行数据通信,背光模块可以为LCD 和键盘提供背光,电压检测模块通过核心处理器的A/D 转
[网络通信]
飞机刹车模糊神经网络DSP嵌入式控制系统
    摘要: 对现有飞机刹车防滑系统的控制算法进行了改进,采用了神经网络的BP算法和模糊实时控制,并且数字信号处理器(DSP)在嵌入式系统中实现了神经网络算法。结果表明,飞机防滑刹车效率有了明显改进,鲁棒性增强。     关键词: 数字信号处理 飞机刹车系统 神经网络 模糊控制 飞机刹车系统是飞机上具有相对独立功能的子系统,承受飞机的动、静态载荷及着陆时的动能,实现飞机制动控制。 从20世纪40年代至今,飞机刹车系统已发展到第四代。第一代飞机刹车系统由离合开关调节压力来实现刹车控制;第二代用固定参考减速度为误差门限进行控制;1967年Hydro-Aire公司的第三代飞机刹车系统,以一定的滑移率为误差门
[嵌入式]
基于W3150A+的嵌入式Web服务器设计
引言     通过以太网进行传输已经成为一种经济、有效的数据传输方式。越来越多的工业测控设备需要配置网络接入功能,不仅需要通过以太网来实现各类设备间数据的传输,而且需要通过浏览器来实现人与设备的交互,从而对设备进行远程监测、远程控制、远程维护和管理。内嵌于设备的Web服务器可以提供统一的基于浏览器方式的操作和控制界面,界面直观易操作,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用,提高了现场监测和控制设备的管理水平。 1关键器件的选择     要实现Web服务器功能,需要一个可实现的TCP/IP协议栈,同时还需要一款与以太网的速度相匹配的高性能处理器。     W3150A+芯片是一款TCP/I
[嵌入式]
一种新的嵌入式移动数据库系统的设计
   0 引言   嵌入式技术已在人们生活中得到广泛应用,移动计算更是给人们的生活带来了极大的方便,由移动计算技术推动发展的新的数据库技术让人耳目一新。如嵌入式移动数据库就是随着各种移动设备、智能计算设备、嵌入式设备的发展而迅速发展起来。分析当前存在的各种嵌入式移动数据库系统的体系结构,我们考虑采用一种总体上采用组件方式设计、组件内部采用模块化方式设计的嵌入式移动数据库。    1 基本概念   模块化设计(Block-based design)就是指程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。
[测试测量]
一种新的<font color='red'>嵌入式</font>移动<font color='red'>数据库</font>系统的设计
基于Linux的嵌入式网络存储器设计
摘要:在简要介绍网络存储器硬件原理的基础上,详细说明软件平台的构建,并对不同网络、不同平台之间实现文件存储提出了相应的解决方法。 关键词:Linux 网络存储器 Samba NFS 随着现代信息社会的高速发展,各种类型的数据也呈几何指数级地增长,如何更有效、更方便、更完全地存取管理这些数据,成为人们关注的一个问题。新的网络存储技术的出现,给了人们一个很好的解决方案。它把存储设备直接连接到网络上,作为一个瘦的网络客户终端设备给用户提供网络存储服务,而且,Web技术的发展也为其方便、可靠的管理提供了技术保障。 1 硬件设计 硬件设计方框图如图1所示。 从图1可看到,除CPU单元以外,网络存储器的实现主要包括两个部分:I/O接
[嵌入式]
嵌入式WiFi芯片将会逐步扩大,2015年营收将达到5.9亿美金
        近期高通公司正式公布了Snapdragon S4处理器的细节,这是一颗高度集成的移动优化系统级芯片(SoC)。该处理器结合了业内领先的3G/4G移动宽带技术与高通公司自有的基于ARM的微处理器内核、强大的多媒体功能、3D图形功能和GPS引擎,此外还支持蓝牙和Wi-Fi的传输。高通公司表示,Snapdragon S4芯片不仅能够使设备更加省电,同时还可以提高Wi-Fi和蓝牙传输的可管理性。NPD In-Stat预计,随着高通Snapdragon S4的发布,一直致力于蜂窝技术与Wi-Fi技术的制造商将会快速跟进。NPD In-Stat估计Wi-Fi整合芯片的营收将会受到影响,而这种新型嵌入式芯片的市场将会得到较快
[手机便携]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved