database.sarang.net
UserID
Passwd
Database
ㆍDBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DBMS Q&A 1000 게시물 읽기
No. 1000
Isolation에 대해서
작성자
김동철(aucufe)
작성일
2004-08-04 10:37ⓒ
2004-08-04 14:50ⓜ
조회수
10,480

어떤 DBMS가 Uncommitted read를 지원한다고 볼 때

P1(process #1)이 T1 테이블에 insert(row#를 100으로 가정)를 수행하고 commit 전이고

P2가 T1 테이블에 대해 update(row#를 80으로 가정)를 하고 commit 전이고

P3가 T1 테이블의 어떤 row를 delete(row#를 70으로 가정) 후 commit 전 일때

P4가 T1 테이블을 uncommitted read 모드로 select 하면?

위에서 insert, update, delete 된 내용들이 어떻게 되나요? insert한 row# 100은 select 될텐데

update, delete 한 내용들은??

 

(아래 답변주시분 감사합니다.) 질문이 좀 어중간한것 같아서 좀 덧붙이면

 

각 DBMS 벤더에 따라 Lock모드 또는 MVCC 모드 및 둘다를 지원할때 어떤 모드에서는 위의 결과가

어떻게 되는지를 알고 싶습니다.  제가 여려 DBMS를 설치해서 테스트를 할수도 없고, 매뉴얼 상에는

insert와 select만을 설명하고 있어서...

 

사용해본(또는 사용할 수 있는) DBMS에서의 결과를 좀 알려주세요.

 

이 글에 대한 댓글이 총 2건 있습니다.

트랜잭션과 MVCC 에 관한 부분 같네요.

http://blog.naver.com/jodas78.do?Redirect=Log&logNo=80002830714

신기배(nonun)님이 2004-08-04 13:24에 작성한 댓글입니다.
이 댓글은 2004-08-04 23:15에 마지막으로 수정되었습니다.

 

isolation level에는 크게 4가지가 있군요.

1. serializable: 완벽한 isolation, 즉,  누군가 table에 접속 중이면 다른 사람들은 접속(select, insert, update  등 모두 ) 못 하는 거겠지요. 그래서 lock 이 잘 걸릴 것이고.

2. uncommited read: commit 안된 정보를 읽을 수 있다는 것이겠죠.

 그래서 , 위의 결과 모든 것이 처리된 것 처럼 읽혀 지겠지요.

dirty reads(commit 안된 자료를 읽을수 있음) 가 가능하고 잘못된 결과도 얻을 수 있습니다.

 

3. commited read: commit 자료만 읽을 수 있습니다. 그래서 dirty reads 가 안됩니다. lock이 row 단위로 걸립니다.

 

4.repeatable read : commited read 와 비슷하지만 lock 이 테이블 단위입니다. 

 

이곳을 참고로 해서 작성한 것입니다.

http://www.cs.duke.edu/~junyang/courses/cps196.3-2002-fall/lectures/09-transaction.pdf

 

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbctransaction_isolation_levels.asp

 

이것도 참고로 하세요..

http://www.firstsql.com/tutor5.htm

 

허지숙님이 2004-08-05 15:39에 작성한 댓글입니다.
이 댓글은 2004-08-05 15:59에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1003[질문]primary key 를 지정할때요... null 입력할때 일정숫자 이상으로 들어가게..하는법쫌.. [1]
창진
2004-08-05
9650
1002IBM이 Cloudscape를 apache에 기증했는데...
박성철
2004-08-05
10702
1001엑세스 outer join 오류입니다. 좀 해결좀 해주세요 [1]
만만이
2004-08-05
9132
1000Isolation에 대해서 [2]
김동철
2004-08-04
10480
999컬럼 나열식의 테이블 구조를 행구조로 바꾸기 위해..
기다림
2004-07-24
7358
997SQLite를 선택하려고 하는데요... 질문... [5]
신동규
2004-07-20
9193
996sqlite에 텍스트 파일을 import할 수 있나요? [2]
박병호
2004-07-17
8319
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2021 DSN, All rights reserved.
작업시간: 0.011초, 이곳 서비스는
	PostgreSQL v13.3으로 자료를 관리합니다