计算机软件及应用嵌入式软件基础数据库管理系统.pptx
《计算机软件及应用嵌入式软件基础数据库管理系统.pptx》由会员分享,可在线阅读,更多相关《计算机软件及应用嵌入式软件基础数据库管理系统.pptx(234页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、15.1 嵌入式数据库管理系统的概念与类型对于什么是嵌入式数据库管理系统目前并没有一个严格的定义,随着技术的发展对它还有可能产生新的认识。嵌入式数据库管理系统的作用虽然都是对嵌入式系统上的数据进行管理,但不同类型的嵌入式数据库管理系统所管理的数据对象的性质和嵌入式数据库管理系统的功能侧重点差别很大,因此有必要对各类嵌入式数据库管理系统的关键技术分别加以研究。第1页/共234页2什么是嵌入式数据库管理系统嵌入式数据库管理系统的定义嵌入式数据库管理系统与其他软件的关系 嵌入式数据库管理系统是一种对资源的要求相对有限的数据库管理系统。它与操作系统及应用软件集成在一起,固化在嵌入式计算机系统之上,可以
2、支持与嵌入式系统的专门用途密切相关的应用。第2页/共234页3什么是嵌入式数据库管理系统嵌入式数据库管理系统的定义嵌入式数据库管理系统与其他软件的关系 最底层是嵌入式操作系统。例如嵌入式Linux、Windows CE、VxWorks、Hopen等。嵌入式数据库管理系统一般需要嵌入式操作系统支持,只有极个别的嵌入式数据库管理系统可以在没有操作系统的条件下运行。第3页/共234页4什么是嵌入式数据库管理系统嵌入式数据库管理系统的定义嵌入式数据库管理系统与其他软件的关系 嵌入式数据库管理系统之上是各种具体的数据库应用程序。通过嵌入式数据库管理系统,嵌入式计算机系统中的数据库应用程序可以用不同的方法
3、去建立、修改和查询嵌入式数据库。嵌入式数据库管理系统可以对嵌入式数据库进行统一的管理和控制,在保证嵌入式数据库完整性的前提下进行高效的数据存取。第4页/共234页5嵌入式数据库管理系统的分类分类原则与主要类型各类嵌入式数据库管理系统的功能侧重点嵌入式数据库管理系统的分类结果具有多样性目前大多数嵌入式数据库管理系统都是基于关系模型实现的系统。如果以结构模型(关系结构、层次结构、网状结构)为分类原则,则不容易对现有的各种嵌入式数据库管理系统进行区分。因此在这里采用了一种以嵌入式数据库管理系统的功能侧重点为原则的分类方法。基于这种分类方法可以把嵌入式数据库管理系统分成嵌入式内存数据库管理系统、嵌入式
4、实时数据库管理系统以及移动数据库管理系统3大类。第5页/共234页6嵌入式数据库管理系统的分类分类原则与主要类型各类嵌入式数据库管理系统的功能侧重点嵌入式数据库管理系统的分类结果具有多样性嵌入式数据库管嵌入式数据库管理系统的类型理系统的类型处理的数据对象的性质处理的数据对象的性质功能的侧重点功能的侧重点嵌入式内存数据嵌入式内存数据库管理系统库管理系统离散、简单的数据离散、简单的数据数据库在内存的建数据库在内存的建立及管理立及管理嵌入式实时数据嵌入式实时数据库管理系统库管理系统连续的实时数据流连续的实时数据流数据的实时存储和数据的实时存储和处理处理移动数据库管理移动数据库管理系统系统远程数据远程
5、数据支持移动计算支持移动计算第6页/共234页7嵌入式数据库管理系统的分类分类原则与主要类型各类嵌入式数据库管理系统的功能侧重点嵌入式数据库管理系统的分类结果具有多样性然而在实际应用中,各类嵌入式数据库管理系统之间的界线有时并不很明显。嵌入式数据库管理系统的功能特征往往有交叉。例如,嵌入式实时数据库管理系统多数情况下是在内存数据库管理系统的基础之上建立的,移动数据库管理系统也可以是实时数据库管理系统。所以,以上的分类方法只是强调嵌入式数据库管理系统的主要特征。基于上述方法对嵌入式数据库管理系统进行分类时,得到的分类结果并不唯一。第7页/共234页85.2 嵌入式内存数据库管理系统嵌入式内存数据
6、库管理系统的功能侧重点是解决如何在内存中建立和管理数据库。它所处理的数据对象是离散、简单的数据。第8页/共234页9嵌入式内存数据库管理系统的定义嵌入式内存数据库管理系统与嵌入式实时数据库管理系统嵌入式内存数据库管理系统与内存数据库管理系统什么是嵌入式内存数据库管理系统在一定程度上嵌入式内存数据库管理系统可以认为是内存数据库管理系统在嵌入式系统上的实现。我们对它可以给出如下的定义:嵌入式内存数据库管理系统是运行在嵌入式系统上,可将数据库的主拷贝或工作版本驻留在内存中,依据内存地址对其进行访问和管理的数据库管理系统。数据库的主拷贝或工作版本常驻内存是嵌入式内存数据库的本质特征。第9页/共234页
7、10嵌入式内存数据库管理系统的定义嵌入式内存数据库管理系统与嵌入式实时数据库管理系统嵌入式内存数据库管理系统与内存数据库管理系统什么是嵌入式内存数据库管理系统从实际产品的角度看,嵌入式内存数据库管理系统和嵌入式实时数据库管理系统这两个概念之间有很大的交集。可以说所有的嵌入式实时数据库管理系统都是以嵌入式内存数据库管理系统为基础,但并不是所有的嵌入式实时数据库管理系统都是纯粹的内存数据库管理系统。有很多嵌入式实时数据库管理系统在运行时是采用内外存结合的两级存储模式。第10页/共234页11嵌入式内存数据库管理系统的定义嵌入式内存数据库管理系统与嵌入式实时数据库管理系统嵌入式内存数据库管理系统与内
8、存数据库管理系统什么是嵌入式内存数据库管理系统嵌入式内存数据库管理系统也不一定是嵌入式实时数据库管理系统。嵌入式实时数据库管理系统的本质特征是能在确定的时间限制内对数据操作请求给与响应和处理。即使是把数据库的工作版本放在内存之中,如果在数据存取管理、事务并发控制等方面没有采用某些适当的技术措施也不能保障数据库管理系统总是能“实时”地响应和处理数据操作请求。可能会出现在大多数情况下对数据操作请求能很快地给与响应,但在个别情况下响应时间会超过用户期望的现象。第11页/共234页12嵌入式内存数据库管理系统的定义嵌入式内存数据库管理系统与嵌入式实时数据库管理系统嵌入式内存数据库管理系统与内存数据库管
9、理系统什么是嵌入式内存数据库管理系统嵌入式内存数据库管理系统和内存数据库管理系统是两个不同的概念。各种专门于存储和处理实时数据的内存数据库管理系统对系统资源的要求很高,原本就是针对通用计算机开发的,不属于嵌入式软件的范畴。Oracle公司的TimesTen、韩国Altibase公司的Altibase就是这类内存数据库管理系统的典型代表。第12页/共234页13嵌入式内存数据库管理系统的应用嵌入式内存数据库管理系统的适用场合嵌入式内存数据库管理系统应用举例嵌入式内存数据库管理系统的应用范围相对有限嵌入式内存数据库管理系统适用于需要频繁进行数据存取的嵌入式系统。在这种嵌入式系统中使用嵌入式内存数据
10、库管理系统一方面可以提高应用软件的开发效率,另一方面可以缩短数据的访问时间,提高应用软件的运行效率。第13页/共234页14嵌入式内存数据库管理系统的应用嵌入式内存数据库管理系统的适用场合嵌入式内存数据库管理系统应用举例嵌入式内存数据库管理系统的应用范围相对有限电子节目菜单是IPTV机顶盒中的一个很常用的应用软件。通过电子节目菜单,IPTV机顶盒的用户可以选择自己喜欢的频道,点播自己喜欢的节目。由于电子节目菜单软件需要保存和查询大量的节目信息,所以开发它的时候使用嵌入式内存数据库管理系统很合适。在相同的硬件条件下,可以使节目的信息量扩大很多,查询节目的速度也可以有所提高。第14页/共234页1
11、5嵌入式内存数据库管理系统的应用嵌入式内存数据库管理系统的适用场合嵌入式内存数据库管理系统应用举例嵌入式内存数据库管理系统的应用范围相对有限但是单纯的嵌入式内存数据库管理系统与嵌入式实时数据库管理系统和移动数据库管理系统相比应用范围比较有限。因为既不具有实时处理能力,也不支持移动数据处理的数据库应用系统,在使用效果上与仅具备数据存储、搜索功能的应用系统差别不大,与利用文件系统实现的数据存储和查询系统相比,功能的优势不明显,往往可以被利用文件系统实现的应用软件所替代。第15页/共234页16嵌入式内存数据库管理系统与移动数据库管理系统不同,它完全是一个单机运行的数据库管理系统。因此它除了对嵌入式
12、计算机的硬件和软件有一定要求之外,网络环境没有要求。第16页/共234页17嵌入式内存数据库管理系统的运行环境1.硬件环境2.软件环境嵌入式内存数据库管理系统通常需要在处理能力较强处理器上面运行,例如MIPS、x86、PowerPC、ARM9等。但也有个别的嵌入式内存数据库管理系统可以在8051系列的单片机这种处理能力相对较弱的处理器上面运行。嵌入式内存数据库管理系统本身一般要占几百K的内存空间。例如,金派克公司研发的FineDB In-Memory需要约400K的空间。存储数据所需的内存空间则取决于数据量的大小。第17页/共234页18嵌入式内存数据库管理系统的运行环境1.硬件环境2.软件环
13、境嵌入式内存数据库管理系统在实现其功能时一般要依赖于嵌入式操作系统的某些系统调用,所以嵌入式内存数据库管理系统需要有操作系统的支持。多数的嵌入式内存数据库管理系统都可以提供若干种操作系统平台供用户选择,某些系统甚至可以在十余种嵌入式操作系统上面运行。第18页/共234页19几种典型的嵌入式内存数据库管理系统1.FineDB In-Memory2.eXtremeDB3.SolidDB第19页/共234页20几种典型的嵌入式内存数据库管理系统1.FineDB In-Memory2.eXtremeDB3.SolidDB金派克公司研发的FineDB In-Memory是一个比较典型的嵌入式内存数据库管
14、理系统。它将所管理的全部数据放在内存之中,这样极大地缩短了数据的访问时间,与在磁盘文件中存储数据的数据库管理系统相比,数据访问时间缩短了数十倍以上。FineDB In-Memory自身约占400K左右的空间。它所管理的数据库理论上最大可达2GB。第20页/共234页21几种典型的嵌入式内存数据库管理系统1.FineDB In-Memory2.eXtremeDB3.SolidDBMcObject公司的推出eXtremeDB是一个具有实时数据处理能力的内存数据库管理系统。所以它即是一个嵌入内存数据库管理系统,也是一个嵌入实时数据库管理系统。第21页/共234页22几种典型的嵌入式内存数据库管理系统
15、1.FineDB In-Memory2.eXtremeDB3.SolidDBSolidDB是Solid公司研发的一个嵌入内存数据库管理系统。该系统可以在VxWorks等操作系统的支持下运行。第22页/共234页235.3 嵌入式实时数据库管理系统嵌入式实时数据库管理系统的功能的侧重点是解决如何实时地存储和处理数据。它所处理的数据对象是连续的实时数据流。第23页/共234页24什么是嵌入式实时数据库管理系统嵌入式实时数据库管理系统的定义及其特点嵌入式实时数据库管理系统的主要功能嵌入式实时数据库管理系统是一种可在嵌入式系统上运行的实时数据库管理系统。一方面,它的结构必须很精简,能够适应嵌入式系统内
16、存较小,CPU处理能力较低的特点。另一方面,它有很强的实时性能,可以保证数据操作请求可以在限定的时间内完成。对于嵌入式实时数据库管理系统来说,数据的正确性不仅依赖于逻辑结果,也依赖于逻辑结果产生的时间。但嵌入式实时数据库管理系统在数据吞吐量、交互方式等方面没有很高的要求。第24页/共234页25什么是嵌入式实时数据库管理系统嵌入式实时数据库管理系统的定义及其特点嵌入式实时数据库管理系统的主要功能嵌入式实时数据库管理系统可以认为是一个增强了实时处理能力的内存数据库管理系统。它除了和嵌入式内存数据库管理系统一样要管理物理内存之外,还要在并发控制机制等方面采用专门的技术,以使数据库管理系统能“实时”
17、地响应数据请求。一个嵌入式实时数据库管理系统一般需要提供以下各种功能:存储空间管理、数据存取管理、数据安全性控制、事务并发控制、运行日志管理、实时数据转储、数据恢复。第25页/共234页26嵌入式实时数据库管理系统的应用嵌入式实时数据库管理系统的适用场合嵌入式实时数据库管理系统应用举例嵌入式实时数据库管理系统的作用是解决大量的、有严格时间要求的数据的处理问题。支持这类数据的存储和快速查找。第26页/共234页27嵌入式实时数据库管理系统的应用嵌入式实时数据库管理系统的适用场合嵌入式实时数据库管理系统应用举例有许多的应用系统,例如过程控制系统、电网监测系统、智能交通管理系统、网络管理系统等,都需
18、要实时地采集系统运行中的数据并加以处理,以达到对系统进行控制和管理的目的。这些应用系统有这样的共同特点:一方面要维护大量的共享数据,另一方面数据的采集和处理有很强的时间性,要求在一定的时间期间内采集数据,存储采集到的数据,并处理它们,然后根据处理的结果及时地作出响应,否则系统就会失败甚至带来灾难性的后果。同时,它们所处理的数据往往是“短暂”的,即只在一定的时间范围内有效,超过这个时间范围则毫无意义。对于这样一些量很大,时间性很强的数据,仅基于嵌入式操作系统的文件系统已经很难进行存储和管理。因此就产生了对嵌入式实时数据库管理系统的需求。第27页/共234页28嵌入式实时数据库管理系统的应用嵌入式
19、实时数据库管理系统的适用场合嵌入式实时数据库管理系统应用举例发电机监控装置是一个用于保障发电机正常运行的嵌入式系统。它需要实时地采集发电机运行过程中的各种数据,记录下来形成一个运行日志,并依据采集到的数据进行一定的计算后,然后判断发电机的运行是否正常,如果出现异常,则及时地采取处理措施。上述过程必须依照一定的频率反复地执行。从发电机监控装置的工作过程中可以看出,它是一个典型的需要对大量数据进行实时存储和处理的嵌入式系统。在发电机监控装置中采用嵌入式实时数据库管理系统会显著地提高它存储和处理数据的能力。第28页/共234页29嵌入式实时数据库管理系统的运行环境嵌入式实时数据库管理系统本身虽然是一
20、个单用户的数据库管理系统,但很多嵌入式实时数据库管理系统需要将历史数据存储到远程计算机上,一些数据触发的事件也需要向远程计算机发出通知消息并等待响应,而后做出处理。这使得嵌入式实时数据库管理系统的运行环境除了对硬件和软件有要求之外,对网络通信能力也有一定要求。第29页/共234页30嵌入式实时数据库管理系统的运行环境1.硬件环境2.软件环境3.网络环境嵌入式实时数据库管理系统对CPU的处理能力有一定要求,但目前常用的嵌入式微处理器都可以支持嵌入式实时数据库管理系统的运行。例如MIPS、x86、PowerPC、ARM9等。嵌入式实时数据库管理系统本身所占的空间最小可以到几十K字节,例如McObj
21、ect公司eXtremeDB只需要50K字节的存储空间就可以运行。第30页/共234页31嵌入式实时数据库管理系统的运行环境1.硬件环境2.软件环境3.网络环境嵌入式实时数据库管理系统在实现其功能时一般要依赖于嵌入式操作系统的某些系统调用,所以嵌入式实时数据库管理系统需要有操作系统的支持,但也有个别嵌入式实时数据库管理系统可以在无操作系统的环境中运行。第31页/共234页32嵌入式实时数据库管理系统的运行环境1.硬件环境2.软件环境3.网络环境在需要向远程计算机发送历史数据或通知消息的时候,嵌入式实时数据库管理系统还需要它所运行的嵌入式计算机能够支持网络通信。在实际应用中使用较多的是以太网和R
22、S-232串行接口。第32页/共234页33嵌入式实时数据库管理系统的主要功能嵌入式实时数据库管理系统的作用是对实时数据进行组织和管理。它应当提供存储空间管理、数据存取管理、数据安全性控制、事务并发控制、运行日志管理、实时数据转储、数据恢复管理等几方面的功能。第33页/共234页34嵌入式实时数据库管理系统的主要功能1.存储空间管理2.数据存取管理3.数据安全性控制4.事务并发控制5.运行日志管理6.实时数据转储存储空间管理的任务是对用于存储数据的存储空间进行分配和回收。嵌入式实时数据库管理系统采用的存储空间管理技术可分为两种。一种是纯内存结构的技术,另一种是两级结构的技术。纯内存结构的嵌入式
23、实时数据库管理系统在初始化时把数据从外存装入到内存之中后,在运行过程中不再访问外存,完全依据内存地址对数据进行管理。两级结构的嵌入式实时数据库管理系统需要统筹管理内存和外存。内存存取速度快,应当尽可能地保证所有实时数据或当前工作需要的数据被放在内存中。读写外存时需要进行输入/输出操作,存取速度较慢,因此,可以把那些固定不变的数据或存取频率相对较低的数据放在外存中。第34页/共234页35嵌入式实时数据库管理系统的主要功能1.存储空间管理2.数据存取管理3.数据安全性控制4.事务并发控制5.运行日志管理6.实时数据转储数据存取管理的作用是保证能够在数据库中快速地找到用户要访问的数据。这一任务可以
24、通过建立某种结构的索引来完成。嵌入式实时数据库管理系统在建立索引时需要考虑相互矛盾的两个问题。一方面由于在嵌入式实时数据库管理系统中数据的查找及更新相当频繁,所以其索引应当能精确指出每个数据在存储空间中的位置,以加速各种操作的执行速度。另一方面索引本身的开销也是嵌入式实时数据库管理系统不得不考虑的问题。因此嵌入式实时数据库管理系统必须对时间的开销和空间的开销加以平衡,建立一种能够快速定位,并节省存储空间的索引机制。第35页/共234页36嵌入式实时数据库管理系统的主要功能1.存储空间管理2.数据存取管理3.数据安全性控制4.事务并发控制5.运行日志管理6.实时数据转储在普通的数据库管理系统中,
25、索引通常采用顺序、B树、AVL树等结构。顺序结构的优点是存取方便,但不便于动态维护,进行插入删除等操作时需要移动大量的数据。B树和AVL树结构的索引虽然灵活,但都有索引本身占用存储空间过大的问题。因此顺序、B树、AVL树结构的索引对嵌入式实时数据库管理系统来说都不是最佳的选择。第36页/共234页37嵌入式实时数据库管理系统的主要功能1.存储空间管理2.数据存取管理3.数据安全性控制4.事务并发控制5.运行日志管理6.实时数据转储针对嵌入式实时数据库管理系统的特点,已经有人提出了多种比较适用的索引结构。比如T*树和不平衡B树等。T*树是一种改进的T树结构,它比AVL树和B树具有更高的空间利用率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 应用 嵌入式 软件 基础 数据库 管理 系统
限制150内