第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt

上传人(卖家):晟晟文业 文档编号:4959432 上传时间:2023-01-28 格式:PPT 页数:91 大小:2.58MB
下载 相关 举报
第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt_第1页
第1页 / 共91页
第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt_第2页
第2页 / 共91页
第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt_第3页
第3页 / 共91页
第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt_第4页
第4页 / 共91页
第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、嵌入式软件设计开发嵌入式软件设计开发嵌入式软件设计开发嵌入式软件设计开发嵌入式软件设计开发嵌入式软件设计开发康一梅康一梅 第九讲 嵌入式数据库主要内容9.1 概述概述 9.2 嵌入式数据库的分类嵌入式数据库的分类 9.3 嵌入式数据库设计技术指标嵌入式数据库设计技术指标 9.4 嵌入式数据库管理系统设计嵌入式数据库管理系统设计9.5 嵌入式数据库应用设计嵌入式数据库应用设计9.6 几种嵌入式数据库几种嵌入式数据库9.1 嵌入式数据库概述 数据库,人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合。9.1 嵌入式数据库概述 嵌入式数据库,是指可在嵌入式设备嵌入式设备中独立运行独立

2、运行的一种数据库系统,用以处理大量大量的、时效性强时效性强且有严格时序严格时序的数据,它以高可靠性高可靠性、高实时性高实时性和信息吞吐量信息吞吐量为目标,其数据的正确性不仅依赖于逻辑结果,而且依赖于逻辑结果产生的时间。9.1 嵌入式数据库概述 9.1.1 特特 点点 与大型数据库相比,嵌入式数据库具有以下特点:1.占用存储空间小2.可靠性、可管理性和安全性3.互操作性和可移植性4.可剪裁性 嵌入式(实时)数据库指事务和数据都可具备显式定时限制的数据库管理系统。9.1 嵌入式数据库概述 9.1.2 嵌入式数据库的体系结构嵌入式数据库的体系结构 9.1.2.1 典型数据库系统体系结构由管理员输入命

3、令,对命令进行分析,传给执行引擎。将可利用的主存空间分割成缓冲区,用于存放数据。保证数据操作的原子性、持久性将用户的查询翻译成内部形式,称作查询计划接受DLL命令,经过索引、文件和记录管理器来改变元数据。9.1 嵌入式数据库概述 9.1.2 嵌入式数据库的体系结构嵌入式数据库的体系结构 9.1.2.2 嵌入式数据库系统体系结构9.1 嵌入式数据库概述 9.1.3 嵌入式数据库系统发展现状嵌入式数据库系统发展现状目前各种应用解决方案中,大多采用以下所示的体系结构:应用程序嵌入式数据库嵌入式操作系统硬件平台9.1 嵌入式数据库概述 9.1.3 嵌入式数据库系统发展现状嵌入式数据库系统发展现状目前各

4、种嵌入式数据库系统提供应用定制的方法主要有编译法和解释法:l编译法:将应用所使用的数据管理操作固定在应用中,在应用生成后。如果需要调整操作,参数也要重新生成。l解释法:将数据操作的解释器集成在应用中,生成后的应用对新的操作也能够起作用。9.1 嵌入式数据库概述 9.1.3 嵌入式数据库系统发展现状嵌入式数据库系统发展现状国外现状:Sybase 公司:Sybase SQL Anywhere Studio 7.0;Oracle 公司:Oracle Lite;IBM 公司:DB2 Satellite和DB2 Everyplace。国内现状:人民大学:金仓的“小精灵”系统;东北大学:Open BASE

5、 Mini;北京大学:ECOBASE。这些嵌入式数据库对,占用,从几十K 到几百K 不等;支持API函数和标准的开发接口,并提供了的功能。9.1 嵌入式数据库概述 9.1 嵌入式数据库概述 Sybase 公司:公司:Sybase SQL Anywhere Studio9.1 嵌入式数据库概述 SQL Anywhere Sybase Anywhere-and Database The industry-leading mobile and embedded database,providing data and technologies that enable applications for

