피드로 돌아가기
Dev.toDatabase
원문 읽기
LLM 기반 Deadlock Victim Selection 도입으로 다차원적 롤백 비용 분석 구현
Show HN: I replaced database deadlock victim selection with an LLM — here's the data
AI 요약
Context
기존 DBMS의 Deadlock 해결 방식은 MinLocks나 YoungestFirst 등 단일 기준의 Fixed Rule에 의존하여 롤백 비용에 대한 정밀한 판단이 불가능한 구조임. 특히 트랜잭션 간 상태가 대칭적일 때 무작위 선택에 의존하며 선택 사유를 제공하지 못하는 한계가 존재함.
Technical Solution
- DB 외부에서 Lock 상태를 폴링하여 Wait-for Graph를 구축하고 DFS로 Cycle을 탐지하는 Sidecar 아키텍처 설계
- 결정론적 로직(Cycle 탐지)과 비결정론적 로직(Victim 선택)을 분리하여 LLM을 오직 최종 의사결정 단계에만 배치
- Lock Hierarchy(X > SIX > S > IX > IS)를 System Prompt에 주입하여 단순 개수가 아닌 Lock 강도 기반의 가중치 분석 수행
- Hallucination 방지를 위해 선택된 Victim이 실제 Cycle 내에 존재하는지 검증하는 Hard Reject 레이어 구현
- LLM 응답 내 수치 데이터를 실제 Snapshot과 교차 검증하는 _verify_claims() 정규식 기반 Soft Warn 프로세스 도입
- LLM 장애 또는 응답 실패 시 0ms 지연시간으로 MinLocks 전략으로 전환하는 Fallback 메커니즘 구축
실천 포인트
1. LLM 도입 시 입력 데이터의 Ground Truth를 구조화된 요약본으로 제공하여 환각 가능성 최소화
2. 추론 시간이 긴 LLM의 특성을 고려하여 Critical Path 외부의 Sidecar 형태로 설계하고 Timeout/Fallback 전략 수립
3. LLM의 판단 근거를 정규식 등으로 추출하여 실제 시스템 상태와 일치하는지 검증하는 Validation 파이프라인 구축