길드 업데이트 후, CockroachDB의 Hot Range 문제로 데이터베이스 과부하 발생
점검 아닌 점검을 통해 접속 유저 수를 조절하고, 데이터 백업을 진행함
Hot Range 발생 원인 분석 및 노드 제거, 데이터베이스 안정화 노력, 데이터베이스 성능 개선
CockroachDB는 Range 단위로 데이터를 분산 저장하며, Primary Key 정렬 후 분할한다. 구체적으로 길드 업데이트 후, 인덱스 Prefix 구조 변경과 새 노드 추가로 인해 Hot Range가 발생했다. 따라서, 부하 분산 실패로 데이터베이스 성능 저하가 발생했다.
서버 점검 없이 접속 대기열 기능을 활용하여 부하를 줄였다. 구체적으로, 로그인 블록을 통해 신규 유저 접속을 제한하고, 기존 유저는 킥하지 않았다. 반면, 데이터베이스 안정화를 위해, 데이터 백업을 진행하고, 노드 제거를 통해 문제를 해결했다.
분산 데이터베이스 운영 시, Hot Range와 같은 문제 발생 가능성을 인지해야 한다. 따라서, Primary Key 설계 시 데이터 분포를 고려하고, 모니터링 시스템을 구축하여 이상 징후를 조기에 감지해야 한다. 결과적으로, 데이터 무결성과 서비스 안정성을 확보할 수 있다.