기타 Lobsters · 1일 전

'완벽한 ACID' 자랑하던 신상 DB, 까보니 삭제된 테이블 부활하고 데이터 유실 파티

핵심 요약
  • AI 워크로드용 신생 DB 파티클DB가 '완전한 ACID'를 표방했으나 젭센 테스트에서 96건의 심각한 결함이 적발되었습니다.
  • 복잡한 장애 상황도 아닌 단일 서버·단일 클라이언트 환경에서 문자열이 정수로 변하고 삭제한 테이블이 부활하는 등 기괴한 버그가 다수 발견되었습니다.
  • 기본 트랜잭션 모드에서 커밋 유실이 발생했으며 개발사 측은 후속 패치 버전에서 지적된 문제들을 수정했다고 밝혔습니다.
요약 분산 시스템의 엄격한 신뢰성 검증으로 유명한 젭센(Jepsen)이 AI 워크로드를 위해 개발된 멀티모델 데이터베이스 '파티클DB(ParticleDB)'를 테스트한 결과, 충격적인 수준의 결함들을 확인했다고 밝혔습니다. 넷플릭스 콘덕터(Conductor)의 상용화 플랫폼을 이끄는 오케스(Orkes)가 개발한 파티클DB는 Rust 기반으로 작성되어 PostgreSQL보다 수십 배 빠르면서도 완전한 트랜잭션 안전성(Full ACID)과 TLA+ 정형 검증을 내세우며 대대적으로 홍보해왔습니다. 그러나 젭센이 버전 1.1.4부터 1.1.18.11.rc-22까지 분석한 결과 총 96건의 문제가 발견되었습니다. 단순 시스템 다운이나 교착 상태(데드락), 데이터 손실 같은 일반적인 결함은 물론이고, 삭제가 되지 않는 반투명 유령 행(row), 'WHERE 4 = 5' 쿼리의 기괴한 동작, 삭제된 테이블이 뒤틀린 형태로 부활하는 현상, 컬럼 혼선 및 문자열이 갑자기 정수로 뒤바뀌는 등의 온갖 기상천외한 버그들이 쏟아져 나왔습니다. 더욱 황당한 점은 대부분의 버그가 복잡한 네트워크 장애 상황이 아니라, 단일 서버와 단일 클라이언트라는 극히 평범한 일상 구동 상태에서 재현되었다는 점입니다. 뿐만 아니라 TLA+로 정형 검증되었다는 홍보와 달리 협업 당시 실제 TLA+ 명세서는 존재하지도 않았으며, 공식 문서와 실제 동작 간의 불일치도 심각했습니다. 기본값인 낙관적 동시성 제어(OCC) 모드에서는 정상적인 쓰기 커밋이 유실되었고, 가장 엄격한 직렬화(serializable) 격리 수준에서도 비정상 동작과 갱신 손실(Lost Update)이 지속적으로 발생했습니다. 오케스 측은 최신 릴리스 후보(1.1.19-rc.13)에서 보고서에 언급된 잔여 문제들을 모두 해결했다고 주장하고 있습니다.
Sponsored · 광고