kronotop/kronotop
Distributed, transactional document database backed by FoundationDB.
Kronotop – FoundationDB 上で構築された分散型トランザクション対応ドキュメントストア
何であるか – Kronotop は Java で作られたデータベースで、JSON に似た(BSON)ドキュメントと順序付きキー値ペアを格納します。Apple の FoundationDB の上に動作し、ACID、厳密な直列化、自動シャーディング、障害耐性を継承します。このサービスは Redis/Valkey の RESP プロトコル(RESP2 および RESP3 の両方)をサポートしており、既存の Redis クライアントはカスタムドライバーなしで接続可能です。
AI にとってなぜ重要か – 複数の分離された論理データベース(ネームスペース と呼ばれる)が必要なワークロードに最適です。これは、マルチテナント AI プラットフォーム、エージェントごとのメモリストア、またはユーザーごとのコンテキストキャッシュで一般的なパターンです。各ネームスペースは FoundationDB のキー接頭辞にすぎないため、数百万個のネームスペースを作成してもコストは低くなります。Kronotop には以下の機能があります:
- ベクトルインデックス(JVector を通じて):埋め込みフィールドに対する近似最近傍検索を可能にし、トランザクションワークフロー内で高速な類似性照会を実現します。
- ネームスペース間トランザクション – 1 つのトランザクションで任意数のネームスペースに原子的に読み書きできます。
- セカンダリインデックス(単一フィールド、複合、ベクトル)と、BQL クエリを最適化するルールベースのクエリプランナー。
- ZMap – FoundationDB に直接マッピングされる低レベルの順序付きキー値 API。カウンターや分散ロックなどに有用な原子的変更を公開します。
コアコンセプト
- ネームスペース – キー空間レベルで分離された階層的な論理データベース。
- Bucket – ドキュメントモデル。CRUD、BQL クエリ、カーソルベースのストリーミング、ベクトル検索をサポートします。
- ZMap – 原始的な順序付きキー値操作用の RESP 互換プロキシ。
- トランザクション – FoundationDB トランザクションの薄いラッパー。デフォルトで自動コミットされ、複数コマンドの原子性のために明示的な
BEGIN … COMMITブロックが利用可能。 - クラスタリング – データはシャーディングされ、各シャードはプライマリとオプションのスタンバイボリュームレプリカに配置されます。クラスタの調整は 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 エージェントやその他のマルチテナント・整合性が重要なアプリケーションの構築に便利な基盤となります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト