このプロジェクトについて

FrogDBは、Redis 8.0との完全な互換性を目指す、Rustで書かれたメモリファーストのデータベースです。非同期エンジンとしてTokioをベースに構築されており、RESP2とRESP3の両ワイヤプロトコルを実装しているため、クラスタ対応クライアントを含む既存のあらゆるRedisクライアントを変更なしで接続できます。 ステータス: FrogDBはプレリリースソフトウェアであり、破壊的変更が予想されます。READMEでは、一貫性モデルが再構築・強化中であり、クラスタとレプリケーションのコードが書き直されているため、これらの領域における動作やAPIは変更される可能性があると記載されています。 データ型とコマンド - コア構造: Strings、Lists、Sets、Sorted Sets、Hashes、Streams - ビットマップとビットフィールド: BITCOUNT、BITOP、BITPOS、BITFIELD - JSON: JSONPathを備えたRedisJSON互換のドキュメントストレージ - 時系列: 集約とダウンサンプリングに対応したGorilla圧縮の時系列 - ベクトルセット: 近似最近傍探索 - 確率的構造: Bloomフィルタ、Cuckooフィルタ、HyperLogLog、Count-Min Sketch、Top-K、T-Digest - 地理空間: Geohashインデックスと距離クエリ - チャネルおよびパターン購読に対応したPub/Sub、さらにイベントソーシング - LuaスクリプトとMULTI/EXECトランザクション - 検索: 全文検索、セカンダリインデックス、ベクトル検索、集約、JSONドキュメント - クロススロット操作(MULTI/EXEC、MGETなど)はシングルノード運用で許可されます クラスタリングとレプリケーション - リサイズとリードレプリカに対応したクラスタ運用 - クラスタ状態の調整のためのRaftベースの合意形成 - クラスタの自動リバランスはTODOとして記載 永続化 - RocksDBをバックエンドとするライトアヘッドログで、ストレージとレプリケーションの両方に使用 - 設定可能な耐久性モード(ライトスルーまたは非同期) - プロジェクトの説明ではホット/