Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 알고리즘
- 로드밸런서
- MySQL
- 백엔드
- 후기
- EC2
- 데이터구조
- 부트캠프
- 트러블슈팅
- AWS
- error
- nGrinder
- 코딩테스트
- 플러터
- 성능테스트
- Flutter
- github
- FLAB
- 멘토링
- F-Lab
- 에프랩
- Spring
- java
- 레디스
- backend
- grafana
- 자바백엔드
- redis
- 도커
- 자바
Archives
- Today
- Total
민스씨의 일취일장
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 |