4P by xguru 12시간전 | ★ favorite | 댓글 2개
  • Go로 개발된 고성능 키-밸류 DB로, C 인터페이스를 지원하며 LSM 트리, MVCC, lock-free 구조 등 최신 DB 설계 원칙을 반영함
  • WAL(Write Ahead Logging) 기반 즉시 일관성 및 내구성 보장, 백그라운드 플러시/컴팩션, lock-free 병렬 처리 등으로 높은 쓰기/읽기 성능 제공
  • 싱글 노드 내장형 구조로 네트워크나 분산 없이 가볍고 빠른 데이터 저장을 지향함

Wildcat의 주요 특징

  • LSM 트리 기반, 쓰기 집중 워크로드에 최적화
  • MVCC(멀티버전 동시성 제어), lock-free 데이터 구조로 주요 경로 무잠금 처리
  • WAL 로깅: 트랜잭션 전체 상태 기록 및 복구 지원
  • 버전 인식 skip list로 인메모리 MVCC 가속
  • 스레드 세이프/락프리 쓰기 및 아토믹 캐시/메모리 관리
  • SSTable은 불변(immutable) BTree 구조, 키-값 분리 및 블룸필터 최적화 지원
  • 트랜잭션 ACID 보장 및 내구성(Full/Partial/None) 레벨 선택 가능
  • Crash recovery로 커밋/미완료 트랜잭션 모두 복구
  • 배치/이터레이터: 범위, 프리픽스, 양방향 반복 지원
  • Bloom Filter, key-value 분리(.klog, .vlog), tombstone/버전 인식 컴팩션 등 최신 설계
  • 통계/로깅/모니터링: Stats(), LogChannel 등 다양한 진단 및 통계 인터페이스 제공
  • C 라이브러리 빌드 및 API: Go 공유 라이브러리로 빌드, 다양한 언어에서 직접 사용 가능
  • Go 1.24+ 및 Linux/macOS/Windows(64비트) 지원

왜 중요한가? (타 임베디드 KV와의 차별점)

  • RocksDB, Badger 등과 유사한 LSM+MVCC 구조지만 Go 네이티브 lock-free, 멀티스레드 설계로 Go 환경에서 최적화된 사용성
  • 내장 DB 특화: 네트워크/복제 오버헤드 없이 즉시 일관성/내구성/고성능 구현
  • 트랜잭션 복구, 미완료 상태 유지 등 신뢰성과 투명성 높음
  • 다양한 컴팩션/버퍼/캐시 파라미터를 통해 워크로드별 맞춤형 튜닝 가능

수상할정도로 디비가 많이 나오는 언어

수상할정도로 디비가 많이 나오는 언어