嵌入式数据库的现状和未来具体分析
时间:07-15
来源:
点击:
3.80%和20%
嵌入式的应用场合和通用PC或服务器架构上的应用有着很大的不同。嵌入式系统中虽然也有不少的标准和组件,但种类繁多,环境千差万别,应用特殊化的地方非常之多。所以在嵌入式场合无论成熟的产品和组件一般只能够满足客户的80%的要求。余下20%的要求是需要产品提供方和客户共同来努力解决的特化的部分。当然,每个行业都有自己的特点,如果能够为某个行业提供完整的特殊化解决方案,那么在同行业中特化的部分也就不会再有这么高的比例。
这些特殊化工作比较多,下面列举一两个:
针对不同平台和环境的移植。虽然大部分操作系统都声称支持标准的POSIX接口,但实际上要在上面高效运行实时的嵌入式数据库还是比较困难的。有的实时性非常高的操作可能还需要直接调用CPU的处理指令。所以最好在客户使用嵌入式数据库之前,将数据库移植到客户的环境中去。对于那些部分支持,或者不支持POSIX标准的操作系统就只能做移植了。
在客户平台上做出性能测试报告和优化。嵌入式场合很多应用是非常苛刻的,所以必须保障嵌入式数据库在客户的平台上能够达到客户要求的性能指标。最佳的评价方就是嵌入式数据库的提供方在客户平台上做的性能测试报告,并在必要的地方对数据处理方式进行优化。
根据应用的要求实现个性化的功能。既然数据统一由数据库引擎进行管理,那么许多特殊的功能在这一层实现是最佳的选择。所以,嵌入式数据库进入一个新的行业以后,都会产生一些新的应用构件。这些构件直接和引擎打交道,同时对用户层留有接口。
这种差异化也导致了嵌入式数据库的技术支持变得比较重要,厂家一般都会提供有偿或无偿的技术支持。
4.嵌入式数据库的分类
嵌入式数据库的分类方法很多,可以按照嵌入的对象不同分为:软件嵌入数据库、设备嵌入数据库、内存数据库。也有人将它们粗略的分为:嵌入数据库、移动数据库、小型的C/S结构数据库等。笔者更偏向于按照下面的方式进行划分:
小型C/S数据库。这种数据库其实是企业级数据库的一个缩小版,缩小以后可以在一些实时性要求不高的设备内运行。它只和操作系统有关,一般只能支持一些常见的移动操作系统,如,Linux和WindowsCE系列。
面向软件嵌入数据库。它将数据库作为组件嵌入到其他的软件系统中。一般用在对数据库的安全性、稳定性和速度要求比较高的系统中。这种结构资源消耗低,最终用户不用维护数据库,甚至感受不到数据的存在。
面向设备嵌入数据库。它将关系型数据库嵌入到设备当中去,作为设备数据处理的核心组件。这种场合要求数据库有很高的实时性和稳定性,一般运行在实时性非常高的操作系统当中。为了达到这些要求有的厂商采用关系型的数据结构,有的采用非关系型的数据结构。有时候甚至直接和硬件打交道。当然,这种结构在实时性要求不高的移动场合更能够胜任。
内存数据库。数据库直接在内存内运行,数据处理更加高速,不过安全性等方面需要额外的手段来保障。
当然,相同类型的嵌入式数据库肯定会有很多不同的版本。如,Empress具有上述所有种类的嵌入式数据库,且每种都有很多版本,就在一年前刚刚针对日本市场比较特殊的操作系统iTRON开发了一个专用的嵌入式数据库版本。
5.嵌入式数据库的构件
嵌入式数据库包含的构件很多,不过大部分嵌入式数据库包含的构件差别是不大的,以Empress嵌入式数据库为例包括以下一些构件。
用户接口级构件。这些构件主要是方便用户对数据库进行操作和访问。如,标准的C语言应用程序接口(CKERNELAPI);标准的SQL语句(EMBEDDEDSQL);JDBC/ODBC接口;数据流处理(DataStreaming)、网络处理(EmbeddedNetworkAPI)以及数据恢复处理(DataRecoveryAPI)等。
应用级构件。该部分的构件包括一些主要应用所必需的构件,当然随着应用的不同,构件也是可以裁剪和添加的。
引擎级构件。主要包含事务处理(Transaction)、索引(Index)、多进程/多任务(MultiProc/TaskAccess)、可配置数据库内核(ConfigurableDatabaseKernel)、断电恢复管理(PowerDownRecovery)和存储介质引擎(StorageEngine)。但具体的Empress产品中远不止这么多。
6.应用现状
嵌入式数据库在国外已经有30年的历史,应用领域也非常广泛,下面仅结合Empress嵌入式数据库的部分应用,介绍一些大家感兴趣的领域。
医疗领域
北美和欧洲的一些著名的厂商利用Empress的数据库开发过完整的电子病历系统,同时将数据库嵌入到医疗器械当中。如,血液分析装置、乳癌的检测装置、医学图像装置等。这样医疗系统的各个环节可以无缝地和各种医疗设备进行数据交流,并轻松地处理这些设备送过来的数据信息,在必要的时候共享给有权限查看的用户。
军事设备和系统
一些著名的军事机构和全球著名的武器生产商将Empress数据库运用到他们的系统控制装置、战士武器、军舰装置、火箭和导弹装置中。这些场合用的数据库有很多的安全设定和特化设定,基本上严格按照每个客户的技术标准的要求来特化引擎级构件。具体的应用级的构件由客户自己完成。
地理信息系统
地理信息包括的范围很广,在国外地理信息系统已经发展了很多年,国内这几年也逐渐加大对地理信息系统方面的投入。Empress在地理信息系统方面的应用非常广泛。如,空间数据分析系统、卫星天气数据、龙卷风和飓风监控及预测、大气研究监测装置、天气数据监测、相关卫星气象和海洋数据的采集装置、导航系统等等。几乎涉及到地理信息的方方面面。
工业控制
工业控制的一个基本方式是一个反馈的闭环或半闭环的控制方式。随着工业控制技术的发展,简单的数据采集方式和反馈方式基本上很难满足要求。采用Empress嵌入式数据库即能够进行高速的数据采集,也能够快速的反馈。正因为如此,在一些核电站监控装置、化学工厂系统监控装置、电话制造系统监控装置、汽车引擎监控装置及工业级机器人中有广泛应用。
网络通讯
随着互联网的发展,网络越来越普及,网络设备的处理能力越来越强、各种要求也越来越高,运用嵌入式数据库也成了必然趋势。我们现在日常见到的很多网络设备和系统都已经使用了嵌入式数据库。Empress在一些企业内部互联网装置、网络传输的分布式管理装置、语音邮件追踪系统、VoIP交换机、路由器、基站控制器等系统中都有应用。
空间探索
一些全球著名的机构将Empress用在一些著名的空间探索装置中,如大家熟知的一些太阳系内行星的探测器等。
消费类电子
目前在中国消费类电子比较火热,它包含的范围也非常广。如:个人消费相关的PND、移动电话、PDA、SmartPhone、数码产品等;信息家电和智能办公相关的机顶盒、家用多媒体盒、互联网电视接收装置、打印机、一体机等;还有汽车电子等。在欧美和日本Empress不仅在这些方面已经有不少的成功应用和技术积累,还正在和亚太的一些著名厂商积极展开新的合作和研发,目前已经取得实质性的成果。
当然,嵌入式数据库的应用应该远不止这么多,不过笔者只能结合自己的经验向大家介绍一些我了解的,同时也是关注比较多的领域。
Top
|