6、frontline environments.SQL Anywhere provides data management and exchange technologies designed for database-powered applications that operate in frontline environments without onsite IT support.It offers enterprise-caliber features in a database that is easily embedded and widely deployed in,and.9.

7、1 嵌入式数据库概述 金仓的金仓的“小精灵小精灵”系统系统 “小精灵”嵌入式移动数据库系统是由中国人民大学数据与知识工程研究所、人大金仓信息技术有限公司自主开发。技术特点:u核心精巧,占用内存小于100KB;u执行代码为100K300K;u支持基本的SQL功能;u具有与远程数据库进行数据交换的功能并保持数据同步;u与其它数据库(Oracle、Sybase、SQL Server)数据交换;u具有可裁减性;u具有简单清晰的类ODBC的API;u 支持多种平台HOPEN,WinCE,嵌入式Linux。9.1 嵌入式数据库概述 金仓的金仓的“小精灵小精灵”系统系统支持产品:主要面向移动信息采集,处理终

8、端,户外工作等;由和简单的构成 支持产品:主要面向移动通讯、GPS的应用需求,可适用于智能交通管理、军队指挥系统、消防、警察等;由和支持事务一致性的构成支持信息电器的嵌入产品:具有极精简的嵌入DBMS和因特网访问功能,广泛适用机顶盒、手机、车载设备等 9.1 嵌入式数据库概述 东北大学:东北大学:Open BASE Mini OpenBASE Mini在最初的设计时就定位在易学、易用、安全、标准的前提上。,使用户在具备了一定的数据库开发经验的基础上只需要简单的学习就可以掌握OpenBASE Mini系统的开发;,系统维护方便,系统各种操作简单;,为用户提供了安全可靠的系统管理手段;,支持目前国

9、际通用的各种数据库标准,方便系统的开发和移植。9.1 嵌入式数据库概述 东北大学:东北大学:Open BASE Mini 技术特点:具有微小内核结构,最小系统50K左右;提供了对标准SQL的支持;具有事务处理功能;具有完善的数据同步机制,支持主动同步,支持与异构数据源的同步,实现了冲突检测并提供了多种冲突解决方案;具有强大的系统管理工具,方便实现系统的建立和管理;提供了多种灵活的编程接口,便于嵌入式开发;支持多种嵌入式操作系统,目前系统可以支持Win CE和Palm两种主流的嵌入式操作系统。9.1 嵌入式数据库概述 东北大学:东北大学:Open BASE Mini OpenBASE Mini的

10、成功推出为嵌入式系统,提供了方便、可靠的数据管理手段。它在如下的领域中得到广泛的应用:9.1 嵌入式数据库概述 北京大学:北京大学:ECOBASE9.1 嵌入式数据库概述 技术指标:存储量:占用内存70KB;运行工作空间:基本内核执行代码140KB;支持的数据类型:int、numeric、float、decimal、char、date、long;支持基本的SQL功能包括:表的创建与撤消,不带子查询的增删改查语句,支持事务的概念。北京大学:北京大学:ECOBASE9.2 嵌入式数据库的分类 9.2.1 基于内存方式基于内存方式(Main Memory Database System)内存数据库是

11、支持实时事务的最佳技术,本质特征是以其“主拷贝主拷贝”或或“工作版本工作版本”常驻内存常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。内存数据库要求较大的内存量,但并不是要求任何时刻整个数据库都能存放在内存。传统数据库适用的数据结构、事务处理算法与优化、并发控制及恢复等技术对内存数据库不一定合适,需独立设计。实时内存数据库的设计应打破传统磁盘数据库的设计观念,考虑内存直接快速存取的特点,以CPU和内存空间的高效利用为目的,来重新设计、开发各种策略、算法、技术、方法和机制。9.2 嵌入式数据库的分类 9.2.1 基于内存方式基于内存方式(Main Memory Database Syst

12、em)设有数据库 DB,DBM(t)是 t 时刻 DB 在内存中的数据集,DBM(t)真包含于 DB;TS为所有事务的集合,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。9.2 嵌入式数据库的分类 9.2.1 基于内存方式基于内存方式(Main Memory Database System)eXtremeDBMcObject公司的商业版嵌入式实时数据库。支持

