• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 教育教学 > 正文

    嵌入式数据库系统的研究

    时间:2021-04-09 07:59:08 来源:达达文档网 本文已影响 达达文档网手机站

    【摘 要】本文阐述了嵌入式数据库的发展现状和未来发展方向,具体介绍了嵌入式数据库的主要特点,并对几种主流嵌入式数据库的优缺点进行了总结。

    【关键词】嵌入式数据库;SQLite;Berkeley DB;Empress

    引 言

    随着微电子技术和存储技术的不断发展,嵌入式设备的内存和各种永久存储介质容量都在不断增加。这也就意味着嵌入式系统内部数据处理量会不断增加,这样大量的数据如何处理的问题将变得非常现实。基于嵌入式系统本身的特点,那些体积庞大、延时较长的数据库技术不能满足其开发的需求,应用于嵌入式系统的数据库技术也就应运而生。

    一、嵌入式数据库及其研究现状

    嵌入式数据库通常是与嵌入式操作系统及具体的应用集成在一起,无需独立运行数据库引擎,由程序直接调用相应的API就可实现对数据的存取操作[1]。基于嵌入式数据库的应用可划分为水平和垂直两个方向[2]。所谓水平应用,是指应用方案能够用于多种不同行业,只需要极少的定制工作;而垂直应用则是针对特定行业的应用,数据处理具有独特性。

    目前,嵌入式数据库技术已经从研究领域向广泛的应用领域发展,各种嵌入式数据库产品纷纷涌现。尤其是对移动数据处理和管理需求的不断提高,并紧密结合各种智能设备的特点,嵌入式数据库技术已经得到了学术界、工业界、军事领域、民用部门等各方的重视,不断实用化。

    二、嵌入式数据库的特点

    嵌入式数据库是嵌入式系统的重要组成部分,也成为越来越多的个性化应用开发和管理采用的一种必不可少的有效手段。嵌入式数据库系统在某些方面与大型数据库系统相似,如保持数据的一致性、操作的原子性等。在模型上,嵌入式数据库可以是层次、网状或者关系数据库,甚至是面向对象的数据库。但与大型数据库系统相比,嵌入式数据库系统又具有不同的特点:

    1.嵌入性

    嵌入性是嵌入式数据库的基本特征。嵌入式数据库不仅可以嵌入到其他的软件当中,也可以嵌入到硬件设备当中。因此无论是在网络上不同计算机之间还是在同一台计算机的不同进程之间,数据库操作

    并不要求进程间通信,而且其对所有数据的操作都使用API接口,不需要对某种查询语言进行分析。

    2.实时性

    嵌入式设备一般都有实时性要求,因此嵌入式数据库也必须具有实时性。实时性和嵌入性是分不开的,

    只有具有了嵌入性的数据库才能够第一时间得到系统的资源,对系统的请求在第一时间做出响应。但是并不是具有嵌入性就一定具有实时性。要想使嵌入式数据库具有很好的实时性,必须做很多额外的工作。

    3.移动性

    移动性是目前在国内提的比较多的一个说法,这和目前国内移动设备的大规模应用有关。可以说,具有嵌入性的数据库一定具有比较好的移动性。

    4.互操作性和可移植性

    一般嵌入式数据库系统都是针对具体的开发平台和操作系统设计和实现的,但是嵌入式数据库必须能够保证能与其他的嵌入式数据库或者大型企业数据库进行信息共享,易于实现互操作。同时嵌入式系统的应用领域非常广泛,所采用的操作系统等软件和硬件环境也千差万别。为了适应这种差异性,嵌入式数据库系统必须具有一定的可移植性。

    5.裁剪性

    不同的嵌入式应用对嵌入式数据库系统的要求常常差别很大。一个嵌入式应用一般不会使用嵌入式数据库系统所提供的所有功能,又由于嵌入式系统的资源有限,因此,为了节省磁盘空间和提高效率,嵌入式数据库必须支持可裁剪性,这样开发人员才能够根据特定的应用定制嵌入式数据库的功能。

    三、几种常见的嵌入式数据库

    目前比较流行的嵌入式数据库有SQLite、Berkeley DB、Empress等几种,以下分别对这几种数据库进行分析。

    1.SQLite数据库

    SQLite的体系结构大体上可以分成八个子系统,如图1所示。对数据库进行的各种操作都是按照此顺序,逐一执行的。顶层是标记处理器(tokenize)和分析器(parser)。SQLite有自己高度优化的代码生成器,可以快速、高效地生产出代码。底部是经过优化的B树,这样有助于运行在可调整的页面缓冲上时,对磁盘的查找降低到最小。再往下是页面高速缓存,它作用在OS的抽象层之上,这样的体系结构使数据库的可移植性变为可能。

    该体系结构的核心是虚拟数据库引擎(VDBE)。VDBE完成与数据操作相关的全部任务,并且是客户和存储之间信息交换的中间单元。当SQL语句被分析后,VDBE便开始工作。代码生成器将分析树翻译成一个袖珍程序,随后这些袖珍程序又被组合成VDBE的虚拟机器语言表示的一系列指令。如此反复,VDBE执行每条指令,最终完成SQL语句指定的查询要求。

    SQLite有以下特性:1.支持ACID事务;2.零配置(无需安装和管理配置);3.全部数据存储在单一磁盘文件中的一个完整的数据库;4.数据库文件可以在不同字节顺序的机器间自由共享;5.支持数据库大小至2TB;6.开源,全部源码大致3万行C代码;7.比目前流行的大多数据库运行速度快,提供了对事务功能和并发处理的支持;8.应用Transaction既保证了数据的完整性,也会提高运行速度;9.独立、没有额外依赖。

    2.Berkeley DB数据库

    Berkeley DB是由sleepycat software开发的轻量级嵌入式数据库,它不仅适用于嵌入式系统,而且可以直接连接到应用程序内部,和应用程序运行在同一地址空间。Berkeley DB是软件开发库,开发者将它嵌入到应用程序中,应用程序本身就是一个服务器,而只是利用嵌入式数据库开发来实现定制的数据库逻辑,避免了与应用服务器进程间通信的开销,因此Berkeley DB具有较高的运行效率,适用于资源受限的嵌入式系统。

    一般而言,Berkeley DB数据库系统可以大致分为五个子系统[3],如图2所示。

    1)存取管理子系统(Access Methods)

    该子系统为创建和访问数据库文件提供基本的支持。在没有事务管理的情况下,该子系统中的模块可单独使用,为应用程序提供快速高效的数据存取服务。

    2)内存池管理子系统(Memory Pool)

    该子系统就是Berkeley DB所使用的通用共享内存缓冲区,该子系统可以被应用程序单独使用。

    3)事务子系统(Transaction)

    该子系统为Berkekey DB提供事务管理功能,保证操作的原子性、一致性和独立性。事务子系统适用于对需要事务保证的数据进行修改的场合。

    4)锁子系统(Locking)

    该子系统提供进程之间以及进程内部的并发管理机制,为系统提供多用户读取和单用户修改同一对象的共享控制。该子系统可以被应用程序单独使用。

    5)日志子系统(Logging)

    该子系统采用的是先写日志的策略,支持事务子系统进行数据恢复,保证数据一致性。

    3.Empress数据库

    Empress 数据库由加拿大 EMPRESS 公司于1979年推出, 当时是UNIX系统下的常用数据库, 也就是Empress RDBMS Suites版,后来推出其嵌入式版本 Empress Embedded/Empress Ultra Embedded,主要面向军工控制和航天领域,目前在北美、加拿大、日本有广泛的运用。

    Empress嵌入式实时数据库是基于知识和规则的关系型的稳定可靠的数据库系统,具有免维护、适应性强、模块化、全分布、多平台、易裁剪、可扩展和开放性强的优点,不仅可以处理文本数据,货币数据,时间数据等常规数据格式而且可以处理多媒体数据甚至是应用程序[8]。

    Empress能够基于操作系统的文件系统建立数据库,因此可以接受操作系统所允许的各种数据类型。所使用的编程接口包括Shell、批处理、C/C++、JAVA、ODBC、SQL、及报表生成器等。Empress多层的API接口既可保证底层的实时性的开发需要,又提供了方便的如ODBC,JDBC等上层开发接口,使其兼具了实时性和易用性。

    Empress嵌入式实时数据库可以运行于LINUX,QNX,UNIX,Windows等多种操作系统平台。多种平台上的数据库系统可以相互连接,使Empress具有良好的开放性。

    Empress 嵌入式实时数据库可以设置成多种不同的工作方式,以满足不同的商务模式需要。基本的模式分为:独立运行模式和客户端/服务器模式。其中独立运行模式不需要运行独立的Empress 数据库服务器,Empress的引擎库直接和应用程序连接。对于在同一地址空间中运行的嵌入式数据库的应用,独立运行模式是非常有吸引力的。这两种应用模式可以在同一操作统中同时使用。

    四、嵌入式数据库发展方向

    未来的世界是一个“普适计算”或“泛在计算”(Pervasive Computing 或 Ubiquitous Computing)的世界。“普适计算”的世界里有各种各样的设备(称为:计算节点),他们无时无刻地作为一个相对独立的单元参与整个世界的计算,能够满足人们日常生活的信息的需要。从某种意义上讲,“普适计算”也可以描述成嵌入式设备处理大量信息的计算。这正是嵌入式数据库诞生和发展的原动力,由此,也决定了嵌入式数据库的发展方向:

    1.数据库的安全性

    数据库的一大特点是数据可以共享,在未来的世界中数据共享会更加广泛和深入,而数据的共享必然会带来一些安全性问题。因此数据库必须能提供一定的安全策略来保护数据不受非法访问或恶意破坏。

    2.数据库的可靠性

    嵌入式数据库的应用越来越广泛,也越来越复杂,其功能已经从传统的添加、删除等操作向对声音、视频、三维或多维数据的存储、智能控制等方向发展,因此可靠性的提高也是至关重要的一环。

    3.数据库的智能化

    数据库存储的数据量的不断增加,导致数据库的管理与维护越来越难。如果能够实现数据库的智能化,使数据库产品不再仅仅是提供一般的数据存贮功能,而能提供从数据存贮到数据分析使用的整体解决方案,将大大方便数据库的管理与维护。

    五、结束语

    嵌入式数据库作为传统数据库管理技术的一个发展方向,使得计算无处不在成为可能,为数字化社会、数字化生活提供了坚实的技术保障。嵌入式数据库的可裁剪性使得其在实际的工程应用中更加灵活,也为研究人员更好地进行相关领域的科学研究提供了更大的研究空间。本文介绍了嵌入式数据库的研究现状,阐述了嵌入式数据库的基本特点,并对比分析了目前较流行的几种嵌入式数据库的优缺点,提出了嵌入式数据库的发展方向。

    参考文献

    [1]万玛宁,关永.嵌入式数据库典型技术SQLite和Berkeley DB的研究.微计算机信息,2006,22(1-2):2~3

    [2]史恒亮,白光一.嵌入式数据库的现状和发展趋势.计算机系统应用,2010,2(19):2~3

    [3]刘巍巍.徐成.嵌入式数据库Berkeley DB的原理与应用.科学技术与工程,2005,5(2):4

    [4]王少杰,王鸿健.基于ARM的嵌入式数据库的研究与应用.微计算机信息,2007,(29):3

    [5]Kyoung D K,Sin P H,Jisu O etal.A real-time database tested and performance evaluation.13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.2007:319~322

    [6]邱晶.安全嵌入式数据库中若干问题的研究与设计.硕士论文,2010.

    [7]陈亚峰,李瑞歌.嵌入式数据库及其应用研究.民营科技,2011(10)

    [8]侯德恒,贾伟峰.嵌入式数据库研究.软件导刊,2008,7(8):104~106

    相关热词搜索: 嵌入式 研究 数据库系统

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网