# Kronotop - Redis 호환 분산 문서 저장소, FoundationDB 기반

> Clean Markdown view of GeekNews topic #18923. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18923](https://news.hada.io/topic?id=18923)
- GeekNews Markdown: [https://news.hada.io/topic/18923.md](https://news.hada.io/topic/18923.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-01-27T09:51:01+09:00
- Updated: 2025-01-27T09:51:01+09:00
- Original source: [github.com/kronotop](https://github.com/kronotop/kronotop)
- Points: 4
- Comments: 0

## Summary

Kronotop은 Redis 호환 방식으로 동작하는 분산형 트랜잭션 문서 데이터베이스로, FoundationDB를 메타데이터 및 스토리지 관리에 활용합니다. 이 시스템은 MQL과 유사한 쿼리 언어와 ACID 트랜잭션을 지원하며, Primary-Standby 복제 모델을 갖춘 디스크 기반 스토리지 엔진을 목표로 하고 있습니다. 향후 계획으로는 JSON-like 문서를 저장할 수 있는 Bucket 데이터 구조를 설계하고, Redis의 일반적인 자료구조를 점진적으로 지원할 예정입니다.

## Topic Body

- 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 등)를 점진적으로 지원할 계획

## Comments



_No public comments on this page._
