InnoDB
프로그래밍/Database
2020. 5. 15.
[MySQL] 동시성 문제의 해결을 위한 for update
2020/05/09 - [프로그래밍/Database] - [MySQL] Lock wait timeout exceeded [MySQL] Lock wait timeout exceeded 기존에 정상적으로 동작하던 API에서 간헐적으로 Timeout Error가 발생하기 시작했다. Cloudwatch Log에서 다음과 같은 에러 메시지를 확인하였고, 외부 연동 포인트가 아닌 DB에서 발생한 문제 임을 알�� jaenjoy.tistory.com Lock wait timeout exceeded 문제를 직면하고 이를 해결하는 과정에서 새롭게 학습하고, 기존의 지식을 재정리하게 된 또 하나의 주제로 For Update를 다뤄보고자 한다. Web Service의 특징과 필수 조건 For Update에 대한 글 이전에 ..
프로그래밍/Database
2020. 5. 12.
[MySQL] MyISAM과 InnoDB_MySQL storage engine
2020/05/09 - [프로그래밍/Database] - [MySQL] Lock wait timeout exceeded [MySQL] Lock wait timeout exceeded 기존에 정상적으로 동작하던 API에서 간헐적으로 Timeout Error가 발생하기 시작했다. Cloudwatch Log에서 다음과 같은 에러 메시지를 확인하였고, 외부 연동 포인트가 아닌 DB에서 발생한 문제 임을 알�� jaenjoy.tistory.com 지난 Lock wait timeout exceeded 포스팅에서 언급한 적이 있던 innodb에 대해 설명해보고자 한다. Storage Engine 스토리지 엔진(Storage Engine)이란 물리적 저장장치에서 데이터를 읽어오는 역할을 담당하는 부분이다. "데이터를 ..
프로그래밍/Database
2020. 5. 9.
[MySQL] Lock wait timeout exceeded
기존에 정상적으로 동작하던 API에서 간헐적으로 Timeout Error가 발생하기 시작했다. Cloudwatch Log에서 다음과 같은 에러 메시지를 확인하였고, 외부 연동 포인트가 아닌 DB에서 발생한 문제 임을 알게 되었다. Lock wait timeout exceeded; try restarting transaction Lock Timeout이 발생하는 원인 1. Transaction 수행 시간이 긴 경우 Lock Timeout이 발생하는 것은 하나의 Transaction이 처리되는 데에 시간이 오래 소요되는 경우이다. 실제로 에러가 간헐적으로 발생하는 API는 Bulk 요청이 주로 이뤄지는 API들이다. Bulk 요청이기 때문에 Transaction 관리를 보다 철저하게 처리해주었는데, Tran..