移动数据库发展现状报告

嵌入式移动数据库发展现状

——嵌入式系统课程调研报告

一.嵌入式移动数据库系统的需求与特点

随着以智能手机为代表的,包括车载娱乐系统、智能家居、可穿戴设备在内的现代

嵌入式系统在硬件性能上的飞速发展,其对于数据库系统的支持能力大幅提升;而随着嵌入式系统搭载的应用程序功能日益复杂,其对于数据管理的需求也逐渐增加。以上两方面都使得数据库系统在嵌入式系统中的应用规模逐步增大。

与传统的数据库系统不同,嵌入式数据库系统面临更多挑战。首先,出于嵌入式系统本身的要求,移动数据库系统必须提供恰好满足需求的功能,减少甚至消除冗余,从而降低成本;同时,它必须具有较高的稳定性与可靠性,这是嵌入式系统应用的环境所决定的;系统的开发工具应当完善(这一点目前一些轻量化数据库如SQLite做得很好),系统也应该可裁剪或定制。

其次,考虑到目前嵌入式设备智能化程度较高,对于网络依赖性较大,而网络具有不稳定性,嵌入式数据库在处理事务方面相对于传统的分布事物有额外的要求。第一,嵌入式数据库需要处理事务的移动性,这个移动性不仅仅指客户端在移动,也是指由此带来的事务本身的改变,如涉及地理位置的过区切换问题。第二,移动事务往往是长事务,这是由于无线网络通信的低带宽、高延迟以及客户端的频繁断接性导致的;传统的事务处理中,对于网络连接的中断,往往按照故障来处理,然而如果同样将移动事务中频繁的网络中断当作故障处理,将使数据库的运行变得低效。第三,移动事务更加易错,这也是由网络不稳定导致的,这一点与第二点一起,使得移动数据库的缓存与冲突处理能力格外必要。第四,由于客户端的移动性,移动事务可能需要访问分别的异构数据库系统。

二.目前的移动事务处理结构

目前的移动事务处理系统包括固定主机和移动主机,其中固定主机与固定网络被称为可信部分。总体运作模式如下图所示。其中:1.FDBS:Fixed Database Server 2.MSS:Mobile Support Station
3.MH:Mobile Host 4.Rep: Replication 5.EMDB: Embedded Database 6.LS: Location
Server

三.几种流行的移动事务处理模型

Kangaroo事务模型

Kangaroo Transaction(KT)将传统事务中的每个事务都视为一系列读写操作,引入“分割事务”的概念。当事务发生迁移时,迁移事务被分割为可串行的子事务,每一个子事务可以单独执行。它的改进版本将分割事务变为可选择的,但是分割点必须通过预提交操作明确指定。

Clustering事物模型

这是一个典型的双层一致性模型(目前主流的模型),解决了由于移动网络造成的频繁的断接操作的问题。该模型将语义上相关或相近的数据对象组合成“簇”,在簇内维护严格的一致性。对于簇与簇之间的要求没有簇内严格,簇见一致性等级依赖于簇间网络连接情况。

VCSR事务模型

VCSR模型,全名可变一致性事务处理模型。存在这种情况,即某些弱一致性应用在必要的时候也要求严格的一致性,为满足这样的需求,VCSR模型采用弱一致性复制策略,每个复制服务器都维护一个数据库的完整副本,且都支持查询与更新操作。允许各个复制之间存在暂时的不一致,且对于要求严格一直的应用执行强事务,而对于不要求严格一致性的应用执行弱事务。

四.嵌入式数据库的其他重要技术简介

由于移动环境中网络通信具有不对称性,广播技术为解决数据密集型应用提供了一个解决方案。在典型的无线网络单元内,从服务器到移动客户机的下行通信带宽往往远大于移动客户机到服务器的上行通信带宽,而移动客户机接受数据的开销也远小于发送开销。所以在某些情况下,客户机虽然无法向服务器发送上行消息,但仍然可以接受到服务器发送的下行广播消息。这就是网络的不对称性,利用这个特性,服务器可以把大多数移动客户机用户频繁访问的热点数据组织起来,以周期性广播的形式主动提供给客户。这样,不仅减小了通信的代价,在一定程度上也解决了移动数据库的断接问题。

在广播技术的框架下,为了进一步优化性能,还应用了其他技术。如客户端的cache管理,服务器端的磁盘调度技术,广播频道的信息分割技术等等。

目前一个比较有趣的技术是从其他领域引入的Agent技术。该技术将某一个程序视为一个被设计为完成某个任务(比如从数据库查询)的主动的Agent实体,它由某个源计算机产生之后,就脱离该计算机的控制而自行执行。它可能与服务器,也可能与其他Agent交互,直到完成用户赋予它的任务。

此外,考虑到在移动计算环境中,存在与地理位置相关信息的查询与更新。为有效支持移动查询,在嵌入式数据库系统结构中,固定网络中间设置位置服务器。这些服务器是互联的,并且通过固定网络与MSS联结,对于位置查询算法有很多优化技术。

值得注意的是,移动计算中的查询算法相较于传统的查询算法,额外采用多种方法减小带宽多样性、断接等因素造成的影响,从而使查询引擎能够根据当前可采用网络条件采取恰当的优化策略。上文提到的Agent技术的引入对于解决这个问题也很有帮助。

五.目前流行的移动数据库应用简介

东软OpenBase Mini

OpenBase Mini是基于东软OpenBase数据库设计的,支持SQL92的子集,最小应用可达50kB,采用串口或TCP/IP协议连接。OpenBase Mini提供了一些开发工具,如OpenBase Mini Transfer,该程序可以实现嵌入式数据库的备份及恢复,还可以实现文件的传递,目录的复制等等。后台数据库的访问接口为ODBC。

IBMDB2
Everyplace

IBMDB2 Everyplace是IBMDB2的嵌入式版本,平台适应性好,可以在Embedded Linux、Windows CE、Palm OS、以及塞班系统(目前几乎绝迹)等平台上运行。支持SQL99子集,软件最小可达137kB,连接协议为HTTP以及TCP/IP。后台支持ODBC与JDBC访问。

Oracle
10g/11g lite

Oracle 10g lite 与Oracle 11g lite在架构上区别不大,这里统一介绍。Oracle 10g lite产品由三部分组成,即移动服务器、移动轻量级关系数据库、开发工具包。其中,轻量级关系数据库(即客户端)提高多种平台支持,如Windows32bit, Windows Mobile, Linux等。后台访问支持ODBC与JDBC。

六.结语

虽然嵌入式数据库随着移动智能终端的流行已经取得了较大发展,仍然有很多方向值得探索。最近兴起的针对微信小程序开发者配套设计的MongoDB,SQLite等等轻量级数据库虽然足够轻量化,但往往以牺牲内存为代价。整体上看,嵌入式设备的硬件资源任然是极为有限的。如何最大限度的利用这些资源,如何优化现有的资源占用,同时不以牺牲性能为代价,这依旧是一个可以继续研究的方向。

参考文献:

王彤,王良. 嵌入式移动数据库的综述及评价. 计算机工程,2001,27(12)

徐进辉,徐明. 移动数据库事务处理模型研究. 计算机工程与科学,2004,26(4)

周艳芳,庄成三,刘丽丽. 移动数据库访问系统中的事务管理. 计算机应用,2004,24(3)

吴娓娓,陈蜀宇. 嵌入式移动数据库现状与发展趋势. 计算机科学,2005,32(12)

李东,曹忠升,冯玉才
等. 移动数据库技术研究综述. 计算机应用研究,2000,17(10)

发布了75 篇原创文章 · 获赞 61 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/swy_swy_swy/article/details/104658102