嵌入式数据库发展综述
扫描二维码
随时随地手机看文章
随着数据存储的快速发展,数据库应用的范围更加深入和具体。那些仅适用于PC机、体积庞大、延时较长的数据库技术已不能满足针对性较强的嵌入式系统开发的需求。而且随着嵌入式系统的内存和各种永久存储介质容量都在不断增加,嵌入式系统内数据处理量会不断增加,那么大量的数据如何处理问题变得非常现实。一种全新的数据库产品——嵌入式数据库系统应运而生。
嵌入式数据库系统
实时性是嵌入式系统的一个重要特性,一些专家将嵌入式系统称为嵌入式实时系统。在该系统中,对数据库的操作具有定时限制的特性,这里把应用于嵌入式系统的数据库系统称为嵌入式数据库系统或嵌入式实时数据库系统(ERTDBS)。嵌入式数据库的名称来自其独特的运行模式。这种数据库嵌入到了应用程序进程中,消除了与客户机、服务器配置相关的开销。嵌入式数据库是嵌入式系统的重要组成部分,也成为对越来越多的个性化应用开发和管理而采用的一种必不可少的有效手段。
嵌入式实时数据库管理系统是近几年才兴起的一项新的数据管理技术。它以目前成熟的数据库技术为基础,针对嵌入式设备的具体特点,实现对移动设备和嵌入式设备上的数据存储、组织和管理。传统的数据库通常运行在大型的计算设备上,随着计算设备的日益小型化,数据库的小型化也日益迫切。
嵌入式数据库在国外发展已有30多年的历史,在国内最近几年才有了重视。在国内外市场上近几年比较活跃并且越来越受到广泛重视和应用的是商用级嵌入式实时数据库系统。
嵌入式实时数据库基本特性
首先看看实时数据的特性:1)变化快;2)突发性强;3)数据间关联性强,结构化。
实时数据管理对常规数据库的挑战:1)常规数据库基于文件系统,速度慢;2)文件I/O、Buffer、Cache机制还引入文件操作不确定性;3)这些数据库通常都是基于C/S架构,导致进程通信不确定性;4)尺寸通常不适应嵌入式系统应用的需求。图1表明了常规数据库中数据使用的历程。
嵌入式实时数据库的基本特性如下。
1. 嵌入性。嵌入式数据库不仅可以嵌入到其他的软件当中,也可以嵌入到硬件设备当中。由于嵌入式系统自身的特点,对数据的存储和程序的运行都有较强的空间限制,所以嵌入式数据库首先应该保证适当的体积。并且由于 API 是根据用户数据特征产生的,调用这些API就可以使用嵌入式数据库管理实时数据,因此,嵌入式数据库可以天然地与用户程序集成在一起。图2所示实时数据管理结构。
2.实时性。嵌入式系统通常是紧凑系统,即小系统。对于大量实时数据需要管理,实时性和嵌入性是分不开的。只有具有了嵌入性的数据库才能第一时间得到系统的资源,对系统的请求在第一时间内做出响应。但是,并不是具有嵌入性就一定具有实时性。要想嵌入式数据库具有很好的实时性,必须做很多额外的工作。
如McObject公司的eXtremeDB 首先是一个实时数据库,而后才是嵌入式数据库。由于实时数据管理对时间空间效率的要求非常高,完成同样工作的资源要求更少。因此,在资源紧凑型系统中, 其优点就显示出来了。所以, eXtremeDB 开销较小并与应用程序天然集成实现嵌入,这并不意味着 eXtremeDB 只能管理小系统中的数据。数据库是嵌入式的,但并不要求应用系统是嵌入式的。应用系统可以是嵌入式系统如手机、家庭网关、机顶盒、数字电视等,也可以是桌面系统或服务器系统如核心路由器、呼叫中心、金融交易系统等。
3.嵌入式实时数据库系统通常作为嵌入式系统的应用软件出现,系统常常在无人干预的情况下运行,需要具备较高的可靠性。同时要求数据库操作具备可预知性,而且系统的大小和性能也都必须是可预知的,这样才能保证系统的性能。
4.从目前嵌入式应用的发展趋势来看,嵌入式数据库的实现必须充分体现系统的可定制性,即系统选择的技术路线要面向具体的行业应用。
5. 跨平台的实时数据管理方案。首先嵌入式场合硬件和软件的平台是千差万别。所以嵌入式场合的数据库必须能够支持非常多的平台,嵌入式系统的平台种类繁多,因此嵌入式数据库应有一定的可移植性,以适用于不同的软硬件平台。
最后,嵌入式数据库和我们现在常见的企业级数据库有很大的区别。虽然,从名字上看,二者有着太多的相似性,但却有着本质的根本性的区别。由于嵌入式实时数据库系统在运行环境和运行方式上与常见的企业级数据库管理系统有很大差别,因此,传统的企业数据库如Oracle、Sybase等在实时嵌入式环境下很难发挥作用,尤其在一些实时性要求很高的控制系统中,传统数据库更显得无能为力。 [!--empirenews.page--]
应用领域
嵌入式数据库在国外30多年的历史中以其优越的性能,应用于各行各业的实时数据管理中,在全球各个关键任务平台中担任重要角色。如图3所示。
下面仅结合eXtremeDB嵌入式数据库的应用情况,介绍一些应用领域。
*消费电子及网络设备
目前在中国消费类电子比较火热,它包含的范围也非常广。如:个人消费相关的PND(便携式导航设备)、移动电话、PDA、智能手机等;信息家电和智能办公相关的机顶盒、家用多媒体盒、互联网电视接收装置。用户可以通过智能手机、PDA等设备直接访问企业后台的相关应用数据库,实时处理关键业务,以提升企业一线业务人员的工作效率。
*军工和航空航天
嵌入式数据库以其良好的可靠性和卓越的实时性被广泛地应用于军事、航空航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
*工业控制
工业控制的基本方式是一个反馈的闭环或半闭环的控制方式。随着工业控制技术的发展,简单的数据采集方式和反馈方式基本上很难满足要求。采用嵌入式数据库即能够进行高速的数据采集,也能够快速地反馈。因此,在一些核电站监控装置、化学工厂系统监控装置、电话制造系统监控装置、汽车引擎监控装置及工业级机器人中有广泛应用。
此外,还有其它一些专门的移动应用,如铁路交通控制系统、医疗电子等方面。嵌入式数据库将随着各种移动设备、智能计算设备、嵌入式设备的发展而迅速发展。
未来趋势
随着嵌入式系统的扩大,嵌入式产品的开发不再像过去那样几个人就可以完成整个系统的开发,需要更多的人组成团队。嵌入式软件的需求分析和品质管理也变得越来越复杂,开发周期也逐渐拉长。为了解决这些问题,引进第三方成熟的数据库技术或解决方案变得非常现实。专业的嵌入式数据库厂商也逐渐进入了人们的视野。
对于未来嵌入式数据库的发展趋势,美国McObject公司亚太区副总裁杜虎生先生认为,“运用成熟的嵌入式数据库技术可以降低开发成本、缩短开发周期,使开发者能够将更多的精力放在业务逻辑的处理上,而不用花大把的金钱和精力来处理数据,对整个社会的资源也是一种节约。”杜虎生先生还表示,嵌入式数据库与各种硬件设备的广泛结合,不仅能够将企业现有的信息以各种方式联合起来。更重要的是,企业因此可以将更多的设备集成到企业IT系统中来加以利用和控制,这将是下一代嵌入式数据库和下一代嵌入式系统所能够带来的利益。目前国内许多嵌入式软件技术人员经过数据处理的困惑,经过开源的摸索和自主开发的尝试,许多开发者正逐渐意识到商用数据库的必要性。
嵌入式数据库将会使人们希望随时随地存取任意数据信息的愿望成为现实,嵌入式数据库将无处不在。