1. MVCC(Multi-Version Concurrency Control)
- 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 읽고 쓸 수 있도록 하는 방식
- 각 트랜잭션은 자신만의 일관된 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항에 영향 받지 않음
- 읽기 작업 시 잠금을 사용하지 않아 높은 동시성을 제공(읽기 중심의 어플리케이션에서 높은 성능)
2. Lock-Based Concurrency Control
- 데이터에 접근할 때 잠금을 사용하여 동시성을 제어
- 즉, 잠금을 통해 데이터의 일관성과 무결성을 직접적으로 제어
- 읽기 작업은 공유 잠금, 쓰지 작업은 배타 잠금을 사용
어떻게 두가지 방법을 활용?
읽기 트랜잭션 > MVCC 사용 > 일관된 스냅샷을 기반으로 데이터 읽기, 잠금을 최소화, 높은 동시성 유지
쓰기 트랜잭션 > 락기법을 사용 > 데이터의 일관성과 무결성 유지, 데이터 충돌 방지
'cs(with 매일메일)' 카테고리의 다른 글
| [251020월] CORS란 무엇인가요? (0) | 2025.10.20 |
|---|---|
| [251017금] MySQL InnoDB에서 갭락과 넥스트키 락이란 무엇이며, 어떻게 팬텀 리드를 방지하나요? (0) | 2025.10.17 |
| [251015수] HTTP 메서드에서 멱등성이란 무엇인가요? (0) | 2025.10.15 |
| [251003금] 동기 방식으로 외부 서비스를 호출할 때 외부 서비스 장애가 나면 어떻게 조치할 수 있나요? (0) | 2025.10.14 |
| [251002목] @Component, @Controller, @Service, @Repository의 차이점에 대해서 설명해주세요 (0) | 2025.10.14 |