Valkey 9.0:次世代のキャッシュ

Valkey 9 はオープンソースモデルの理想を体現しています。大規模環境での安定性と開発者体験を高め、これまで以上の速度を実現します。

Khawaja Shams headshot Khawaja Shams Allen Helton Allen Helton
青いエンブレムとリスを配した Valkey 9.0 の画像

ミリ秒が重要で、停止が許されないシステムを構築するとき、アーキテクチャの細部がすべて意味を持ちます。Valkey 9.0 は、ここ数年で見た中でも特に堅牢なキャッシュのリリースです。新機能は、耐障害性、開発者体験、処理速度という重要な基礎を大きく前進させます。

世界中で利用できるキャッシュや大規模な視聴体験を構築している方も、ゲームプラットフォーム、取引エンジン、メディアオリジンのようなレイテンシに敏感な重要ワークロードを運用している方も、注目すべきリリースです。

アトミックなスロット移行による耐障害性

まず、本番で最も重要な、負荷がかかったときの信頼性から見ていきます。

負荷がかかったクラスターをスケールすると、リバランスは気づかないうちに最もリスクの高い操作の一つになり得ます。トラフィックが流れ続ける中でデータを移し、処理中のコマンドの整合性を保ち、新しいキーを正しくルーティングし、リクエストを落とさずにノードの切り替えを乗り越える必要があるからです。

Valkey 9.0 は、クラスターのデータ再分散を改善する待望のアトミックなスロット移行を導入しました。移行の途中で所有権が変わる段階的な方式に代わり、スロット移動を不可分な操作として扱います。新しいキーの一貫したルーティングと、既存キーの予測可能な引き継ぎを保証します。一時的なエラーを抑え、稼働中の再シャーディングで必要だった手動の調整も減らせます。

内部では、CLUSTER SETSLOT API とクラスターメタデータのレプリケーションで移行状態を調整し、プライマリとレプリカのスロット状態を一致させます。クラスター操作はより安全かつ高速になります。アトミックなスロット移行により、手作業を減らし、より速く安全に、安心してスケールできます。

クラスター環境で Valkey を運用するチームにとって、これは容量計画と運用リスク管理の方法を根本から変えるものです。スケールアウトは苦労を伴う作業から、予測可能な操作へ変わります。

ハッシュフィールドの有効期限による開発者体験の改善

優れたインフラは性能だけでなく、データの実際の振る舞いに沿ったモデリングを可能にします。

20 個のフィールドを持つハッシュのうち、数秒で失効させたいものもあれば、数時間や数日保持したいものもある。このような難しさを経験したことがあるでしょう。これまでは、それぞれを別のキーで管理するか、タイムスタンプを埋め込み、アプリ側で失効処理を行う必要がありました。

Valkey 9.0 では、ハッシュ内のフィールドごとに TTL を設定できます。HEXPIRE、HPEXPIRE、HEXPIREAT、HPEXPIREAT などで特定のフィールドの有効期限を設定・変更し、HTTL、HPTTL などで確認できます。実装は Valkey の既存の有効期限管理に統合されています。期限が切れたフィールドは、すべてのハッシュコマンドで存在しないものとして扱われ、バックグラウンドジョブで自動的に削除されます。

これにより、新しいデータモデリングが可能になります。例えば、ユーザーの一時セッショントークンは 60 秒で失効させ、設定情報は無期限に保持できます。ゲームの状態は更新し続けながら、ランキングの静的なメタデータはラウンドをまたいで保持できます。リンクグラフやフィードのキャッシュでも、キーを細分化せずに項目ごとの関連性の有効期間を自動的に終了できます。

フィールドごとの TTL は、キー数の削減、ロジックの単純化、メモリ管理の明確化につながります。有効期限の意味を正しく表現するためだけに、一つの論理的な実体を何十ものキーへ分割する必要はありません。データモデルをキャッシュに合わせるのではなく、キャッシュがデータのライフサイクルを反映します。

小さな変更で、さまざまなアーキテクチャのパターンを簡潔にできます。

SIMD による性能向上

