카테고리 없음

[DB] 연산 조합에 따른 비용 분석

min1119 2025. 2. 28. 15:37
데이터베이스 연산 조합
  • 읽기/쓰기/잠금/트랜잭션은 조합에 따라 읽기 비용, 쓰기 비용, 락 오버헤드, 트랜잭션 오버헤드가 달라진다.
  • 읽기 비용(Read Cost)
    • 데이터를 읽기 위해 필요한 I/O 및 CPU 비용
  • 쓰기 비용(Write Cost)
    • 데이터를 수정 또는 삽입하기 위한 비용
  • 락 오버헤드(Lock Overhead)
    • 동시 접근을 제어하기 위해 잠금을 설정하는 비용
  • 트랜잭션 오버헤드(Transaction Overhead)
    • 트랜잭션의 시작, 커밋, 롤백에 소요되는 비용
연산 조합에 따른 비용 분석
연산 조합 읽기 비용 쓰기 비용
오버헤드
트랜잭션
오버헤드
비고
단순 읽기 - - 데이터 읽기만 수행
읽기 + 공유 잠금
(S Lock)
- 읽기 중 데이터 변경 방지
읽기 + 단독 잠금
(X Lock)
- 읽기 중 데이터 변경 차단
단순 쓰기
(Insert/Update/Delete)
- 데이터 변경만 수행
쓰기 + 단독 잠금
(X Lock)
- 데이터 변경 중
동시 접근 차단
읽기 + 쓰기
(Read-Modify-Write)
조회 후
수정 작업 수행
다중 트랜잭션
(멀티스레드)
중~상 중~상 동시 작업 처리,
교착 상태 가능
교착 상태(Deadlock) 위험도
잠금 조합 Deadlock 위험도 설명
읽기 + 읽기 동시에 읽기 가능
읽기 + 쓰기 쓰기 작업이 대기 상태에 들어감
쓰기 + 쓰기 두 트랜잭션이 서로 잠금을 기다릴 경우 발생
성능 특성
특성 읽기 잠금 쓰기 잠금
동시성
데이터 일관성
트랜잭션 속도
최적화
상황 권장 잠금 방식 이유
단순 읽기 작업 읽기 잠금 동시성 최적화
자주 변경되는 데이터 쓰기 잠금 데이터 무결성 보장
높은 동시성 환경 읽기 잠금 교착 상태 방지
비즈니스 규칙 검증 후 업데이트 Select + Update 성능과 무결성 균형