kronotop/kronotop

Distributed, transactional document database backed by FoundationDB.

Kronotop – FoundationDB 기반의 분산형 트랜잭션 문서 저장소

무엇인가요 – Kronotop은 Java 기반의 데이터베이스로, JSON 유사(BSON) 문서와 순서 있는 키-값 쌍을 저장합니다. Apple의 FoundationDB 위에서 작동하며, ACID, 엄격한 직렬화, 자동 샤딩 및 장애 내성 기능을 상속합니다. 이 서비스는 Redis/Valkey의 RESP 프로토콜(RES2 및 RESP3 모두)을 지원하므로, 기존 Redis 클라이언트는 커스텀 드라이버 없이도 연결할 수 있습니다.

AI에 왜 중요한가요 – 여러 개의 고립된 논리적 데이터베이스(이를 네임스페이스 라고 함)가 필요한 워크로드에 최적화되어 있습니다. 다중 테넌트 AI 플랫폼, 에이전트별 메모리 저장소, 사용자별 컨텍스트 캐시 등에서 흔히 사용되는 패턴입니다. 각 네임스페이스는 FoundationDB의 키 접두사에 불과하므로, 수백만 개를 생성하는 데 비용이 들지 않습니다. Kronotop은 다음과 같은 기능을 제공합니다:

  • 벡터 인덱스 (JVector를 통해): 임베딩 필드에 대한 근사 최근접 이웃 검색을 가능하게 하여, 트랜잭션 워크플로 내에서 빠른 유사성 검색을 지원합니다.
  • 네임스페이스 간 트랜잭션 – 하나의 트랜잭션으로 임의의 수의 네임스페이스에 원자적으로 읽기/쓰기 작업을 수행할 수 있습니다.
  • 보조 인덱스 (단일 필드, 복합, 벡터) 및 BQL 쿼리를 최적화하는 규칙 기반 쿼리 플래너.
  • ZMap – 원시 순서 있는 키-값 작업을 위한 RESP 호환 프록시. 카운터, 분산 락 등에 유용한 원자적 변경을 노출합니다.

핵심 개념

  • 네임스페이스 – 키 공간 수준에서 고립된 계층적 논리 데이터베이스.
  • Bucket – 문서 모델; CRUD, BQL 쿼리, 커서 기반 스트리밍, 벡터 검색을 지원합니다.
  • ZMap – 원시 순서 있는 키-값 작업을 위한 RESP 호환 프록시.
  • 트랜잭션 – FoundationDB 트랜잭션의 얇은 래퍼. 기본적으로 자동 커밋되며, 다중 명령의 원자성을 위해 명시적인 BEGIN … COMMIT 블록을 사용할 수 있습니다.
  • 클러스터링 – 데이터는 샤딩되며, 각 샤드는 기본(primary)과 선택적 스탠바이(standby) 볼륨 복제본에 위치합니다. 클러스터 조정은 FoundationDB가 모두 처리합니다.

일반적인 사용 사례

  • LLM 기반 어시스턴트용 에이전트별 또는 테넌트별 컨텍스트 저장소. 각 에이전트는 고유의 네임스페이스를 가지며, 임베딩과 기타 메타데이터를 함께 저장할 수 있습니다.
  • 강한 일관성을 필요로 하는 애플리케이션을 위한 수평 확장 가능한 트랜잭션 문서 저장소.
  • ZMap의 충돌 없는 원자적 변경을 기반으로 한 분산 조정 원시형(락, 카운터 등).
  • 전통적인 키-값 접근 패턴과 벡터 유사성 검색을 결합한 워크로드.

성숙도 – 프로젝트는 개발자 사전 보기 단계입니다. 핵심 아키텍처와 트랜잭션 모델은 안정되어 있으나, 1.0 릴리스 전에 API, 내부 형식, 운영 동작이 변경될 수 있습니다. 문서는 최신 상태를 유지하고 있지만, 때때로 지연이 발생할 수 있습니다.

시작하기

  1. Docker를 설치하고 제공된 빠른 시작 compose 파일을 실행합니다:
    curl -O https://kronotop.com/kronotop-quickstart.yaml
    docker compose -f kronotop-quickstart.yaml up
    
  2. 번들된 kronotop-cli (또는 어떤 Redis 클라이언트든)로 클라이언트 포트(5484)에 연결하여 데이터 작업을 수행하고, 관리 포트(3320)로 클러스터 관리를 수행합니다.
  3. README에 나와 있는 RESP 명령어를 사용해 버킷을 생성하고, 문서를 삽입하며 쿼리합니다.
  4. 프로덕션 환경에서는 Maven으로 소스에서 빌드하거나 GitHub Container Registry에서 미리 빌드된 Docker 이미지를 가져옵니다.

라이선스 – Apache License 2.0 (허용성 높고 상용 사용에 적합).


TL;DR – Kronotop은 FoundationDB를 백엔드로 하며 RESP 호환되는 문서 데이터베이스로, 저렴한 고립 네임스페이스, ACID 트랜잭션, 내장된 벡터 검색을 제공합니다. AI 에이전트 및 기타 다중 테넌트, 일관성 중심 애플리케이션의 훌륭한 구성 요소입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트