13、QNX、VxWorks、WindowsCE、Linux、嵌入式Linux、Windows、UNIX、Quodros。可运行于主内存中。特点:空间非常:包括实时操作系统在内的总空间开销为130K字节以内;提供数据管理的:包括任务间协调、高速灵活的导航并保证数据一致性;率性:越过文件I/O及大量消耗CPU资源的缓存过程,大大提高了eXtremeDB在数据管理时的效率;:提供自检API极大地提高了用户研发的效率;eXtremeDB 1.内存数据库内存数据库,eXtremeDB将数据以程序直接使用的格式保存在主内存之中,不仅剔除了文件I/O的开销,也剔除了文件系统数据库所需的缓冲和Cache机制。其结

14、果是每个交易一微秒甚至更少的极限速度,相比于类磁盘数据库而言,速度成百上千倍地提高。作为内存数据库,eXtremeDB不仅性能高,而且数据存储的效率也非常高。为了提高性能并方便程序使用,数据在eXtremeDB中不做任何压缩,100M的空间可以保存高达70M以上的有效数据,这是其他数据库所不可想象的。2.混合数据库混合数据库,eXtremeDB不仅可以建立完全运行在主内存的内存数据库,更可以建立磁盘/内存混合介质的数据库。在eXtremeDB,我们把这种建立在磁盘、内存或磁盘+内存的运行模式称为eXtremeDB Fusion融合数据库。eXtremeDB Fusion兼顾数据管理的实时性与安

15、全性要求,是实时数据管理的台阶性进步。3.嵌入式数据库嵌入式数据库,eXtremeDB内核以链接库的形式包含在应用程序之中,其开销只有50KB130KB。无论在嵌入式系统还是在实时系统之中,eXtremeDB都天然地嵌入在应用程序之中,在最终用户毫不知情的情况下工作。eXtremeDB的这种天然嵌入性对实时数据管理至关重要:各个进程都直接访问eXtremeDB数据库,避免了进程间通信,从而剔除了进程间通信的开销和不确定性。同时,eXtremeDB独特的数据格式方便程序直接使用的,剔除了数据复制及数据翻译的开销,缩短了应用程序的代码执行路径。4.由应用定制的由应用定制的API,应用程序对eXtr

16、emeDB数据库的操作接口是根据应用数据库设计而自动产生,不仅提升了性能,也剔除了通用接口所必不可少的动态内存分配,从而提高了应用系统的可靠性。定制过程简单方便,由高级语言定制eXtremeDB数据库中的表格、字段、数据类型、事件触发、访问方法等应用特征,通过eXtremeDB预编译器自动产生访问该数据库的C/C+API接口。5.可预测的数据管理可预测的数据管理,eXtremeDB独特的体系结构,保证了数据管理的可预测性。eXtremeDB不仅更快、更小,而且更确定。在80双核CPU的服务器上,eXtremeDB在1TB内存里保存15B条记录;无论记录数多少,eXtremeDB可以在八十分之一

17、微秒的时间内提取一条记录。9.2 嵌入式数据库的分类 9.2.1 基于内存方式基于内存方式(Main Memory Database System)9.2 嵌入式数据库的分类 9.2.2 基于文件方式基于文件方式 文件型数据库是以为组织方式,数据被按照一定格式储存在磁盘里,使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读取。嵌入式数据库Pocket Access是文件型数据库,只要有一个文件就可以运行。9.2 嵌入式数据库的分类 9.2.3 基于网络的嵌入式数据库基于网络的嵌入式数据库 根据数据库和应用存放的位置,可将嵌入式数据库分为和数据库。9.2.3.1 嵌入式网络数据库系统 在

