[Ruby On Rails] 동시성 제어하기 - ActiveRecord Locking


[Ruby On Rails] 동시성 제어하기 - ActiveRecord Locking

API 동시 호출로 인하여 데이터의 무결성이 깨지는 문제가 있었고 트랜잭션 동시성 제어의 필요성을 느꼈다. 동시성 제어 (Concurrency Control) 란? : 동시에 실행되는 여러 개의 트랜잭션이 작업을 성공적으로 마칠 수 있도록 트랜잭션의 실행순서를 제어하는 기법 동시성 제어의 목적 트랜잭션의 직렬성 보장 공유도 최대, 응답시간 최소, 시스템 활동의 최대 보장 데이터 무결성 및 일관성 보장 그렇다면 동시성 제어를 어떻게 할 수 있을까? 락킹(locking) : 트랜잭션이 데이터에 잠금을 설정하면 다른 트랜잭션에서 해당 데이터에 대해 잠금이 해제되기 전까지 접근/수정/삭제를 불가능하도록 하여, 트랜잭션이 사용하는 자원에 대하여 상호 배제 기능을 제공하는 방식 타임스탬프 : 시스템에서 생성하는 고..


원문링크 : [Ruby On Rails] 동시성 제어하기 - ActiveRecord Locking