多版本并发控制机制的比较:SQL Server 2005 vs Oracle Database 10g

在Yukon之前,Oracle的多版本读一致性的出色实现使得并发性比 SQL Server 好得多。SQL Server 以前的版本没有版本读一致性的特性,全部是“悲观”(pessimistic)锁的方式:所有的事务都需要锁。Yukon 中最大的一个特色是实现了快照隔离机制。所以发布的白皮书也为此浓墨重彩。快照隔离总是从已提交的数据快照读取数据。允许数据被只读事务读取。所以 SI 对只读事务的并发控制效果是很好的,但是对更新事务是否也这样不得而知。对长时间运行的更新事务来说更为不利于与短期的高竞争性事务。相比之下,Oracle提供了事务更新功能,但是不提供First-committer-wins 保护。二者现在都是行级锁。

Yukon 的 Read Committed Snapshot 需要数据库管理员来激活。这多少体现了微软的不自信(白皮书中说,管理员需要激活每一个需要 SI 的数据库)!并且,如果跨数据库的事务试图使用 SI ,而不是所有数据库都设定的话,则该事务会失败。这无疑给可扩展性带来一定的障碍。看来微软要实现自己的比 SQL 92 规范还要强的 SI 还有很多路要走。

参考信息

| | TrackBacks (0) | | Edit

Generator | Trampoline | 外贸英才网 | Vinyl fence

自定义搜索

添加评论

关于这篇文章

这篇文章由 Fenng 于 January 10, 2005 11:44 PM 发布

上一篇:Partition -Sql Server 2005 vs Oracle Database 10g

下一篇:netstat on HP-UX 11.0

回到首页查看最近的文章或者是查看所有归档文章

DBA notes 的订阅数量,点击则可进行订阅
Feed 订阅数量,点击即可订阅最新内容