18、嵌入式网络数据库中,上。客户端,访问远程数据信息。实际上,嵌入式网络数据库是把功能强大的远程数据库映射到本地数据库,使嵌入式设备访问远程数据库就像访问本地数据库一样方便。嵌入式网络数据库主要包括:、和。9.2 嵌入式数据库的分类 9.2.3 基于网络的嵌入式数据库网络的嵌入式数据库 9.2.3.2 嵌入式网络数据库系统的特点 嵌入式网络数据库系统具有如下的特点:1.无需解析SQL语句;2.支持更多的SQL操作;3.客户端小,无需支持可剪裁性。4.有利于代码重用,可移植性强。目前,通过 GPRS/CDMA 的通信速度较慢,因此嵌入式网络数据库只应用于数据流量较小的领域。9.3 嵌入式数据库设计技

19、术指标9.3.1 嵌入式数据库设计的数据模型嵌入式数据库设计的数据模型 1.按照采集数据,数据分为:周期性和非周期性。2.按照数据状态,数据分为:连续数据对象和离散数据对象。3.按照数据来源,数据来源主要有三类:外部设备、用户输入和外部数据。9.3 嵌入式数据库设计技术指标9.3.1 嵌入式数据库设计的数据模型嵌入式数据库设计的数据模型 常见的嵌入式数据库有:关系型和面向对象型等数据模型。1.关系型模型 最常见的,最常用的数据模型。着重于整体的吞吐量和平均性能(不适合嵌入式实时系统),但改良数据库的索引机制和并发控制机制可以提高关系模型的实时性能。提供厂商提供厂商产品产品特点特点Empress

20、Empress RDBMS可运行在大多数嵌入式操作系统上,支持可运行在大多数嵌入式操作系统上,支持SQL和可编程接口和可编程接口MicrosoftMSDE一个向上兼容微软数据库的数据库引擎,一个向上兼容微软数据库的数据库引擎,具有有限的并发处理能力。具有有限的并发处理能力。PolyhedraPolyhedra支持支持SQL的客户端数据库引擎,可运行在的客户端数据库引擎,可运行在大多数的桌面、服务器和嵌入式系统平台大多数的桌面、服务器和嵌入式系统平台上。上。SybaseSQL Anywhere支持具有特定查询功能的支持具有特定查询功能的SQL数据库引擎,数据库引擎,可与可与Sybase的企业级数

21、据库同步。的企业级数据库同步。SolidSolid embeded提供对大多数服务器、嵌入式系统的数据提供对大多数服务器、嵌入式系统的数据库管理功能,具有库管理功能,具有ODBC、JDBC接口。接口。9.3 嵌入式数据库设计技术指标9.3.1 嵌入式数据库设计的数据模型嵌入式数据库设计的数据模型 2.面向对象模型 面向对象模型的基础是将一个对象的相关数据和代码封装为一个单元。一个对象和系统其余部分的所有交互都要通过消息来完成。理论上,面向对象模型比较适合嵌入式实时数据库,但目前向对象技术的数据库比较少。提供厂商提供厂商产品产品特点特点ObjectivityObjectivity DB支持支持C

22、+、JAVA,支持桌面和服务器,支持桌面和服务器操作系统。但目前不支持嵌入式系统,操作系统。但目前不支持嵌入式系统,且处理模型较复杂。且处理模型较复杂。PersistencePowerTier提供对大多数数据库的接口,支持提供对大多数数据库的接口,支持Java Beans和和C+。POET SoftwarePOET Object提供提供C+和和Java编程接口,以及对象一编程接口,以及对象一致性存储机制。致性存储机制。9.3 嵌入式数据库设计技术指标9.3.1 嵌入式数据库设计的数据模型嵌入式数据库设计的数据模型 3.其他数据模型 著名的嵌入式数据库Berkeley DB采用的数据模型,即不属

