导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

重要问题,请进入讨论!

xsm 2006-01-23 05:52:07
请问各位一个问题,在分布式数据库系统中,每个节点都有局部的DBMS对本地的数据进行管理,整个系统有一个全局DBMS进行统一管理,这就有全局事务和局部事务,当用户提交的事务是全局事务时,需要访问多个节点,本地事务就不需要。请问各位,有没有什么机制可以使全局事务尽可能的降为本地事务,使系统开销减少,以便提高系统性能(如:对数据进行统计,记录被访问的次数和访问者,根据这个比例进行一些记录的移动,有些事务虽然放在本地的DBMS中,但常被其他节点访问,自己访问的不是很多。这样其他节点每次访问都要用全局事务,加大的系统开销。我的意思就是直接把数据放到那个节点,访问时就不用全局事务,本地事务就可以访问。这样就降低了系统开销.
...全文
170 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuce 2006-01-24
如何把把数据库中的
2005-09-20 08:03:28.570
改成20050920字样的字段
注意是修改表,而不是convert
各位帮帮忙了,谢谢
回复
ashzs 2006-01-24
你的想法不错,但是你考虑过没有:

不使用分布式事务,而像你说的进行数据迁移处理,往往耗费的资源更大!

首先看看分布式事务:
只是对涉及到的表或记录进行锁定(可能有一定阻塞),在网络上传输必要的数据(如insert的内容)。

而你的想法:
还是要对涉及到的表或记录进行锁定,因为要进行数据拷贝,就算使用sql2005的快照隔离机制,还是要在你要进行复制的记录加共享锁,而网络传输这些数据可能要比修改的数据多得多(如update或delete)。在将数据修改完毕后还要回写到各个服务器表中,这个过程还是要加锁。

你的想法不光加大了网络的负担,并且也延长了各个表的锁定时间。所以说不可取!
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告