kronotop  by kronotop

Transactional multi-model database on FoundationDB

Created 3 years ago
291 stars

Top 90.6% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> Kronotop addresses the complexity of managing multiple data models (document, key-value) by providing a unified, strictly serializable transaction boundary. Built on FoundationDB, it allows developers to atomically operate across different data structures and namespaces, eliminating the need for application-level coordination logic like sagas. This offers a significant benefit for applications requiring strong consistency across diverse data needs.

How It Works

Kronotop leverages FoundationDB for its robust distributed transaction guarantees, automatic sharding, and fault tolerance. It exposes multiple data models: the Bucket document store with secondary and vector indexes, and the ZMap ordered key-value store compatible with RESP protocols. Document data is managed by Kronotop's Volume storage engine, while ZMap data resides directly in FoundationDB. Namespaces provide logical data isolation, all participating within FoundationDB's single-transaction model.

Quick Start & Requirements

The quickest way to try Kronotop is via Docker Compose. Download the configuration file from https://kronotop.com/kronotop-quickstart.yaml and run docker compose -f kronotop-quickstart.yaml up. This starts a minimal cluster including FoundationDB and Kronotop nodes. Running Kronotop JARs directly requires Java 25 or newer. The cluster listens on client port 5484 and admin port 3320.

Highlighted Details

  • Unified Transactions: Atomically perform operations across Bucket (document) and ZMap (key-value) data models, even across different namespaces, within a single FoundationDB transaction.
  • Multi-Model Support: Offers a document model with secondary and vector search capabilities (powered by JVector) and a RESP-compatible ordered key-value store.
  • Namespaces: Provides lightweight logical isolation for data using FoundationDB's directory layer.
  • FoundationDB Backend: Inherits strict serializability, automatic sharding, and fault tolerance from FoundationDB.
  • Vector Search: Supports approximate nearest neighbor (ANN) search with HNSW and automatic Product Quantization.

Maintenance & Community

Kronotop is currently in developer preview, meaning APIs and formats may change before the first stable release, and documentation may lag. External contributions are not accepted at this time; use GitHub Issues for bug reports and suggestions. Community support is available via Discord and contact@kronotop.com.

Licensing & Compatibility

Kronotop is licensed under the Apache License 2.0. This license generally permits commercial use and integration into closed-source projects.

Limitations & Caveats

As a developer preview, Kronotop's APIs, internal formats, and operational behavior are subject to change. Documentation may not always reflect the latest implementation status. The project is not currently accepting external contributions.

Health Check
Last Commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
4
Star History
12 stars in the last 30 days

Explore Similar Projects

Starred by Jason Huggins Jason Huggins(Creator of Selenium), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
2 more.

rig by 0xPlaygrounds

0.8%
8k
Rust library for building LLM-powered applications
Created 2 years ago
Updated 15 hours ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Joe Walnes Joe Walnes(Head of Experimental Projects at Stripe), and
9 more.

3FS by deepseek-ai

0.1%
10k
Distributed file system for AI training/inference workloads
Created 1 year ago
Updated 1 month ago
Feedback? Help us improve.