资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式数据库的现状和未来1.嵌入式数据库产生及运用的必然性 l嵌入式系统在现代人的生活中随处可见,其中软件的比例 越来越大,软件开发的投入也越来越大。l 随着微电子技术和存储技术的不断发展,嵌入式系统 的内存和各种永久存储介质容量都在不断增加。这也就意 味着嵌入式系统内数据处理量会不断增加,那么大量的数 据如何处理问题变得非常现实。人们不得不将原本在企业 级运用的复杂的数据库处理技术引入到嵌入式系统当中去 ,应用于嵌入式系统的数据库技术也就应运而生。l但是,事情总是比想象复杂。在嵌入式的世界,无论是通 讯领域的嵌入式设备还是其它领域中,各种中间环节逐渐 设备化,成为独立的相对封闭的系统,对外留有接口。设 备中数据种类和处理方法有一定的共同规律也有自己的特 殊规律。这使得嵌入式数据库不能像企业级数据库那样几 乎是一个解决方案走遍天下,而是有着很大的差异性。同 时,也为嵌入式数据库的合理运用带来了挑战,这是嵌入 式数据库差异化的一个基本原因。l随着嵌入式系统的扩大,嵌入式产品的开发不再像过去那 样几个人就可以完成整个系统的开发,需要更多的人组成 团队进行合作。嵌入式软件的需求分析和品质管理也变得 越来越复杂,开发周期也逐渐拉长。为了解决这些问题, 引进第三方成熟的中间件或解决方案也变得非常现实。专 业的嵌入式数据库厂商也逐渐进入了人们的视野。因为, 运用成熟的嵌入式数据处理中间件可以降低开发成本、缩 短开发周期,使开发者能够将更多的精力放在业务逻辑的 处理上,而不用花大把的金钱和精力来处理数据,对整个 社会的资源也是一种节约。2.嵌入式数据库的基本特点l 按照马克思的哲学理论,事物发展的进程可以用螺旋 式上升来描述。嵌入式数据库和我们现在常见的企业级数 据库的基本关系也是一个螺旋上升式的关系。虽然,从名 字上看,二者有着太多的相似性,但却有着本质的根本性 的区别。外在的形式的相似性,并不能代表二者的实现方 式和运用方式的相似。恰恰相反,嵌入式数据库的实现和 运用方式和企业级的数据库有着很大的区别。l 在国外,嵌入式数据库已经发展了30多年,典型的代 表是Empress嵌入式数据库。它的特点也基本代表了现阶段 嵌入式实时数据库的基本特点。下面就介绍一下Empress嵌 入式数据库所具有的区别于企业级数据库的几个主要特点 。l l嵌入性是嵌入式数据库的基本特性。嵌入式数据库不仅可 以嵌入到其他的软件当中,也可以嵌入到硬件设备当中。 Empress的方法之一就是使数据库以组件的形式存在,并发 布给客户,客户只需要像调用自己定义的函数那样调用相 应的函数就可以创建表、插入删除数据等常规的数据库操 作。客户在自己的产品发布时,可以将Empress数据库编译 到自己的产品内,变成自己产品的一部分,最终用户是感 受不到数据库的存在的,也不用特意去维护数据库。l 实时性和嵌入性是分不开的。只有具有了嵌入性的数 据库才能够第一时间得到系统的资源,对系统的请求在第 一时间内做出响应。但是,并不是具有嵌入性就一定具有 实时性。要想嵌入式数据库具有很好的实时性,必须做很 多额外的工作。l比如:Empress实时数据库将嵌入性和高速的数据引擎、定 时功能以及防断片处理等措施整合在一起来保证最基本的 实时性。当然,不同的场合实时性要求比较高时,除了软 件的实时性外,硬件的实时性也是必须的,具体情况需要 有具体和切实的解决方案,不能一概而论。l 移动性是目前在国内提的比较多的一个说法,这和目 前国内移动设备的大规模应用有关。可以这么说,具有嵌 入性的数据库一定具有比较好的移动性,但是具有比较好 的移动性的数据库,不一定具有嵌入性。比如,一个小型 的C/S结构的数据库也可以运用在移动设备上,而具有移动 性。但这个数据库本身是一个独立存在的实体,需要额外 的运行资源,本质上讲和企业级数据库区别不大。所以不 具有嵌入性,也基本上不具备实时性。Empress是优秀的嵌 入式实时数据库,毫无疑问也是非常优秀的移动数据库。l l伸缩性在嵌入式场合显得尤为重要。首先嵌入式场合硬件 和软件的平台都是千差万别,基本都是客户根据需要自己 选择的结果。l 所以嵌入式场合的数据库必须能够支持非常多的平台 ,如Empress目前支持6000多种平台。同时,数据存储要支 持常见的存储设备,如CF/Flash/HD等。多进程和多线程是 必备的,现在的嵌入式系统已经远远不是当初的简单的编 程,代码量增大,功能日益复杂,所以必然要支持多线程 和多进程。C/C+和SQL接口的支持也是必备的,作为数据 库当然要有大家熟悉的SQL,但同时不要忘记嵌入式场合用 的最多的标准的C/C+接口。某种程度上说,嵌入式场合的 数据比企业级应用的数据还要复杂,所以要支持各种类型 的数据,如多媒体数据和空间数据等,要支持各种数据结 构,除了传统的关系型,还要能处理树状结构和网状结构 。l l当然,肯定要具备企业级数据库所具有的一些共性。比如 ,一致性是数据库所必需的特性。通过事务、锁功能和数 据同步等多种技术保证数据库内的各个表内的数据的一致 性,同时也保证数据库和其他同步或镜像数据库内数据的 一致性。安全性也是必不可少的。在保证物理信息本身的 安全的同时,也要保证用户私有信息的安全。3.80%和20%l 嵌入式的应用场合和通用PC或服务器架构上的应用有 着很大的不同。嵌入式系统中虽然也有不少的标准和组件 ,但种类繁多,环境千差万别,应用特殊化的地方非常之 多。所以在嵌入式场合无论成熟的产品和组件一般只能够 满足客户的80%的要求。余下20%的要求是需要产品提供方 和客户共同来努力解决的特化的部分。当然,每个行业都 有自己的特点,如果能够为某个行业提供完整的特殊化解 决方案,那么在同行业中特化的部分也就不会再有这么高 的比例。l 这些特殊化工作比较多,下面列举一两个:l l针对不同平台和环境的移植。虽然大部分操作系统都声称 支持标准的POSIX接口,但实际上要在上面高效运行实时的 嵌入式数据库还是比较困难的。有的实时性非常高的操作 可能还需要直接调用CPU的处理指令。所以最好在客户使用 嵌入式数据库之前,将数据库移植到客户的环境中去。对 于那些部分支持,或者不支持POSIX标准的操作系统就只能 做移植了。l 在客户平台上做出性能测试报告和优化。嵌入式场合 很多应用是非常苛刻的,所以必须保障嵌入式数据库在客 户的平台上能够达到客户要求的性能指标。最佳的评价方 就是嵌入式数据库的提供方在客户平台上做的性能测试报 告,并在必要的地方对数据处理方式进行优化。l l根据应用的要求实现个性化的功能。既然数据统一由数据 库引擎进行管理,那么许多特殊的功能在这一层实现是最 佳的选择。所以,嵌入式数据库进入一个新的行业以后, 都会产生一些新的应用构件。这些构件直接和引擎打交道 ,同时对用户层留有接口。l 这种差异化也导致了嵌入式数据库的技术支持变得比 较重要,厂家一般都会提供有偿或无偿的技术支持。l4.嵌入式数据库的分类l 嵌入式数据库的分类方法很多,可以按照嵌入的对象 不同分为:软件嵌入数据库、设备嵌入数据库、内存数据 库。也有人将它们粗略的分为:嵌入数据库、移动数据库 、小型的C/S结构数据库等。笔者更偏向于按照下面的方式 进行划分:l 小型C/S数据库。这种数据库其实是企业级数据库的一 个缩小版,缩小以后可以在一些实时性要求不高的设备内 运行。它只和操作系统有关,一般只能支持一些常见的移 动操作系统,如,Linux和WindowsCE系列。l 面向软件嵌入数据库。它将数据库作为组件嵌入到其 他的软件系统中。一般用在对数据库的安全性、稳定性和 速度要求比较高的系统中。这种结构资源消耗低,最终用 户不用维护数据库,甚至感受不到数据的存在。l l 面向设备嵌入数据库。它将关系型数据库嵌入到设备当 中去,作为设备数据处理的核心组件。这种场合要求数据 库有很高的实时性和稳定性,一般运行在实时性非常高的 操作系统当中。为了达到这些要求有的厂商采用关系型的 数据结构,有的采用非关系型的数据结构。有时候甚至直 接和硬件打交道。当然,这种结构在实时性要求不高的移 动场合更能够胜任。l 内存数据库。数据库直接在内存内运行,数据处理更 加高速,不过安全性等方面需要额外的手段来保障。l 当然,相同类型的嵌入式数据库肯定会有很多不同的 版本。如,Empress具有上述所有种类的嵌入式数据库,且 每种都有很多版本,就在一年前刚刚针对日本市场比较特 殊的操作系统iTRON开发了一个专用的嵌入式数据库版本。5.嵌入式数据库的构件l 嵌入式数据库包含的构件很多,不过大部分嵌入式数 据库包含的构件差别是不大的,以Empress嵌入式数据库为 例包括以下一些构件。l 用户接口级构件。这些构件主要是方便用户对数据库 进行操作和访问。如,标准的C语言应用程序接口( CKERNELAPI);标准的SQL语句(EMBEDDEDSQL);JDBC/ODBC 接口;数据流处理(DataStreaming)、网络处理( EmbeddedNetworkAPI)以及数据恢复处理( DataRecoveryAPI)等。l l应用级构件。该部分的构件包括一些主要应用所必需的构 件,当然随着应用的不同,构件也是可以裁剪和添加的。l 引擎级构件。主要包含事务处理(Transaction)、索 引(Index)、多进程/多任务(MultiProc/TaskAccess) 、可配置数据库内核(ConfigurableDatabaseKernel)、 断电恢复管理(PowerDownRecovery)和存储介质引擎( StorageEngine)。但具体的Empress产品中远不止这么多 。6.应用现状l 嵌入式数据库在国外已经有30年的历史,应用领域也 非常广泛,下面仅结合Empress嵌入式数据库的部分应用, 介绍一些大家感兴趣的领域。l 医疗领域l 北美和欧洲的一些著名的厂商利用Empress的数据库开 发过完整的电子病历系统,同时将数据库嵌入到医疗器械 当中。如,血液分析装置、乳癌的检测装置、医学图像装 置等。这样医疗系统的各个环节可以无缝地和各种医疗设 备进行数据交流,并轻松地处理这些设备送过来的数据信 息,在必要的时候共享给有权限查看的用户。l军事设备和系统l 一些著名的军事机构和全球著名的武器生产商将 Empress数据库运用到他们的系统控制装置、战士武器、军 舰装置、火箭和导弹装置中。这些场合用的数据库有很多 的安全设定和特化设定,基本上严格按照每个客户的技术 标准的要求来特化引擎级构件。具体的应用级的构件由客 户自己完成。l 地理信息系统l 地理信息包括的范围很广,在国外地理信息系统已经 发展了很多年,国内这几年也逐渐加大对地理信息系统方 面的投入。Empress在地理信息系统方面的应用非常广泛。 如,空间数据分析系统、卫星天气数据、龙卷风和飓风监 控及预测、大气研究监测装置、天气数据监测、相关卫星 气象和海洋数据的采集装置、导航系统等等。几乎涉及到 地理信息的方方面面。l工业控制l 工业控制的一个基本方式是一个反馈的闭环或半闭环 的控制方式。随着工业控制技术的发展,简单的数据采集 方式和反馈方式基本上很难满足要求。采用Empress嵌入式 数据库即能够进行高速的数据采集,也能够快速的反馈。 正因为如此,在一些核电站监控装置、化学工厂系统监控 装置、电话制造系统监控装置、汽车引擎监控装置及工业 级机器人中有广泛应用。l网络通讯l 随着互联网的发展,网络越来越普及,网络设备的处 理能力越来越强、各种要求也越来越高,运用嵌入式数据 库也成了必然趋势。我们现在日常见到的很多网络设备和 系统都已经使用了嵌入式数据库。Empress在一些企业内部 互联网装置、网络传输的分布式管理装置、语音邮件追踪 系统、VoIP交换机、路由器、基站控制器等系统中都有应 用。l 空间探索l 一些全球著名的机构将Emp
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号