• DB2/SQL Server Locking and Concurrency VS Oracle


    Oracle VS DB2   Oracle的优越多版本读一致性模型允许读和写完全独立完成而不冲突 IBM DB2要求读锁,读锁会引起死锁,影响并发能力,增大管理难度 Oracle仅对写活动要求锁   “Locks are acquired even if your application merely reads rows, so it is still important to commit read-only units of work. This is because shared locks are acquired by repeatable read, read stability, and cursor stability isolation levels in read-only applications. With repeatable read and read stability, all locks are held until a COMMIT is issued, preventing other processes from updating the locked data, unless you close your cursor using the WITH RELEASE clause. In addition, catalog locks are acquired even in uncommitted read applications using dynamic SQL or XQuery statements.” http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.perf.doc/doc/c0005276.html   IBM DB2 does not have rollback segments and thus requires read locks to provide read consistency    Oracle由于其良好的设计,所以不会发生锁升级(escalate locks):   IBM DB2在内存中管理锁,当内存不够用时可能将行级锁升级到表级锁 锁升级(escalate locks)将提升死锁(dead locks)发生的可能性 Oracle的锁不依赖于内存中的锁管理器实现,而存放在磁盘上     “The amount of memory devoted to locking is controlled by the locklist database configuration parameter. If the lock list fills, performance can degrade due to lock escalations and reduced concurrency on shared objects in the database. If lock escalations occur frequently, increase the value of either locklist or maxlocks, or both. Also, to reduce number of locks held at one time, ensure that transactions COMMIT frequently to free held locks.” http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.perf.doc/doc/c0005266.html     IBM DB2 locking conflict and deadlock management issues documented by IBM IBM DB2 9.5 introduces enhanced optimistic locking feature Workaround to locking conflict and deadlock management issues Requires application and schema changes Onus of resolving locking conflicts on users  
    Feature Oracle Database 11g IBM DB2 9.5 LUW
    Multi-version Read Consistency Yes No
    Readers don’t block writers Yes No
    Writers don’t block readers Yes No
    Guaranteed Consistent Queries Yes No
    No Lock Escalations Yes No
    No Lock Escalation Deadlocks Yes No
        Oracle VS SQL SERVER     "In practice and under high load, SQL Server's locking system, which is based on lock escalation, does not perform well. Why? Lock contention. … In a system in which many users are modifying the database at once, and many more users are trying to access the database concurrently, the locks are flying, users spend a lot of time waiting to attain locks, deadlocks are frequent, and users are far from happy. …. But throw a couple hundred concurrent users at your database and a constant stream of INSERTS and UPDATES with quite a few DELETEs sprinkled in, and you'll start reading Oracle literature and eyeing your war chest.” Michael Balloni, SQL Server Lock Contention Tamed, http://www.sql-server-performance.com/lock_contention_tamed_article.asp Transaction Isolation The Problems with a Dirty Read   ‘When using Uncommitted Read, you give up the assurance of strongly consistent data in favor of high concurrency in the system without users locking each other out. So when should you choose Uncommitted Read? Clearly, you don’t want to use it for financial transactions in which every number must balance.’ Inside Microsoft SQL Server 2000 by Ron Soukup and Kalen Delaney Microsoft Press
  • 相关阅读:
    基于结构化平均感知机的分词器Java实现
    HanLP分词命名实体提取详解
    [英语学习]王秒同学《21天TED英语精练团》
    [不好分类]转帖:好好说话是个“技术活”(李笑来说话太直了?)
    [英语学习]3招速成英语发音 背景音乐和学习随感
    [读书笔记]《番茄工作法图解:简单易行的时间管理方法》
    [英语学习]给宝宝的英语原版资源
    [办公自动化]如何判断服务器是否开放某端口
    [他山之石]Google's Project Oxygen Pumps Fresh Air Into Management
    [读书笔记]云计算时代的网络,读《腾云,云计算和大数据时代网络技术揭秘》
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2968150.html
Copyright © 2020-2023  润新知