Valkeyインストールガイド:Redisに代わる完璧なオープンソース・フォーク

Database tutorial - IT technology blog
Database tutorial - IT technology blog

Redisを「タダ乗り」できる時代は終わった?今何が起きているのか

IT業界に身を置いている方なら、RedisがライセンスをBSDからBSL(Business Source License)へ突然変更したニュースを耳にしたことがあるでしょう。端的に言えば、AWSやGoogleといったメガクラウド事業者が、利益を還元したり貢献したりすることなく、Redisをマネージドサービスとして商用利用することができなくなったのです。

この出来事はオープンソースコミュニティに激震を走らせました。「定番」ツールが突如として制限されることへの不安が広がる中、誕生したのがValkeyです。これは全く新しいプロジェクトではなく、Redis 7.2.4からフォークされたもので、Linux Foundationの傘下に入り、AWS、Google, Oracle、Ericssonといった「ビッグテック」が支援しています。

Valkeyは、強力で高性能なインメモリデータストアであり続け、永久に無料であるというコアバリューを維持することを約束しています。

Valkeyは他のフォークと何が違うのか?

現在、Redisの代替を目指すプロジェクトがいくつか存在します。実際に試してみた上での評価をまとめました。

  • KeyDB: かつてマルチスレッド対応で有名になりましたが、現在はValkeyの勢いに押され、開発の勢いが鈍化している印象です。
  • Redict: ミニマリズムを重視したフォークです。旧来の哲学を維持していますが、コミュニティのサポート体制はまだ小規模です。
  • Valkey: 精神的な「正当な後継者」と見なされています。リリースからわずか数ヶ月で1,000件以上のコミットがあり、最新のCPU向けに最適化され、既存のRedisクライアントとも100%の互換性を保っています。

公平な評価:メリットとデメリット

メリット

  • ドロップイン置換(Drop-in Replacement): redis-servervalkey-serverに書き換えるだけです。Node.js、Python、PHPなどのコードは修正なしでそのまま動作します。
  • 印象的なパフォーマンス: 実際のテストでは、I/O処理の改善により、一部のタスクでRedisよりもスループットが10〜20%向上しています。
  • BSD-3-Clauseライセンス: 完全に自由です。個人プロジェクトでも、大規模なスタートアップでも、ライセンス違反を心配することなく利用できます。

デメリット

  • 名前の知名度: クライアントに提案する際、Valkeyが何であるかを説明する手間がかかるかもしれません。
  • エコシステムの移行: 一部の古いGUIツールでは、接続は問題なくても、インターフェース上の表記がまだValkeyに変わっていない場合があります。

なぜ新規プロジェクトでValkeyを選ぶのか?

これまで、キャッシュ層にはRedisを標準として選んできましたが、ライセンスの件を受けて、マイクロサービスシステムでは徐々にValkeyへと移行しています。理由は現実的で、「ベンダーロックイン」のリスクを避け、常に真のオープンソースソフトウェアを使い続けたいからです。

Valkeyを素早くインストールする方法

以下に、初心者エンジニア向けに一般的な2つのインストール方法を紹介します。

方法1:Dockerを使用する(高速でクリーン)

環境を汚さずに試せる方法です。コマンド1つで起動できます。

# Valkeyコンテナをポート6379で実行
docker run --name my-valkey -p 6379:6379 -d valkey/valkey:latest

実行後、Valkeyはポート6379で待機します。Redis Insightやその他のRedis管理ツールを使ってすぐに接続可能です。

方法2:Ubuntu (VPS) にインストールする

Ubuntuサーバーに直接インストールする場合は、以下の手順を実行してください。

# Valkeyの公式キーとリポジトリを追加
sudo apt install -y curl gnupg
curl -fsSL https://pkg.valkey.io/debian/valkey-archive-keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/valkey-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/valkey-archive-keyring.gpg] https://pkg.valkey.io/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/valkey.list

# インストール
sudo apt update && sudo apt install valkey -y

Valkeyが起動しているか確認するには、次のコマンドを使用します:sudo systemctl status valkey-server

valkey-cliでテストする

使い慣れたコマンドはすべてそのまま使えます。ターミナルを開いて試してみましょう:

valkey-cli

# 基本操作
127.0.0.1:6379> set project "Valkey Tutorial"
OK
127.0.0.1:6379> get project
"Valkey Tutorial"

従来のRedisと比べて、使用感に全く違いがないことがわかります。

RedisからValkeyへ移行する際の注意点

稼働中のプロジェクトをRedisからValkeyに移行する場合は、以下の3点に注意してください。

  1. 設定: Valkeyはvalkey.confファイルを使用します。redis.confの内容をそのままコピーしてもエラーなく動作します。
  2. データ: 既存.rdb.aofファイルを非常にスムーズに読み込めます。ダンプファイルをValkeyのデータディレクトリにコピーするだけです。
  3. ライブラリ: redis-pyioredisといったパッケージは、Valkeyを標準的なRedisサーバーとして認識し続けます。

FedoraやAlpine LinuxといったOSがRedisを完全に置き換え始めており、Valkeyは徐々に新しい標準になりつつあります。今のうちに慣れておくことは、キャリアにとって賢い選択と言えるでしょう。導入の成功を祈っています!

Share: