데이터베이스 시스템에서 동시성을 제어하는 방법에 대해서 설명해주세요.
·
백엔드 면접
대표적인 동시성 제어 방법으로는 MVCC와 Lock-Based Concurrency Control이 있습니다. MVCC (Multi-Version Concurrency Control)MVCC는 데이터의 여러 버전을 유지하여 트랜잭션이 동시에 데이터를 읽고 쓸 수 있도록 하는 방식입니다. 각 트랜잭션은 자신만의 일관된 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항에 영향을 받지 않습니다. 데이터의 각 버전을 유지하여 읽기 작업과 쓰기 작업이 독립적으로 이루어질 수 있습니다. 트랜잭션은 시작 시점의 스냅샷을 기반으로 데이터를 읽어, 다른 트랜잭션의 변경 사항을 보지 못합니다. MVCC는 읽기 작업 시 잠금을 사용하지 않아 높은 동시성을 제공합니다. 읽기 작업이 잠금에 의해 지연되지 않아 읽기 ..