• Redis 호환 방식으로 동작하는 분산형 트랜잭션 문서 데이터베이스로 FoundationDB를 메타데이터 및 스토리지 관리에 활용
  • MQL과 유사한 쿼리 언어, ACID 트랜잭션, Primary-Standby 복제 모델을 갖춘 디스크 기반 스토리지 엔진을 목표로 함

한눈에 보기

  • 기본적으로 수평 확장(Sharding) 지원 구조
  • 단일 혹은 멀티 마스터 클러스터를 구성해 다양한 배포 전략을 지원
  • Redis Serialization Protocol(RESP)을 사용해 어떤 Redis 클라이언트로든 연결 가능
  • Redis 클러스터 스펙의 일부를 지원
  • FoundationDB를 클러스터 관리와 데이터 구조 정의를 위한 메타스토어로 활용
  • Java로 구현되어 JDK 21 이상을 필요로 함

현재 상태

  • 초기 기능이 구현된 상태지만, 안정적인 기반을 갖추고 있음
  • ZMap : Ordered key-value store로, FoundationDB API 위에 Redis 프로토콜 프록시를 제공함
  • Namespaces : ZMap과 Buckets를 격리하는 개념으로, FoundationDB의 directory layer를 얇게 감싼 구조임
  • Volume : 스토리지 엔진 구현체로서, Primary-Standby 복제 모델을 채택
  • Clustering : 단일 마스터(single-master) 또는 멀티 마스터(multi-master) 형태로 클러스터 구성 가능
  • Redis Data Structures (부분 지원) : String 및 Hash 자료구조 일부를 지원

향후 계획

  • Bucket이라는 데이터 구조를 설계해, JSON-like 문서를 저장할 수 있게 지원할 예정
  • Bucket에서 FoundationDB 기반 트랜잭션과 MQL-like 쿼리 언어를 제공할 계획
  • Redis의 일반적인 자료구조(String, Hash, Sorted Sets 등)를 점진적으로 지원할 계획