23、于关系型,也不属于面向对象型,采用key/data(关键值/数据)来区分数据。Berkeley DB类数据模型简单有效,适合于嵌入式数据库。KeyKeyDataDataFruitOrangeSportFootballDrinkWater提供厂商提供厂商产品产品特点特点Centura SoftwareRDM,db.linux开源,开源,RDM链接库和应用程序一同编译。链接库和应用程序一同编译。支持主流的嵌入式操作系统。支持主流的嵌入式操作系统。Free Software FoundationGdbm开源,提供对数据记录的简单开源,提供对数据记录的简单API接口,接口,不支持并发的读写访问控制。不

24、支持并发的读写访问控制。Sleepycat SoftwareBerkeley DB提供简单的可编程接口,可以按应用需提供简单的可编程接口,可以按应用需求对数据库进行配置。可运行在桌面、求对数据库进行配置。可运行在桌面、服务器和嵌入式操作系统上。服务器和嵌入式操作系统上。9.3 嵌入式数据库设计技术指标www.iapplianceweb .com常见的嵌入式数据库及其特性Berkeley DB厂商操作系统内存Sleepycat Software,Inc.Linux、QNX、Win95/98/NT/2k、VxWorks315KB(Full Package)网络连接同步安全性NoneNoneNone

25、API开发工具其他特性C/C+、Java、Perl、Tcl、PythonPortable to any development tools supporting the API languages B+tree、Hash、Fixed and Variable length record,and Persistent Queue access methods、transaction support、database recoverabilityBirdStep DataBase Engine 3.0 厂商操作系统内存Birdstep TechnologyEPOC、PalmOS、Linux、Ela

26、te、VxWorks、OSE、Win95/98/NT/2k/CE、FreeBSD、QNX60K(min.size)网络连接同步安全性ODBC、JDBCSyncML NoneAPI开发工具其他特性SQL、OLE-DB、ADO、JNI and JDBC、COM objects、C+、XML、Python WrapperBirdwalk、Visual C+XML DOM、XML parsing、Xpath、UnicodeCloudscape 厂商操作系统内存Cloudscape/InformixEPOC、Linux、AIX、Win98/NT/CE、Solaris、HP-UX、OS/400、Mac O

27、S2MB网络连接同步安全性JDBC、HTTP、HTTPSbi-directiona Data、One way Schema and applicationSigned JAR files、LDAP and NIS+、SSL support、DES 64-encryptionAPI开发工具其他特性JDBC、SQL-92、SQL-JCloudview、IBM VisualAge、Visual CafeTriggers、Autoreop-timization、Multico-lumn BTreeindexes、Transaction rollback and isolation、Multi-thre

28、ad connections、Referential IntegrityEmbedded Server厂商操作系统内存PointBase EPOC、Windows CE、Windriver VxWorks、PalmOS 800KB网络连接同步安全性JDBC、HTTPOne way,bi-directional,hub&spoke or P2P、Synchronizes with Oracle,IBM,DB2,MS SQLSQL Security&authentication;40/128-bit data encryptionAPI开发工具其他特性JDBC、SQL-92、SQL-99Visua

29、l Caf、Microsoft J+、IBM VisualAge、Inprise JBuilderRow-Level locking;Full Referential Integrity;Empress RDBMS厂商操作系统内存EmpressSolaris、Sun O/S、HP-UX、AIX、DigitalUNIX、IRIX、Win NT、Linux、SCO QNXLYNX RTOS800KB(min.size)网络连接同步安全性ODBC;JDBC Data ReplicationNoneAPI开发工具其他特性SQL、C/C+、FORTRAN、JDBC EmpHTML、EmpPerl、Emp

