移动数据库作为分布式数据库的延伸和扩展,拥有分布式数据库的诸多优点和独特的特性,能够满足未来人们访问信息的要求,具有广泛的应用前景。 典型的移动数据库原型系统结构如图所示。
移动数据库可以看作是传统数据库系统的扩展。移动数据库系统大致分类如下:
a.移动多数据库系统。
b.移动同构数据库系统。
c.移动异构数据库系统。
d.移动异构多数据库系统。 移动数据库基本上由三种类型的主机组成:移动主机(Mobile Hosts),移动支持站点(Mobile Support Stations)和固定主机(Fixed Hosts)。
固定主机就是通常含义上的计算机,他们之间通过高速固定网络进行连接,不能对移动设备进行管理。移动支持站点具有无线通讯接口,可以和移动设备进行数据通信。移动支持站点和固定主机之间的通信是通过固定网络进行的。一个移动支持站点覆盖的地区区域被称为信元(Cell),在一个信元内的移动主机可以通过无线通信网络与覆盖这一区域的移动支持站点进行通讯,完成信息数据的检索。 (1)复制和缓存技术。移动数据库环境中,通过采用一种弱一致性服务器级复制机制,提高了响应时间。缓存技术是通过在客户机上缓存数据服务器上的部分数据,降低客户访问数据库服务器的频率。
(2)数据广播技术。利用从服务器到移动客户机的下行带宽远远大于从移动客户机到服务器的上行带宽的这种网络非对称性,把大多数移动用户频繁访问的数据组织起来,以周期性的广播形式提供给移动客户机。
(3)位置管理。移动用户的位置管理主要集中在两个方面:一是如何确定移动用户的当前位置,二是如何存储,管理和更新位置信息。可以采用移动计算机都在自己的宿主服务器上作永久登记,当它移动到任何其它区域是,向其宿主服务器通报其当前位置。
(4)查询处理及优化。在移动数据库环境中,由于用户的移动,频繁的断接以及用户所处网络环境的多样性,移动查询优化必须采用动态策略,以适应不断变化的画境。
(5)移动事务处理。 (1)数据的一致性问题。移动数据库的一个显著特点就是移动终端之间以及与服务器之间的连接时一种弱连接,即低带宽,长延迟,不稳定和经常性断开。为了支持用户在弱环境下对数据库的 *** 作,现在普遍采用乐观复制方法,允许用户对本地缓存上的数据副本进行 *** 作,待网络重新连接后再与数据库服务器或其他终端交换数据修改信息,并通过冲突检测机制来协调和恢复数据的一致性。
(2)高效的事务处理。通过采用完善的日志记录策略,事务移动过程中的用户位置属性实时更新等策略来设计和实现新的事务管理策略和算法。
(3)数据的安全性。通过采用对移动终端进行认证,防止非法终端的欺骗性接入;对无线通信进行加密,防止数据信息泄露;对下载的数据副本加密存储,防止移动终端物理丢失后的数据泄密等手段保证数据安全。 (1) 内核结构微小化。
(2) 对标准的SQL支持。
(3) 事务管理功能的强化。
(4) 完善的数据同步机制。
(5) 支持串行通信,TCP/IP通信,红外线,蓝牙等多种连接协议。
(6) 完备的嵌入式数据库管理功能。
(7) 支持Windows CE,Palm OS等多种目前流行的嵌入式 *** 作系统。 (1)数据的分布和复制。数据不均衡的分布在基站和移动单元中。移动数据库的一个显著特点是移动终端之间以及与服务器之间的连接是一种弱连接,即帝宽带、长延时、不稳定和经常性的断开,由于数据库一致性的约束,这增加了管理缓存的难度。现在普遍采用的方法允许移动单元处理其自身的事务,对本地缓存上的数据副本进行 *** 作。在长时间断开连接时,缓存试图为移动单元提供最频繁访问的数据或更新的数据。。带网络重新连接后再与数据库服务器或其他终端交换数据修改信息,并通过冲突检测和协调来恢复数据的一致性。
(2)事务模型。在移动环境中,事务的容错和纠错变得棘手。一个移动事物在几个基站上顺序执行,由于移动设备的移动性,执行过程可能会涉及多个数据集合,此时缺乏对事务执行的集中协调。因此须对事物的传统ACID性质进行修正,并定义新事务管理策略和算法。
(3)查询处理。了解数据的存储位置影响到查询处理的性价比分析。由于移动单元的移动性和快速的资源变化,查询优化变得更复杂。当查询结果返回到移动单元时,这些移动单元可能正处于移动当中,或正在穿越信元边界,但用户接收到的查询结果必须正确而完整的。
(4)回复和容错。移动数据库环境必须解决地址错误、介质失效、事务和通信失效所导致的问题。
(5)移动数据库设计。由于移动性以及频繁的关机,执行查询是全局名字解析问题变得复杂。移动数据库设计必须考虑到元数据的许多管理问题。
(6)基于位置的服务。随着客户机的移动,依赖于位置的高速缓存信息也随之失效。此外,要频繁更新依赖于位置的查询,然后应用这些查询以更新高速缓存,也会带来问题。
(7)安全。移动数据的安全性不如固定位置数据的安全性。
mysql拷贝表 *** 作我们会常常用到,下面就为您详细介绍几种mysql拷贝表的方式,希望对您学习mysql拷贝表方面能够有所帮助。假如我们有以下这样一个表:
id username password
-----------------------------------
1admin*************
2sameer *************
3stewart *************
CREATE TABLE IF NOT EXISTS `admin` ( `id` int(6) unsigned NOT NULL auto_increment, `username` varchar(50) NOT NULL default '', `password` varchar(100) default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4
1. 下面这个语句会拷贝表结构到新表newadmin中。 (不会拷贝表中的数据)
CREATE TABLE newadmin LIKE admin
2. 下面这个语句会拷贝数据到新表中。 注意:这个语句其实只是把select语句的结果建一个表。所以newadmin这个表不会有主键,索引。
CREATE TABLE newadmin AS ( SELECT * FROM admin )
3. 如果你要真正的复制一个表。可以用下面的语句。
CREATE TABLE newadmin LIKE admin INSERT INTO newadmin SELECT * FROM admin
4. 我们可以 *** 作不同的数据库。
CREATE TABLE newadmin LIKE shop.admin CREATE TABLE newshop.newadmin LIKE shop.admin
5. 我们也可以拷贝一个表中其中的一些字段。
CREATE TABLE newadmin AS ( SELECT username, password FROM admin )
6. 我们也可以讲新建的表的字段改名。
CREATE TABLE newadmin AS ( SELECT id, username AS uname, password AS pass FROM admin )
7. 我们也可以拷贝一部分数据。
CREATE TABLE newadmin AS ( SELECT * FROM admin WHERE LEFT(username,1) = 's' )
8. 我们也可以在创建表的同时定义表中的字段信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)