민스씨의 일취일장

LogT | 데이터베이스의 ACID에 대해 알게된 모든 내용과 고민들 본문

Database

LogT | 데이터베이스의 ACID에 대해 알게된 모든 내용과 고민들

읻민스 2023. 1. 25. 22:40
반응형

데이터베이스를 다루면서 ACID에 대해 알게된 모든 내용과 고민들을 시간순으로 기록하는 페이지이다.


2023년 1월 25일

ACID

Atomity 원자성 나눌 수 없는 하나의 작업(Transaction)으로 다루어져야 한다.
Consistency 일관성 Transaction 전후로 맥락이 일관된 상태로 유지되어야 한다.
Isolation 고립성 각가의 Transaction은 독립적(서로 영향을 주지 않도록)으로 수행되어야 한다.
Durability 영속성 성공적으로 수행된 Transaction의 결과는 유지되어야 한다.

Isolation Level

Isolation(고립성)을 지키기 위해 각각의 Transaction은 독립적으로, 즉 Transaction간 영향을 주지 않도록 수행되어야 한다. 하지만 데이터베이스의 성능 및 이용자의 편의를 위해 고립성의 정도를 강하게도 약하게도 조정을 할 수 있다. 이 정도를 나타낸 것은 Isolation Level이라고 부른다.

READ UNCOMMITED 아직 커밋이 이뤄지지 않은, 가공중인 데이터도 읽을 수 있다. 고립도 최저
READ COMMITED 커밋되, 가공이 완료 및 승인된 데이터만 읽을 수 있다.  
REPEATABLE READ 자신의 Transaction이 시작될 때 읽어온 데이터를 Transaction이 끝날때까지 반복해서 읽어온다. 이 때 실제 데이터베이스가 다른 커밋으로 수정되었더라도 처음 읽어온 데이터를 불러온다. 기본상태 (Default)
SERIALIZABLE 한 번에 하나의 Transaction만 독립적으로 수행된다. 이론적인 Isolation(고립성)이다.  고립도 최고
728x90
반응형