30、Tcl/Tk、JumpStart HTML Interface、Replication ServerEmpress RDBMS厂商操作系统内存Mobile EditionEPOC、Windows CE、Windriver VxWorks、PalmOS800KB 网络连接同步安全性JDBC、HTTPOne way bidirectional,hub&spoke or P2P;Synchronizes with Oracle,IBM,DB2,MS SQL SQL Security、40/128-bit data encryptionAPI开发工具其他特性JDBC、SQL-92、SQL-99Visu

31、al Caf、Microsoft J+、IBM VisualAge、Inprise JBuilderRow-Level locking;Full Referential IntegrityOracle8i Lite 厂商操作系统内存Oracle WinCE、PalmOS、EPOC32750MB(With all Functionality)网络连接同步安全性ODBC、JDBC、iConnect through NET8,HTTP,wireless and FTP Data Replication、Subquery Snapshots无无API开发工具其他特性SQL-92、SQLJ、OKAPI、

32、Java Access Classes、JDBCVisual C+、Windows CE emulation mode、Oracles JDeveloper,JBuilde、Visual Caf、Visual Basic、Delphi;OracleLiteDesigner/NavigatorWeb-to-go SDK Java Stored Procedures and Triggers;Java Servlet;Row-level locking;Web-to-go Application BuilderPolyhedra Real-Time Embedded Database厂商操作系统内

33、存PolyhedraWindows 98/NT/2k、LinuxSolaris、OSE、VxWorks-网络连接同步安全性ODBC、JDBC、HTTPMaster,Standby&Replicas modes of replicationSQL Security&authenticationAPI开发工具其他特性SQL;JDBC;OLE/DB;C/C+Callback;Generic Device Interface(GDI)Visual Basic;Visual C+Active Queries;Control Language scripting;Journal Control Proce

34、ss;Web Database Server;HistorianSOLID Embedded Engine 厂商操作系统内存Solid Information Technology Windows 95/98/NT/2k;Linux;VxWorks;Solaris;HP-UX;FreeBSD;ChorusOS;EPOC;Enea OS450KB(min.size)2MB(max.size)网络连接同步安全性ODBC、JDBCbi-directional无无API开发工具其他特性SQL-92;JDBCN/A Stored procedures and commands;Unions;Symmet

35、ric multi-processing;Triggers;Multithread processing SQL Anywhere 厂商操作系统内存Sybase Windows CE、PalmOS、VxWorks、DOS、EPOC50K(min.size)网络连接同步安全性ODBC、DBC、Sybase OpenClientMobilink synchronization through TCP/IP to any ODBC compliant database;Sybase SQL Remote through FTP or email;RiverBed ScoutSync;Palm Hot

36、Sync128-bit data encryptionAPI开发工具其他特性Embedded SQL;Transact-SQL;SQL-92;C+;JDBC Sybase PowerBuilder;Visual C+;CodeWarrior;Visual Basic;Delphi;Metrowerks;Tornado SQL and Java Triggers and Stored Procedures;Referencial and entity Integrity;cascading deletes and updates;SQL Server 2000 Windows CE Editio

37、n 厂商操作系统内存Microsoft Windows CE1MBWith all Functionality网络连接同步安全性Remote Data Access through HTTPMerge Replication;Remote Data Access128-bit data encryption during synchronization;RSA 128-bit data file encryption;Database password authenticationAPI开发工具其他特性Transact-SQL;ADOCE;OLEDBCEeMbedded Visual Tool

38、s 3.0;Platform Builder Full referencial Integrity;Cascading deletes and updates;DDL/DML;32 indexes per table;Nested transactionsSQLBase 7.5厂商操作系统内存Centura Win 9X,NT N/A 网络连接同步安全性ODBC;JDBC None Password Authentication;40-bit data encryption using cryptogram and DES API开发工具其他特性SQL;C/C+(DLL and linked)