耐障害性と開発者体験が基盤を作り、速度がその価値を引き出します。

9.0 の性能改善の中心は、最新 CPU の能力を賢く使うことです。Valkey 9.0 は現代のハードウェアを活用し、従来のバージョンを大きく上回る性能を提供します。

まず、文字列から整数への変換に AVX-512 による高速化を導入し、約 19% 改善しました。地味に見えて、波及効果の大きい最適化です。INCR、ソート済みセットのスコア、有効期限の計算は、すべてこの変換経路に依存します。毎秒数百万のコマンドを処理する場合、パーサーの高速化は、スループット向上とテールレイテンシの安定化に直接つながります。

次に、BITCOUNT は AVX2 SIMD のベクトル化で大きく高速化しました。値が 4 KB の場合で 10%、1 MB では 500% を超える改善が見られます。分析、カウンター、ビットフィールドの追跡を中心とするワークロードでは、CPU コア単位の余力が生まれます。リアルタイムのテレメトリー、機能フラグ、セッション追跡を、従来より大幅に少ないコストで運用できるようになります。

同じハードウェアで、インフラが実際により多くの処理を行えます。

さらに、ハッシュテーブルの検索に ARM NEON と SSE2 の最適化(最大 6% 高速化)を加え、より賢いパイプライン解析と複数コマンドのプリフェッチを組み合わせることで、各コアが有用な処理に時間を使えるシステムになります。

結果として、テールレイテンシが下がり、ノードあたりのスループットが高まり、大規模環境で測定可能なコスト効率の向上が得られます。本番で実感できる性能改善です。

コミュニティが生み出す革新

2024 年 3 月の発足から短い期間で、Valkey プロジェクトはすでに 2 回のメジャーリリースを行い、Linux Foundation のオープンなガバナンスの下、参加企業は 22 社から 47 社へ増えました。この成長は、インフラは信頼でき、透明で、長期的に使えるものであるべきだという認識を共有するコミュニティを示しています。

Valkey 9.0 は、一つのチームが自分たちのロードマップを進めた成果ではありません。多様な運用担当者、開発者、エンジニアが、現実の課題を共に解決した結果です。アトミックなスロット移行は、運用担当者が再シャーディングで深刻な障害を経験したから生まれました。ハッシュフィールドの有効期限は、TTL を正しく扱うためだけにデータモデルを細分化することに疲れた開発者から生まれました。SIMD 最適化は、大規模環境でハードウェアのあらゆるサイクルを使い切ろうとするチームの成果です。

各機能は異なる形の堅牢性をもたらします。負荷がかかった状態でのデータ移動の安全性、複雑な状態をモデル化する際の簡潔なコード、スループットの限界に近づいたときの余力です。これらが合わさり、オープンソースのキャッシュで可能なことを大きく広げます。

エコシステムも同じ速度で進化しています。コミュニティが保守する Rust ベースのツールキットなど、新しいモジュール SDK が、安全に構築できるものの幅を広げています。ドキュメント指向の操作(JSON)と確率的データ構造(Bloom フィルター)への対応は、より豊富な機能を組み合わせられるキャッシュ層の未来を示しています。

実際に本番で運用する人々のニーズに応じて進化するシステム。これが、オープンなガバナンスの実践です。すでに Valkey を使っている方も、検討中の方も、このリリースを試してみてください。負荷をかけ、スケールアウト中のアトミックなスロット移行を試し、フィールドごとの TTL のためだけにハッシュを分割していた部分を見直しましょう。

Valkey 9.0 は、キャッシュインフラの基準を引き上げます。大規模でも予測可能な耐障害性、データの生成と失効に沿った開発者体験、ハードウェアの進化とともに向上する性能。そして、リリースを重ねるたびに改善を続けるコミュニティがあります。

Momento は、Web 規模のアプリケーション向けの高性能な Valkey を専門としています。リリースのたびに、最新の性能と安全性の改善を、運用負担なしで顧客に届けます。大規模な最新のキャッシュを体験するには、Momento で開発を始めてください。

あわせて読みたい