Doha's Dev Log

MySQL 대량 DML이 위험한 이유 — Binary Log와 Undo Log 관점

들어가며 이전 글에서 상품 서비스가 RC를 채택한 이유를 다뤘다. 대량 재고를 청크 단위로 나눠서 병렬 처리한다는 이야기도 했다. 그런데 왜 굳이 청크로 나눠야 할까? 한 번에 100만 건을 UPDATE하면 안 되는 걸까? 이 질문에 답하려면 MySQL이 데이터를 변경할 때 내부에서 어떤 일이 일어나는지 알아야 한다. 핵심은 두 가지 로그다. ...