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 1013 게시물 읽기
No. 1013
isolation level에 궁금점이...
작성자
명성태(taitai09)
작성일
2004-09-14 16:58ⓒ
2004-09-14 17:07ⓜ
조회수
12,354

모든 isolation은 transaction이 이루어질 수 없으나, 각가의 select에 대한 권한을 분리시켜놓았는데,

read committed와 repeatable read에 대해서 궁금한 점이 있습니다.

둘다 commit 된 정보만을 읽을 수 있는데,

read committed는 lock이 row 단위로 처리되고,

repeatable read는 lock이 table 단위로 처리된다라고 하는데,

그 단위의 차이가 무엇인지?

row라고 하면 하나의 결과물에 대해서 lock을 잡는 것인지?

그렇다면 table 단위는 해당 table 전체를 잡는 다는 것인지?

 

또한 팬텀는 어떻게 이해해야 할지요?

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

TRANSACTION ISOLATION LEVEL 이란 동시성 제어를 위한 방법입니다. 여러사용자가 동일한 데이터를 이용하고자 할때 발생하는 문제점을 최소화 해야하며 또한 성능을 만족시켜야 합니다.

이 문제들을 고려하여 아래의 4가지 방법을 사용할수 있습니다.

 
1.UNCOMMITTED READ(DIRTY READ)
현재의 값을 무조건 읽음
 
2.READ COMMITTED 
기완결 판독 : COMMIT되지 않은 값에 대해서는 이전버전의 값을 읽음
 
3.REPEATABLE READ
반복가능 판독 : 트랜잭션이 읽어가 데이터에 대해 잠금수행하고 그 트랜잭션이 COMMIT 되기 전까지 다른 트랜잭션의 변경연산 금지
 
4.SERIALIZABLE
직렬가능 : 유령문제(Phantom Problem)를 방지하며 트랜잭션의 독립성을 보장한다
 
위 방법은 서로 장단점을 가지고 있습니다.
1번 방법이 가장 빠른 성능을 발휘할수 있지만 정확하지 않은 데이터를 읽을 경우가 발생합니다.
4번 방법은 정확한 값을 읽게 되지만 가장 성능이 떨어지게 됩니다.
각 DBMS마다 구현하는 방법이 지원되는 ISOLATION LEVEL 이 다릅니다.

 

도움이 되셨는지 모르겠네여. 그럼 좋은 시간 보내세요...^^

최한열님이 2004-09-15 11:12에 작성한 댓글입니다.
이 댓글은 2004-10-19 13:16에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1017★이것좀 도와주세요★ [3]
이윤진
2004-09-21
12781
1016어떤것 부터 시작해야할지좀 알려주세요. [1]
백승준
2004-09-16
10277
1015도와주세요... [1]
최아름
2004-09-16
11518
1013isolation level에 궁금점이... [1]
명성태
2004-09-14
12354
1012제발 도와주세요ㅋ 정말 급하답니다 ㅠ.ㅠ 불쌍한 대학생 살려주세요 ㅋ [4]
박덕열
2004-09-06
13180
1011가르처 주세요 도스용프로그램을 윈도우용으로 가능한지요? [1]
임종호
2004-09-05
12793
1010DB 종류(발전사)? 궁금!! [1]
미희
2004-09-02
13870
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.049초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다