- DragonflyDB는 공유되지 않는(shared-nothing) 아키텍처를 사용하여 Redis를 대체하는 분산 트랜잭션 구현. 🚀
- 다중 스레드 환경에서 여러 해시 테이블에 데이터 분산. 🌐
- 트랜잭션의 원자성과 직렬화를 보장. 🔒
- 조정자(coordinator) 스레드가 메시지 전달 방식으로 각 조각(shard)과 통신. ✉️
- 2단계 커밋(two-phase commit) 프로토콜을 사용하여 트랜잭션 처리. 🔄
- 조정자 스레드만 차단되므로 처리량 저하 없음. ⚡
- 각 조각은 트랜잭션 큐를 유지하고 직렬화를 유지하도록 트랜잭션 순서를 조정. 🗂️
- 직렬화를 유지할 수 없으면 트랜잭션 실패 후 재시도. 🔄
- 의도 잠금(intent lock)을 사용하여 데이터 일관성 유지. 🔐