kronotop/kronotop

Distributed, transactional document database backed by FoundationDB.

What it solves

Kronotop 是一個分散式、事務性文件資料庫,旨在提供高隔離性與可擴展性。它特別針對 AI agent 與多租戶應用程式在單一叢集內擁有各自邏輯資料庫(命名空間)的需求,允許在沒有顯著開銷的情況下建立數百萬個隔離的環境。

How it works

Kronotop 基於 FoundationDB 構建,利用 FoundationDB 的目錄層來將命名空間實作為 key prefix。它提供兩種主要的資料模型:用於 BSON 文件與具備查詢語言 (BQL) 及向量搜尋能力的 "Bucket",以及用於有序 key-value 對的 "ZMap"。它使用 RESP2 與 RESP3 協定,使其與現有的 Redis-like 客戶端相容。文件內容儲存在名為 Volume 的分段式儲存引擎中,而元數據與 ZMap 資料則直接儲存在 FoundationDB 中。

Who it’s for

它適用於開發 AI agent 上下文儲存、水平可擴展的事務性文件儲存,以及需要基於租約的鎖或原子性變更的的分散式協調系統的開發者。

Highlights

  • Massive Multi-tenancy: Supports millions of isolated namespaces in a single cluster.
  • ACID Transactions: Inherits strictly serializable transactions from FoundationDB, supporting atomic commits across multiple namespaces.
  • RESP Compatibility: Works with redis-cli and valkey-cli without requiring new drivers.
  • Vector Search: Integrated approximate nearest neighbor (ANN) search using HNSW and Product Quantization for AI embeddings.
  • Hybrid Storage: Combines a document store (Bucket) with an ordered key-value store (ZMap).