데이터베이스 시스템에서 동시성을 제어하는 방법으로는 MVCC(Multi-Version Concurrency Control)과 Lock-Based Concurrency Control이 있다. MVCC(Multi-Version Concurrency Control) MVCC는 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 쓰고 읽을 수 있다. 즉, 각 트랜잭션은 각자만의 스냅샷을 기반으로 데이터를 읽는다. 하지만 이러한 특징 때문에 만약 T1 트랜잭션에서 쓰기 작업을 하고 커밋하지 않은 상태에서 T2에서 해당 변경 사항을 보지 못한다. MVCC는 읽기 작업 시 락을 사용하지 않아 높은 동시성을 제공한다. 즉 읽기 작업은 락에 의해 지연되지 않아 읽기 위주의 작업이 많은 애플리케이션에서 좋은 성능..
[매일메일] 데이터베이스 시스템에서 동시성을 제어하는 방법은?
데이터베이스 시스템에서 동시성을 제어하는 방법으로는 MVCC(Multi-Version Concurrency Control)과 Lock-Based Concurrency Control이 있다. MVCC(Multi-Version Concurrency Control) MVCC는 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 쓰고 읽을 수 있다. 즉, 각 트랜잭션은 각자만의 스냅샷을 기반으로 데이터를 읽는다. 하지만 이러한 특징 때문에 만약 T1 트랜잭션에서 쓰기 작업을 하고 커밋하지 않은 상태에서 T2에서 해당 변경 사항을 보지 못한다. MVCC는 읽기 작업 시 락을 사용하지 않아 높은 동시성을 제공한다. 즉 읽기 작업은 락에 의해 지연되지 않아 읽기 위주의 작업이 많은 애플리케이션에서 좋은 성능..
2025.02.03