더북(TheBook)

트랜잭션은 유용하고 재미있는 특징을 갖고 있으나, 이것으로 미처 생각지 못한 일이 발생할 수도 있습니다. 예를 들어 다음 상황을 가정해 볼까요?

• 게임 서버가 플레이어 정보를 메모리에 항상 보관하고 있습니다.

• 플레이 처리의 주체는 게임 서버 내부의 메모리 안에서 이루어집니다.

• 데이터베이스는 세이브 데이터 역할 정도만 합니다.

이러한 상황에서는 트랜잭션 사용으로 얻는 원자성(레코드 둘 이상을 전부 기록하거나 기록하지 않거나) 효과보다 교착 상태나 병렬성 하락으로 일어나는 손실이 더 크다는 점을 알아 두기 바랍니다. 이는 게임 개발 과정에서는 눈에 잘 띄지 않지만, 상업용 게임 서비스를 정식 오픈하고 나서 종종 겪는 일입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.