Notice
Recent Posts
Recent Comments
Link
민스씨의 일취일장
LogT | 데이터베이스의 ACID에 대해 알게된 모든 내용과 고민들 본문
반응형
데이터베이스를 다루면서 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
반응형
'Database' 카테고리의 다른 글
TIssue | H2 | Mac에서 Database not found 해결 방법 (0) | 2024.11.30 |
---|---|
Cache | 캐시 전략과 캐시 소프트웨어 종류에 대한 정리 (0) | 2024.09.03 |
TIssue | 맥에서 MySQLWorkbench 로그인 안되며 꺼지지 않을 때 (0) | 2023.04.03 |
LogT | Transaction Commit Rollback에 대해 알게된 모든 내용과 고민들 (0) | 2023.01.25 |
TIssue | MariaDB가 설치된 맥에 MySQL 설치후 작동이 안됨 (0) | 2023.01.02 |