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, 내부 형식, 운영 동작이 변경될 수 있습니다. 문서는 최신 상태를 유지하고 있지만, 때때로 지연이 발생할 수 있습니다.
시작하기
- Docker를 설치하고 제공된 빠른 시작 compose 파일을 실행합니다:
curl -O https://kronotop.com/kronotop-quickstart.yaml docker compose -f kronotop-quickstart.yaml up - 번들된
kronotop-cli(또는 어떤 Redis 클라이언트든)로 클라이언트 포트(5484)에 연결하여 데이터 작업을 수행하고, 관리 포트(3320)로 클러스터 관리를 수행합니다. - README에 나와 있는 RESP 명령어를 사용해 버킷을 생성하고, 문서를 삽입하며 쿼리합니다.
- 프로덕션 환경에서는 Maven으로 소스에서 빌드하거나 GitHub Container Registry에서 미리 빌드된 Docker 이미지를 가져옵니다.
라이선스 – Apache License 2.0 (허용성 높고 상용 사용에 적합).
TL;DR – Kronotop은 FoundationDB를 백엔드로 하며 RESP 호환되는 문서 데이터베이스로, 저렴한 고립 네임스페이스, ACID 트랜잭션, 내장된 벡터 검색을 제공합니다. AI 에이전트 및 기타 다중 테넌트, 일관성 중심 애플리케이션의 훌륭한 구성 요소입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트