728x90
- DB
- Index
Index 작동 원리- Index 종류
B-Tree 인덱스Hash IndexesBitmap IndexGIST(Generalized Search Tree)R-TreeFull Text IndexSpatial IndexTrie(Prefix Tree) IndexCovering Index
- Index
영속성- 트랜잭션
- ORM
- ACID
- N+1 문제
- DB 정규화
- Data Replication
- sharding 전략
- CAP 이론
란?
- DB 의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산들을 의미함.
➡️ DB 응용 프로그램은 트랜잭션의 집합으로 정의할 수 있음. - 트랜잭션은 데이터의 무결성과 일관성을 유지하는 데 중요한 역할을 함.
특성
- 원자성
- 트랜잭션 내의 모든 작업은 완전히 수행되거나 전혀 수행되지 않아야 함.
즉, 트랜잭션은 하나의 불가분 단위로 작동해야함.
- 트랜잭션 내의 모든 작업은 완전히 수행되거나 전혀 수행되지 않아야 함.
- 일관성
- 트랜잭션이 완료된 후에는 데이터베이스가 일관된 상태를 유지해야함. 이는 트랜잭션 전후로 모든 데이터베이스 규칙과 제약 조건이 충족되어야 함을 의미함.
- 고립성
- 동시에 실행되는 여러 트랜잭션들이 서로 영향을 주지 않도록 관리되어야 함. 각 트랜잭션이 마치 독립적으로 실행되는 것처럼 처리됨.
- 지속성
- 트랜잭션이 성공적으로 완료되면, 그 결과는 영구적으로 데이터베이스에 반영되어야 하며, 시스템 오류가 발생해도 유지되어야 함.
생명주기
- 시작 : 트랜잭션 시작
- 실행 : DB에 대한 모든 쿼리 또는 명령이 실행됨.
- 검사 : 트랜잭션의 모든 작업이 성공적으로 완료되었는지 검사함.
- 커밋 : 모든 작업이 성공적으로 완료되었다면, 변경 사항을 데이터베이스에 영구적으로 저장함.
- 롤백 : 만약 작업 중 하나라도 실패하면, 트랜잭션을 시작하기 전의 상태로 데이터베이스를 되돌림.
트랜잭션의 동시성 제어
여러 트랜잭션이 동시에 실행될 때 데이터베이스의 일관성을 유지하기 위해 동시성 제어가 필요함.
이는 주로 잠금(locking)
, 타임 스탬프, 다중 버전 동시성 제어(MVCC) 등의 기술을 사용하여 관리됨.
복구 메커니즘
트랜잭션이 실패하거나 시스템에 오류가 발생한 경우, 데이터베이스는 로그(예 : WAL, Write-Ahead Logging) 을 사용하여 데이터의 일관성과 무결성을 복구함.
트랜잭션은 데이터베이스의 시스템의 핵심 요소이기 때문에, 데이터의 안전하고 정확한 처리를 보장함. 이는 사용자가 데이터를 신뢰하고, 다양한 애플리케이션에서 데이터베이스를 효율적으로 사용할 수 있도록 함.
728x90
'99클럽 TIL' 카테고리의 다른 글
99클럽 코테 스터디 16일차 TIL DB DB 정규화 (1) | 2024.06.04 |
---|---|
99클럽 코테 스터디 15일차 TIL DB N+1 문제 (0) | 2024.06.03 |
99클럽 코테 스터디 13일차 TIL DB 영속성 (0) | 2024.06.01 |
99클럽 코테 스터디 12일차 TIL DB Covering Index (0) | 2024.05.31 |
99클럽 코테 스터디 11일차 TIL DB Trie(Prefix Tree) Index (0) | 2024.05.30 |
Comment