쿠키런: 킹덤 36시간 장애 발생, CockroachDB 복구 불가능 판정
CTO를 포함한 엔지니어들이 비트 레벨까지 파고들어 데이터베이스 해킹 시도
7TB 데이터 복구 성공, 분산 처리 및 오픈소스 활용으로 서비스 재개
CockroachDB는 Pebble을 하위 스토리지로 사용하며, SST 파일 형태로 데이터를 저장한다. 구체적으로 LevelDB의 on-disk format을 기반으로 하며, RocksDB와 호환성을 가진다. 따라서 SST 파일 구조를 파악하여 데이터 복구 가능성을 탐색했다.
장애 상황에서 7TB에 달하는 데이터를 복구하기 위해 PySpark를 활용한 분산 처리를 시도했다. 프로그램을 수정하여 을 로 변환하고, 자원을 최대한 활용했다. 반면, 과정에서 성능 병목이 발생하여 이상 소요되었다.
데브시스터즈는 해커 문화를 통해 기술적 한계를 극복하고, 오픈소스를 적극적으로 활용한다. 따라서 CTO를 포함한 엔지니어들이 데이터베이스의 내부 구조를 파악하고, 소스코드를 직접 수정하여 문제를 해결했다. 결과적으로 데이터 복구에 성공하고, 서비스 안정성을 확보했다.