ライフスタイル

Google Cloud、Memorystore for Valkey 9.1 の一般提供を発表:公式発表では QPS が最大 3 倍に

Google Cloud はマネージド キャッシュ サービス Memorystore for Valkey 9.1 の一般提供(GA)を発表しました。公式によれば Memorystore for Redis Cluster と比べて最大 3 倍の QPS を実現し、データベース単位のアクセス制御や CLUSTERSCAN などの機能も追加されています。要点と一般の読者にとっての意味をまとめます。

読了目安 8 分

Google Cloud、Memorystore for Valkey 9.1 の一般提供を発表:公式発表では QPS が最大 3 倍に
画像:Mokaair (Original editorial artwork)

何が起きたのか

Google Cloud は公式ブログで、Memorystore for Valkey 9.1 の一般提供を発表しました。記事の署名は Google のシニア プロダクト マネージャー Ankit Sud 氏とソフトウェア エンジニアの Jacob Murphy 氏です。Google Cloud によると、このバージョンは既存の Memorystore for Redis Cluster と比べ、マイクロ秒単位のレイテンシで最大 3 倍の秒間クエリ数を実現できるとしています。

Valkey とは何か。Google Cloud の説明によれば、2024 年に Redis Inc. がライセンスを寛容な BSD オープンソース ライセンスからデュアル ライセンス方式に変更したことを受け、Google Cloud をはじめとするテック企業が、Linux Foundation が管理するオープンソースの代替として Valkey の立ち上げを支援しました。簡単に言えば、Valkey はデータをメモリ上に置き、非常に高速に読み書きできるデータベースで、ウェブサイトやアプリのキャッシュによく使われます。

Google Cloud、Memorystore for Valkey 9.1 の一般提供を発表:公式発表では QPS が最大 3 倍に
Mokaair 編集検証フロー · 画像:Mokaair (Original editorial artwork)
詳しい説明を読む

情報源を収集し、独立検証を行ってから Jev が判断します。

Valkey 9.1 の変更点

性能:スレッド間の通信を再設計

スレッドとは、プログラムの中で並行して処理を進める単位のことです。Google Cloud の説明によると、従来の Valkey はラウンドロビン方式(順番に割り振る方式)でクライアント接続を I/O スレッドに固定的に割り当て、メインスレッドが保留リストを常にチェックする必要がありました。Valkey 9.1 はロックフリー(処理同士が互いの終了を待たずに進められる方式)のマルチキュー メッセージング アーキテクチャに移行し、相互に補完する 3 種類のキューを備えることで、空いているワーカースレッドが必要に応じてタスクを取得できるようにしました。さらに公式によると、新バージョンは 2 段階の動的スケーリングを採用しています。メインスレッドの CPU 使用率が 30% を超えると最初のバックグラウンド I/O スレッドが自動的に起動し、その後はキューの滞留量に応じてスレッド数を増減し、アイドル時には余分なコアを停止します。

セキュリティと管理:よりきめ細かなアクセス制御

Google Cloud によると、Memorystore for Valkey は最近、IAM(Google Cloud の権限管理の仕組み)で設定するアクセス制御リスト(ACL、誰が何にアクセスできるかを定めるルール)に追加料金なしで対応しました。1 つのポリシーを複数のクラスタに適用でき、バージョン管理されたポリシー改訂と監査ログも提供されます。従来、ACL ルールはインスタンス全体に適用されていましたが、公式によれば Valkey 9.1 ではユーザーのアクセス範囲を特定の番号のデータベースに限定でき、たとえばテスト用アカウントが本番以外の環境のデータにしか触れられないようにできます。

開発者向けコマンド:スキャン、アトミック操作、有効期限

  • CLUSTERSCAN:Google Cloud によると、従来はクラスタ全体をスキャンするにはノードを 1 つずつ照会する必要があり、ノードのフェイルオーバー(障害時の切り替え)時にデータの取りこぼしや重複が起こり得ました。新コマンドはクラスタ トポロジー(構成)を認識するカーソルを使い、順次スキャンのほか、16,384 個のスロットを分担して並列スキャンすることにも対応します。
  • HGETDEL:1 回のネットワーク往復でハッシュ フィールドをアトミックに(途中で他の処理が割り込めない一つの操作として)読み取り・削除します。公式は使い捨ての認証トークンを例に挙げています。
  • MSETEX:複数のキーを一度に設定し、同じ有効期限を共有させます。
  • HSETEX:NX と XX の条件フラグを追加。それぞれフィールドが存在しない場合のみ設定、存在する場合のみ設定を意味します。
Valkey 9.1 の主な変更点の比較(出典:Google Cloud 公式ブログ)
項目従来の方式(Google Cloud による)Valkey 9.1(Google Cloud による)
I/O スレッドの分担ラウンドロビンで静的に割り当て、メインスレッドがリストを常時チェックロックフリーのマルチキュー構成で、スレッドが必要に応じて処理を取得
スレッドのスケーリング静的なしきい値メインスレッドの CPU が 30% 超で起動し、キューの滞留に応じて増減
ACL の範囲インスタンス全体にグローバルに適用特定の番号のデータベースに限定可能
クラスタのキー スキャンノードを 1 つずつ照会し、フェイルオーバー時に取りこぼしや重複の恐れCLUSTERSCAN がトポロジーを認識するカーソルを使用
読み取り後の削除複数の手順が必要HGETDEL が 1 回の往復でアトミックに完了

一般の読者への影響

ほとんどの人が Valkey に直接触れることはありませんが、この種のインメモリ データベースは、ウェブサイトのログイン状態、ショッピングカート、さまざまなリアルタイム サービスを裏側で支えています。Google Cloud によると、Valkey は AI やマイクロサービスを拡張し、数百万人の同時接続ユーザーにサービスを提供する必要がある組織にとって特に魅力的だとしています。公式が主張する性能向上が実環境で成り立てば、こうしたサービスを採用するアプリはピーク時でもより安定した応答速度を維持できる可能性があります。

もう一つ注目すべき背景がオープンソース ライセンスです。Valkey は Redis のライセンス方式変更をきっかけに生まれました。今回 Google Cloud が新バージョンを一般提供したことは、大手クラウド事業者が Linux Foundation の管理するオープンソースの代替に継続して投資していることを示しています。企業の技術チームにとっては、データベース単位のアクセス制御が本番環境とテスト環境の分離に役立ち、誤操作のリスクを下げることにもつながります。

よくある質問

Valkey と Redis はどのような関係ですか?

Google Cloud の説明によると、2024 年に Redis Inc. がライセンスを BSD オープンソース ライセンスからデュアル ライセンス方式に変更した後、Google Cloud をはじめとするテック企業が、Linux Foundation が管理するオープンソースの代替として Valkey の立ち上げを支援しました。

「3 倍の QPS」は何と比べた数値ですか?

Google Cloud によると、Memorystore for Valkey 9.1 を自社の Memorystore for Redis Cluster と比べ、マイクロ秒単位のレイテンシで最大 3 倍の秒間クエリ数を実現できるというものです。これは公式のデータであり、独立したテスト結果ではありません。

新しいアクセス制御には追加料金がかかりますか?

Google Cloud によると、Memorystore for Valkey の ACL 機能に追加料金はかかりません。

一般ユーザーは何か対応する必要がありますか?

必要ありません。これはクラウド サービス事業者による開発者・企業向けのアップデートで、一般ユーザーが何か対応する必要はありません。採用するかどうかは、技術チームが自らのニーズに応じて判断すべきものです。

このトピックの最新ニュースを見る

最新の旅の情報・ガイド

出典

ライフスタイル