39、;JDBC SQLBase Embedded Deployment Kit;Visual Basic Synonyms;Views;Stored procedures and Triggers;Nested selects;Unions;Referential Integrity TimesTen 4.3 厂商操作系统内存TimesTen Performance Software VxWorks 5MB 网络连接同步安全性ODBC N-way replication;P2P or cascading replicationClient/Server Authentication API开发工具

40、其他特性SQL;C/C+N/A SNNP events&alerts;In-Memory database;Checkpoints&Data Recovery 9.3 嵌入式数据库设计技术指标9.3.2 实时性实时性 嵌入式系统的任务有一定的实时限制,尤其是硬实时任务的截止期限必须明确保证,否则会给系统带来灾难性后果,或者有较大的副作用。而影响实时性的主要因素有四方面:1.数据和资源的冲突 2.事务间的相互依赖性 3.新事务的动态产生 4.磁盘数据 I/O9.3 嵌入式数据库设计技术指标9.3.3 可靠性可靠性 嵌入式系统可能需要在无人工干预的情况下运行,数据库系统必须能够实时检查运行状态,自

41、动识别和纠正错误,比如:某个事务运行失败时是否能用替代事务继续执行;由于缺少空间导致写失败,系统应该清除一部分空间以使写操作成功;如果网络连接失败,系统必须能透明地将客户机改道到其它连接等。9.3 嵌入式数据库设计技术指标9.3.4 并发控制并发控制 数据库的事务处理要遵循ACID。实时数据库要保证数据正确性,同时保证时间的一致性,其并发控制相对于传统数据库要更加复杂:1.很多情况可能会导致实时事务超出截止时限。2.并发控制中任务抢占机制可能导致事务读取的数据 时态上不一致。3.并发控制需要保证数据的完整性。4.当超载时,必然有某些事务不能在截止期内完成。原子性(Atomicaity)一致性(

42、Consistency)独立性(Isolation)持久性(Durability)(1)原子性 事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据修改操作要么全部执行,要么完全不执行。这种特性称为原子性。事务的原子性要求,如果把一个事务可看作是一个程序,它要么完整的被执行,要么完全不执行。就是说事务的操纵序列或者完全应用到数据库或者完全不影响数据库。这种特性称为原子性。假如用户在一个事务内完成了对数据库的更新,这时所有的更新对外部世界必须是可见的,或者完全没有更新。前者称事务已提交,后者称事务撤消(或流产)。DBMS必须确保由成功提交的事务完成的所有操纵在数据库内有完

43、全的反映,而失败的事务对数据库完全没有影响。(2)一致性 事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。一致性处理数据库中对所有语义约束的保护。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。例如,当数据库处于一致性状态S1时,对数据库执行一个事务,在事务执行期间假定数据库的状态是不一致的,当事务执行结束时,数据库处在一致性状态S2。(3)分离性分离性指并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。分离性是DB

44、MS针对并发事务间的冲突提供的安全保证。DBMS可以通过加锁在并发执行的事务间提供不同级别的分离。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。DBMS可以在并发执行的事务间提供不同级别的分离。分离的级别和并发事务的吞吐量之间存在反比关系。较多事务的可分离性可能会带来较高的冲突和较多的事务流产。流产的事务要消耗资源,这些资源必须要重新被访问。因此,确保高分离级别的DBMS需要更多的开销。(4)持久性持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,耐得住任何系统故

45、障。持久性通过数据库备份和恢复来保证。持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即对已提交事务的更新能恢复。一旦一个事务被提交,DBMS必须保证提供适当的冗余,使其耐得住系统的故障。所以,持久性主要在于DBMS的恢复性能。9.3 嵌入式数据库设计技术指标9.3.5 数据索引数据索引 基本的索引方式有两类,顺序索引和散列索引。适于嵌入式数据库的索引机制有:1.B+树索引 2.AVL树和T树索引 3.散列表索引9.3 嵌入式数据库设计技术指标9.3.6 查询优化查询优化 较好地解决移动环境中客户机频繁的断接性问题的方法有两种:客户缓存中存放的是数据库的一个副本,是整体数据库

