DB2 Isolation Levels
A speculation on the internal mechanisms of the 4 types of Isolation to get a better understanding of the notion of isolation levels and different sorts of anomalies.
The following guess is mainly based common sence and a general idea of locking and concurrency.
a) To protect the system against non-repeatable read
, we may need to lock the specific rows to prevent it from being accessible from the operator when one user is accessing it and even during the period between the user's sequential operations (multiple-phased user access).
b) To keep away phantom row anomalies
, we may need to lock the entire table to prevent it from being accessible from the operator when one user is accessing it and even during the period between the user's sequential operations. (multiple phased user access).
* Of cause for both (a) and (b) they might also be implemented by preserving a separate temporary table for the user to look through during his session of using the service.
c) To handle dirty read anomalies
, we may need to lock the the entire table when one operator is working on the table. or prevent the uncommitted data being presented in the database and shown to the user.
d) To handle lost update anomalies
, we'd better grant to only one user at a time the access to the database.
As we can see, generally speaking, the levels of restriction of the above four protection are sorted from lowest to highest as follows,
c)
d)
a)
b)
The last two are concerning multiple-phased user access, they lock up when the user (customer)'s session is active and keep the server side away from accessing the database. And the requirement of isolation is so unreasonably high for (b) that even such high level protection as RS is unable to fulfill it.
1. Repeatable Read (RR)
which is able to prevent all anomalies
2. Read Stability
(RS)
which is able to prevent all anomalies except for phantom row anomalies (b)
3. Cursor Stabiltiy (CS)
able to prevent all but (b) and (a)
4. Uncommited read (UR)
unable to prevent any anomalies aforementioned except for (d). The strange thing is that (c) is not protected against, that is probably due to the mutual-exclusion between customers being provided while that between customer and server is not.
分享到:
相关推荐
DB2® 9 for z/OS® is an exciting new version, with many improvements in performance and little regression. DB2 V9 improves availability and security, as well as adds greatly to SQL and XML functions....
Some Notes on Applied Mathematics for Machine Learning 这是一个对机器学习中的数学方法的介绍,供大家参考
Some notes on machine learning algorithms, mostly in Matlab format.zip
The home of NiftyLoadLibrary - and some notes on rebasing dlls.NiftyLoadLibrary 库
In many cases it happens that for some reason changed the hostname in our operating system, if this is the case and we also have an installation of DB2 9.7 ESE and the operating system is Windows XP, ...
This chapter describes how easy it is to migrate a port done for μC/OS to work with μC/OS-II. Chapter 11, Reference Manual This chapter describes each of the functions (i.e. services) provided by μ...
Some Notes about Regression
– AUTOSAR 4.3 – fixing some transformer bugs, adding support for large UDP messages with SOME/IP-TP as well as SOME/IP-SD optimizations • It relies on using Ethernet and TCP/IP. • vsomeip – ...
For some strange reason, I wasn‘t satisfied with minor corrections. Also, when my publisher told me that this time, the book would be a ‘hard cover’, I really wanted to give you your moneys worth....
有关于M-亚正规权移位算子和可亚正规权移位算子的一些注记,葛斌,周庆梅,设W是H上的以{an}∞n=0为权序列的单边移位算子。本文研究了M-亚正规权移位算子和可亚正规权移位算子的关系。主要结果为定理4.1和定理4
Some Notes about Support Vector Machine
The purpose of this paper is to give some notes on metrizability and general- ized metric spaces in terms of g-functoin and !-structure.
The document makes some notes when I am learning how to design user taglib in jsp.<br/>I think it will very helpful for you!
离散时间切换系统输入输出有限时间稳定性,张光晨,王为群,本文讨论具有任意切换和限制切换的切换系统输入输出有限时间问题。任意切换情形,分别对于输入信号$mathcal{W}_2$和$mathcal{W}_infty$给出了
QFontDatabase: Cannot find font directory /usr/lib/... Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig. QFontDatabase: Cannot find font directory /usr/lib/fonts.
Some Notes on Pseudorandom Binary Sequences Derived from Fermat-Euler Quotients
Github—failed to push some refs to ‘https://github.com/***/git_project.git’解决办法报错详情 报错详情 git version 2.26.2.windows.1 因为没有提交内容到master,需要先提交 先设置User.email、user.name ...
This documents describes ...material concerning ANSI C but it is not a substitute for the Standard itself; neither are related textbooks. We assume the reader is familiar with the C programming language.
AutoSAR SOME/IP协议V1.3版标准文档英文全文。文字版,有目录
Some Solutions on QTP Common Issues Some Solutions on QTP Common Issues Some Solutions on QTP Common Issues Some Solutions on QTP Common Issues