RocksDBをストレージに使用し、Redisプロトコルに対応する分散NoSQLキーバリューデータベース。既存のRedisクライアントから接続できます。
OpenAtomFoundation/pikiwidb
RocksDBを永続ストレージに使い、メモリを超えるデータセットを対象としたRedisプロトコル互換のキーバリューストア。
代替できる製品:Redis
- スター
- 6,136
- フォーク
- 1,170
- 未解決の Issue
- 89
- 最終コミット
- 22 日前
これは何?
PikiwiDB(Pika)は、Redisプロトコルに対応したキーバリューストレージシステムです。string、hash、list、zset、set、geo、hyperloglog、pubsub、bitmap、streamなど、一般的なRedisのデータ型をサポートします。すべてのデータをメモリに保持するのではなく、データをRocksDBに永続化し、頻繁にアクセスされるデータをキャッシュするため、容量はRAMではなくディスクによって決まります。
Redisのメモリコストやシングルスレッドの制約が問題になるワークロード向けに、置き換えて使える代替手段として設計されています。slaveofコマンドを使ってレプリカを持つ単一のmasterとして構成でき、完全同期と増分同期に対応します。また、グループの追加・削除によって拡張できるCodisクラスターとしても運用できます。Redisからデータを移行するためのツールもリポジトリに含まれています。
C++17を使い、CentOS、Ubuntu、macOS上でソースからビルドできます。公式Dockerイメージも提供されています。監視用メトリクスは、付属のexporterを通じて公開されます。
主な機能
- 01Redisプロトコルおよび一般的なRedisデータ構造に対応
- 02頻繁にアクセスされるデータをキャッシュしつつ、データをRocksDBに永続化
- 03完全同期と増分同期に対応したmaster-slaveレプリケーションをサポート
- 04グループの追加・削除によってCodisクラスターをスケールアウト
- 05LinuxおよびmacOS向けのDockerイメージとビルドスクリプトを提供
ユースケース
- Redisのメモリに収まらない大規模なデータセットの保存
- 大規模なキーバリューワークロードにおけるメモリ関連のハードウェアコスト削減
- アプリケーションコードを変更せずに、既存のRedis環境をディスクベースのストアへ移行
クイックスタート
- 1
ソースコードをクローンする
git clone https://github.com/OpenAtomFoundation/pikiwidb.git - 2
ビルドスクリプトでコンパイルする
./build.sh - 3
サンプル設定でPikiwiDBを起動する
./output/pika -c ./conf/pika.conf
使う前に知っておきたいこと
- ソースからビルドするには、C++17に対応したgcc/g++ 9以降とcmake 3.18以降が必要です。
- READMEに記載されている対応プラットフォームは、CentOS、Ubuntu、macOSのみです。
トピック
よくある質問
- pikiwidb とは?
- RocksDBを永続ストレージに使い、メモリを超えるデータセットを対象としたRedisプロトコル互換のキーバリューストア。 PikiwiDB(Pika)は、Redisプロトコルに対応したキーバリューストレージシステムです。string、hash、list、zset、set、geo、hyperloglog、pubsub、bitmap、streamなど、一般的なRedisのデータ型をサポートします。すべてのデータをメモリに保持するのではなく、データをRocksDBに永続化し、頻繁にアクセスされるデータをキャッシュするため、容量はRAMではなくディスクによって決まります。
- pikiwidb は無料で使えますか?ライセンスは?
- pikiwidb は BSD-3-Clause ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pikiwidb は今もメンテナンスされていますか?
- 活発にメンテナンス中。pikiwidb の最終コミットは 2026年10月16日 です。
- pikiwidb は何に使えますか?
- Redisのメモリに収まらない大規模なデータセットの保存 大規模なキーバリューワークロードにおけるメモリ関連のハードウェアコスト削減 アプリケーションコードを変更せずに、既存のRedis環境をディスクベースのストアへ移行
- pikiwidb のインストール方法は?
- ソースコードをクローンする: git clone https://github.com/OpenAtomFoundation/pikiwidb.git ビルドスクリプトでコンパイルする: ./build.sh サンプル設定でPikiwiDBを起動する: ./output/pika -c ./conf/pika.conf
- pikiwidb はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/OpenAtomFoundation/pikiwidb
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
キャッシュやリアルタイム処理向けの、高性能でRedis互換のキーバリューデータ構造サーバー。Redisからフォークされました。
Memcache、Redis/Valkey、HTTP、Postgresのプロトコルに対応し、単一のCファイルとして組み込める、低レイテンシなC製キャッシュサーバーです。
RedisとMemcachedのAPI互換性を備え、両方のドロップイン置き換えを目指すインメモリデータストア。
キャッシュ、データ構造サーバー、ドキュメントストア、ベクトルデータベース、メッセージブローカーとして使えるインメモリデータストア。
.NETアプリケーションからRedisやValkey、Garnet、AWS ElastiCacheなどのRESP互換サーバーに接続するためのクライアントライブラリ。