RedisとMemcachedのAPI互換性を備え、両方のドロップイン置き換えを目指すインメモリデータストア。
apache/kvrocks
RocksDBをストレージに使用し、Redisプロトコルに対応する分散NoSQLキーバリューデータベース。既存のRedisクライアントから接続できます。
代替できる製品:Redis
- スター
- 4,491
- フォーク
- 691
- 未解決の Issue
- 291
- 最終コミット
- 昨日
これは何?
Apache Kvrocksは、ストレージエンジンにRocksDBを採用した分散キーバリュー型NoSQLデータベースです。Redisプロトコルに互換性があるため、任意のRedisクライアントからアクセスできます。Redisのメモリ上にデータを保持する場合と比べて、メモリコストを抑え、ストレージ容量を増やすことを目指しています。
Kvrocksはnamespaceを提供し、namespaceごとに個別のトークンを設定することで、共通のパスワードを使わずにユーザー間のデータを分離できます。レプリケーションはMySQLと同様にbinlogベースの非同期方式で、マスターまたはレプリカに障害が発生した場合のフェイルオーバーにはRedis Sentinelを利用できます。クラスターモードは管理を一元化しながら、標準のRedis clusterクライアントからアクセスできます。
サーバーはx86_64、ARM、RISC-V向けにLinuxとmacOSでビルドでき、OpenSSLを使ったTLSにも任意で対応します。付属ツールでは、クラスター管理、メトリクスのエクスポート、Redisとの相互移行が可能です。
主な機能
- 01Redisプロトコルに互換性があり、標準のRedisクライアントを変更せずに利用できます。
- 02namespaceごとに個別のトークンを設定し、データを分離できます。
- 03binlogベースの非同期レプリケーション。
- 04フェイルオーバーにRedis Sentinelを利用できます。
- 05Redis clusterクライアントからアクセスできる一元管理型のクラスターモード。
- 06OpenSSLを使ったTLSに任意で対応。
ユースケース
- すべてをRedisのメモリ上に保持するとコストがかかる大規模データセットの保存。
- 既存のクライアントを維持しつつ、メモリコストを抑えるためのRedis環境の置き換え。
- 1台のサーバー上で、トークンベースのデータ分離を必要とする複数テナントへのサービス提供。
クイックスタート
- 1
リポジトリをクローンする
git clone https://github.com/apache/kvrocks.git - 2
プロジェクトディレクトリに移動する
cd kvrocks - 3
Kvrocksをビルドする
./x.py build - 4
設定ファイルを指定してKvrocksを実行する
./build/kvrocks -c kvrocks.conf
使う前に知っておきたいこと
- LinuxとmacOSのみ対応しています。
- ソースからビルドするには、複数のシステムパッケージとC++ツールチェーンが必要です。
収録されている特集
トピック
よくある質問
- kvrocks とは?
- RocksDBをストレージに使用し、Redisプロトコルに対応する分散NoSQLキーバリューデータベース。既存のRedisクライアントから接続できます。 Apache Kvrocksは、ストレージエンジンにRocksDBを採用した分散キーバリュー型NoSQLデータベースです。Redisプロトコルに互換性があるため、任意のRedisクライアントからアクセスできます。Redisのメモリ上にデータを保持する場合と比べて、メモリコストを抑え、ストレージ容量を増やすことを目指しています。
- kvrocks は無料で使えますか?ライセンスは?
- kvrocks は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- kvrocks は今もメンテナンスされていますか?
- 活発にメンテナンス中。kvrocks の最終コミットは 2026年11月4日 です。
- kvrocks は何に使えますか?
- すべてをRedisのメモリ上に保持するとコストがかかる大規模データセットの保存。 既存のクライアントを維持しつつ、メモリコストを抑えるためのRedis環境の置き換え。 1台のサーバー上で、トークンベースのデータ分離を必要とする複数テナントへのサービス提供。
- kvrocks のインストール方法は?
- リポジトリをクローンする: git clone https://github.com/apache/kvrocks.git プロジェクトディレクトリに移動する: cd kvrocks Kvrocksをビルドする: ./x.py build 設定ファイルを指定してKvrocksを実行する: ./build/kvrocks -c kvrocks.conf
- kvrocks はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/apache/kvrocks
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
キャッシュやリアルタイム処理向けの、高性能でRedis互換のキーバリューデータ構造サーバー。Redisからフォークされました。
RocksDBを永続ストレージに使い、メモリを超えるデータセットを対象としたRedisプロトコル互換のキーバリューストア。
マルチスレッド対応のRedis互換インメモリデータベース。Redisのドロップイン代替として、active-activeレプリケーションとオプションのFLASHストレージを備えます。
任意のノードで書き込みを受け付け、MySQL wire protocolで通信する、リーダーレスな分散SQLiteレプリケーションサーバー。
Redis RESPプロトコルに対応したC#製のリモートキャッシュストアで、既存のRedisクライアントを変更せずに接続できます。