Jepsen이 ParticleDB 1.1.4를 분석, 96개 결함 발견
Key Point
ParticleDB가 Postgres 호환성을 표방하며 프로덕션 배포 중임에도 기본적인 트랜잭션 격리, 제약 조건 강제, WHERE 절 평가 같은 핵심 SQL 기능에서 광범위한 결함을 가지고 있어, 현재의 신뢰성 수준을 평가해야 한다.
핵심 요약
- Orkes가 개발한 ParticleDB는 SQL, 키-밸류, 벡터 검색, 라이브 분석을 하나의 엔진에 통합한 데이터베이스로, Postgres와 Redis 프로토콜을 지원하며 Rust로 작성되었다.
- Jepsen은 ParticleDB 1.1.4~1.1.18.11.rc-22를 테스트하여 96개의 결함을 발견했으며, 공식 TLA+ 증명이 불가능하고 트랜잭션 격리 수준 설정이 제대로 작동하지 않음을 지적했다.
- 성능 문제로 table-2pl 모드에서 대부분의 트랜잭션이 10~30초 지연되었고, 신비한 충돌로 인해 수백~수천 초 후 오류 메시지 없이 죽었다.