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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式软件设计开发
康一梅 kangyimei@
BeiHang College of Software
第九讲 嵌入式数据库
主要内容
9.1 概述 9.2 嵌入式数据库的分类 9.3 嵌入式数据库设计技术指标 9.4 嵌入式数据库管理系统设计 9.5 嵌入式数据库应用设计 9.6 几种嵌入式数据库
9.1.2.1 典型数据库系统体系结构
将用户的查询翻译 成内部形式,称作 查询计划
用户/应用 查询更新
查询编译器
事务命令
事务管理器
数据库管理员 数据定义 语言命令
DDL编译器
接受DLL命令,经过 索引、文件和记录管 理器来改变元数据。
将可利用的主存空 间分割成缓冲区, 用于存放数据。
查询计划
执行引擎
硬件平台
9.1 嵌入式数据库概述
9.1.3 嵌入式数据库系统发展现状
目前各种嵌入式数据库系统提供应用定制的方法主要有 编译法和解释法:
编译法:将应用所使用的数据管理操作固定在应用中,在应用生成 后。如果需要调整操作,参数也要重新生成。 解释法:将数据操作的解释器集成在应用中,生成后的应用对新的 操作也能够起作用。
9.1 嵌入式数据库概述
9.1.1 特 点 嵌入式(实时)数据库指事务和数据都可具备显式定时 限制的数据库管理系统。
与大型数据库相比,嵌入式数据库具有以下特点: 1.占用存储空间小 2.可靠性、可管理性和安全性 3.互操作性和可移植性 4.可剪裁性
9.1 嵌入式数据库概述
9.1.2 嵌入式数据库的体系结构
9.1 嵌入式数据库概述
9.1.3 嵌入式数据库系统发展现状
国外现状: Sybase 公司:Sybase SQL Anywhere Studio 7.0; Oracle 公司:Oracle Lite; IBM 公司:DB2 Satellite和DB2 Everyplace。
国内现状: 人民大学:金仓的“小精灵”系统; 东北大学:Open BASE Mini; 北京大学: ECOBASE。
对索引、文件 和记录的请求
索引、文件和 记录管理器
数据 缓冲区管理器 元数据
日志和恢复 缓冲区
并发控制 锁表
读页/写页
存储管理器
由管理员输入命令, 对命令进行分析,传 给执行引擎。
保证数据操作的原子 性、持久性
9.1 嵌入式数据库概述
9.1.2 嵌入式数据库的体系结构 9.1.2.2 嵌入式数据库系统体系结构
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。
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 server, desktop, remote office and mobile applications.
这些嵌入式数据库对资源要求较低,占用内存空间 较小,从几十K 到几百K 不等;支持C语言API函数和标 准SQL子集的开发接口,并提供了数据同步的功能。
9.1 嵌入式数据库概述
/TechHotspot/TH_embeddedDB.asp
9.1 嵌入式数据库概述
Sybase 公司:Sybase SQL Anywhere Studio
9.2 嵌入式数据库的分类
9.2.1 基于内存方式 (Main Memory Database System)
内存数据库是支持实时事务的最佳技术,本质特征 是以其“主拷贝”或“工作版本”常驻内存,即活动事 务只与实时内存数据库的内存拷贝打交道。
内存数据库要求较大的内存量,但并不是要求任何 时刻整个数据库都能存放在内存。传统数据库适用的数 据结构、事务处理算法与优化、并发控制及恢复等技术 对内存数据库不一定合适,需独立设计。
9.1 嵌入式数据库概述
东北大学:Open BASE Mini
OpenBASE Mini的成功推出 为嵌入式系统,提供了方便、可 靠的数据管理手段。它在如下的 领域中得到广泛的应用:
医疗、保险、零售、 金融、电信、军事
9.1 嵌入式数据库概述
北京大学: ECOBASE
/projects/ecobase/
9.2 嵌入式数据库的分类
9.2.1 基于内存方式 (Main Memory Database System)
eXtremeDB
1. 内存数据库,eXtremeDB将数据以程序直接使用的格式保存在主内存之中,不仅剔除了文件 I/O的开销,也剔除了文件系统数据库所需的缓冲和Cache机制。其结果是每个交易一微秒甚 至更少的极限速度,相比于类磁盘数据库而言,速度成百上千倍地提高。作为内存数据库, eXtremeDB不仅性能高,而且数据存储的效率也非常高。为了提高性能并方便程序使用,数 据在eXtremeDB中不做任何压缩,100M的空间可以保存高达70M以上的有效数据,这是其他 数据库所不可想象的。 2. 混合数据库,eXtremeDB不仅可以建立完全运行在主内存的内存数据库,更可以建立磁盘/ 内存混合介质的数据库。在eXtremeDB,我们把这种建立在磁盘、内存或磁盘+内存的运行模 式称为eXtremeDB Fusion融合数据库。eXtremeDB Fusion兼顾数据管理的实时性与安全性要求 ,是实时数据管理的台阶性进步。 3. 嵌入式数据库,eXtremeDB内核以链接库的形式包含在应用程序之中,其开销只有 50KB~130KB。无论在嵌入式系统还是在实时系统之中,eXtremeDB都天然地嵌入在应用程序 之中,在最终用户毫不知情的情况下工作。eXtremeDB的这种天然嵌入性对实时数据管理至 关重要:各个进程都直接访问eXtremeDB数据库,避免了进程间通信,从而剔除了进程间通 信的开销和不确定性。同时, eXtremeDB独特的数据格式方便程序直接使用的,剔除了数据 复制及数据翻译的开销,缩短了应用程序的代码执行路径。 4. 由应用定制的API,应用程序对eXtremeDB数据库的操作接口是根据应用数据库设计而自动 产生,不仅提升了性能,也剔除了通用接口所必不可少的动态内存分配,从而提高了应用系 统的可靠性。定制过程简单方便,由高级语言定制eXtremeDB数据库中的表格、字段、数据 类型、事件触发、访问方法等应用特征,通过eXtremeDB预编译器自动产生访问该数据库的 C/C++ API接口。 5. 可预测的数据管理, eXtremeDB独特的体系结构,保证了数据管理的可预测性。 eXtremeDB不仅更快、更小,而且更确定。在80双核CPU的服务器上,eXtremeDB在1TB内存 里保存15B条记录;无论记录数多少,eXtremeDB可以在八十分之一微秒的时间内提取一条记 录。
9.1 嵌入式数据库概述
东北大学:Open BASE Mini
技术特点: •具有微小内核结构,最小系统50K左右; •提供了对标准SQL的支持; •具有事务处理功能; •具有完善的数据同步机制,支持主动同步,支持 与异构数据源的同步,实现了冲突检测并提供了多 种冲突解决方案; •具有强大的系统管理工具,方便实现系统的建立 和管理; •提供了多种灵活的编程接口,便于嵌入式开发; •支持多种嵌入式操作系统,目前系统可以支持Win CE和Palm两种主流的嵌入式操作系统。
9.1 嵌入式数据库概述
金仓的“小精灵”系统
•支持低端产品:主要面向移动信息采集,处理终端, 户外工作等;由本地DBMS和简单的同步服务器构成
•支持高端产品:主要面向移动通讯、GPS的应用需求, 可适用于智能交通管理、军队指挥系统、消防、警察 等;由本地DBMS和支持事务一致性的同步服务器构 成支持信息电器的嵌入产品:具有极精简的嵌入 DBMS和因特网访问功能,广泛适用机顶盒、手机、 车载设备等
实时内存数据库的设计应打破传统磁盘数据库的设 计观念,考虑内存直接快速存取的特点,以CPU和内存 空间的高效利用为目的,来重新设计、开发各种策略、 算法、技术、方法和机制。
9.y Database System)
设有数据库 DB, ● DBM ( t) 是 t 时刻 DB 在内存中的数据集,
9.1 嵌入式数据库概述
数据库,人们为解决特定的任务,以一定的 组织方式存储在一起的相关的数据的集合。
实时 数据库
嵌入式 数据库
9.1 嵌入式数据库概述
嵌入式数据库,是指可在嵌入式设备中独立运行的一 种数据库系统,用以处理大量的、时效性强且有严格时序 的数据,它以高可靠性、高实时性和信息吞吐量为目标, 其数据的正确性不仅依赖于逻辑结果,而且依赖于逻辑结 果产生的时间。
/products/databasemanagement/sqlanywhere
9.1 嵌入式数据库概述
SQL Anywhere Sybase Anywhere - Mobile and Embedded Database
The industry-leading mobile and embedded database, providing data management and exchange technologies that enable applications for frontline environments.
SQL 接口
外壳 内核
API 接口
SQL 接口
数据库系统功能
事务模块
数据库基本功能
DataBase I/O
日志机制
缓冲机制 RAM表虚拟
FLASH 文件系统
文件
9.1 嵌入式数据库概述
9.1.3 嵌入式数据库系统发展现状
目前各种应用解决方案中,大多采用以下所示的体系结构:
应用程序 嵌入式数据库 嵌入式操作系统
9.2 嵌入式数据库的分类
9.2.1 基于内存方式 (Main Memory Database System)
eXtremeDB McObject公司的商业版嵌入式实时数据库。支持QNX、 VxWorks、WindowsCE、Linux、嵌入式Linux、Windows、 UNIX、Quodros。可运行于主内存中。 特点: 空间开销非常小:包括实时操作系统在内的总空间开 销为130K字节以内; 提供数据管理的关键功能:包括任务间协调、高速灵 活的导航并保证数据一致性; 高效率性:越过文件I/O及大量消耗CPU资源的缓存过 程,大大提高了eXtremeDB在数据管理时的效率; 自检:提供自检API极大地提高了用户研发的效率;
9.1 嵌入式数据库概述
金仓的“小精灵”系统
“小精灵”嵌入式移动数据库系统是由中国人民大学数据 与知识工程研究所、人大金仓信息技术有限公司自主开发。
技术特点: 核心精巧,占用内存小于100KB; 执行代码为100K~300K; 支持基本的SQL功能; 具有与远程数据库进行数据交换的 功能并保持数据同步; 与其它数据库(Oracle、Sybase、 SQL Server)数据交换; 具有可裁减性; 具有简单清晰的类ODBC的API; 支持多种平台HOPEN,WinCE, 嵌入式Linux。
9.1 嵌入式数据库概述
北京大学: ECOBASE
技术指标: •存储量:占用内存70KB; •运行工作空间:基本内核执行代码140KB; •支持的数据类型:int、numeric、float、decimal、 char、date、long; •支持基本的SQL功能包括:表的创建与撤消,不 带子查询的增删改查语句,支持事务的概念。
9.1 嵌入式数据库概述
东北大学:Open BASE Mini
OpenBASE Mini在最初的设计时就定位在易学、 易用、安全、标准的前提上。
•易学,使用户在具备了一定的数据库开发经验的 基础上只需要简单的学习就可以掌握OpenBASE Mini系统的开发; •易用,系统维护方便,系统各种操作简单; •安全,为用户提供了安全可靠的系统管理手段; •标准,支持目前国际通用的各种数据库标准,方 便系统的开发和移植。
相关文档
最新文档