46、的一个子集。在客户机断接的情况下,用户可以从客户缓存中查询到全部或部分数据。数据广播是将客户经常访问的热点数据以周期性广播的方式发送给客户机,即使是客户机处于断接情况下,同样可以收到服务器广播的数据。9.3 嵌入式数据库设计技术指标9.3.7 备份与恢复备份与恢复 嵌入式数据库中可以采用延迟的数据库修改策略,即采用REDO型日志。在系统中只需要记录两种类型的日志:更新记录的日志和记录事务处理有关的日志。检验点可以采用模糊检验点的策略。9.4 嵌入式数据库管理系统设计 考虑到与常规数据系统的兼容,嵌入式数据库可以采用标准的SQL92接口。子子 集集 元元 素素 =!=not and or ).变

47、量变量 数字数字 +-*/%IN ANY ALL BETWEEN LIKE IS NULL index database字符串字符串 逻辑逻辑 子查询子查询 集合集合 逗号逗号 creat insert delete update select9.4 嵌入式数据库管理系统设计嵌入式数据库管理系统的设计步骤如下:1.了解数据库将要运行的软硬件环境2.确定设计目标3.嵌入式数据库体系结构设计4.设计实施方案5.根据实现方案实施数据库系统的设计支持 SQL92 子集;支持索引;整个系统可移植性强;支持可剪裁性(模块化);向上兼容性;具有良好的实时性;系统具有微内核结构;系统占用的内存、磁盘空间较小。

48、物理层设计逻辑层设计用户接口层设计基本方案设计针对物理层结构的方案设计针对逻辑层结构的方案设计针对用户接口层结构的方案设计开发语言可剪裁性向上兼容性数据模型9.5 嵌入式数据库应用设计数据库应用设计分为几个阶段进行:1.分析和初始设计建立能够满足业务需求的系统设计为项目组所有成员建立公用的设计图2.建立数据库模型映射模型设计标准化3.优化数据库模型9.5 嵌入式数据库应用设计数据库应用设计分为几个阶段进行:4.数据库设计要注意以下几点:(1)主键不能为空;(2)域(属性类型);(3)多对多关联的实现;(4)一对多关联的实现;(5)面向对象设计时的一些问题;(6)不要用相同的属性来实现多个关联角

49、色。5.数据库的物理实现应重点考虑:(1)数据库大小;(2)数据库运行的环境;(3)数据的划分;(4)应用程序如何与数据库通信。9.6 几种嵌入式数据库9.6.1 非开源嵌入式数据库非开源嵌入式数据库9.6.1.1 Mini SQL Mini SQL 是一种小型关系数据库管理系统,占用资源少,由于是基于资源有限的嵌入式环境应用设计,所以不支持某些标准SQL的功能。9.6.1.2 OpenBASE Mini OpenBASE Mini具有微小内核结构,最小的应用系统可以达到50K左右;提供了对标准SQL的支持;具有事务处理功能等优点。支持Win CE和Palm OS。9.6 几种嵌入式数据库9.

50、6.1 非开源嵌入式数据库非开源嵌入式数据库9.6.1.3 Infoplus Infoplus是ASPEN公司设计的一款实时数据库实时数据库平台平台,可以通过该公司的Active控件与浏览器相连,在WEB上实时浏览查询数据库。Infoplus的核心是Setcim,具有透明的、开放式的访问全部、实时、历史和归档的数据的功能。Setcims具有极大的灵活性。基本数据结构可修改,或者用户可以重建自己的数据结构来满足需要,通过重建和修改,提供一种完全灵活的数据库性能。此外,Infoplus平台丰富的外层产品使得Setcim的功能异常强大。9.6 几种嵌入式数据库9.6.1 非开源嵌入式数据库非开源嵌入

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第九讲-嵌入式数据库-嵌入式软件设计开发-教学课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|