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
반응형