Valkey 8.1: Redisフォークはパフォーマンス、メモリの改善、新しいモジュールを備えています

ヴァルキー

発表されました 「Valkey 8.1」の新バージョンのリリース Redis のフォークであり、独自のライセンスに移行した後に誕生し、元のプロジェクトのオープン哲学を維持することを目指しています。

ヴァルキー8.1 多数の改良と変更が加えられており、 レイテンシの削減、メモリ効率の向上、新しいモジュール機能を実現するパフォーマンスの最適化に主な焦点が当てられています。

Valkey 8.1の主な新機能

A 最も重要な変化の このバージョンでは ハッシュテーブルの完全な書き換えキー値データ ストレージと、ハッシュ、セット、ソート セットなどの構造化データ型の両方で使用されます。この再設計のおかげで、 メモリ使用量の削減が達成されました: TTLなしでキーごとに20バイト削減、 キーに有効な期間が定義されている場合は最大 30 バイトになります。さらに、ランダム メモリ アクセスの削減により、シングル スレッド I/O 環境でのパフォーマンスが 10% 向上しました。

Valkey 8.1のもう一つの新機能は、KEYSコマンドや クラスター内のノード間のキー転送にキャッシュプリロードシステムが導入されました。 これにより、処理が始まる前に次のキーが使用できるようになります。このアプローチにより、プロセッサ キャッシュをより有効に活用することで、キー検索速度が 3,5 倍向上しました。

マルチスレッドI/OとTLSの改善

Valkey は、マルチスレッド I/O モデルへの移行を継続しています。さて、 TLS接続処理は別々のストリームで実行されるこれにより、新規接続を受け入れる能力が 10 倍になりました。 SSL_pending() や ERR_clear_error() などの関数も別のスレッドに分離され、SET 操作のパフォーマンスが 22% 向上し、GET 操作のパフォーマンスが XNUMX% 向上しました。

レプリケーションが改善されました特に TLS がアクティブな環境では、不要なチェックサムなどの冗長な操作が排除されます。これにより、ディスクレス レプリケーション中の完全同期が 18% 改善され、コピーおよび書き込み操作のコストが 47% 削減されました。

順序集合と確率型の最適化

El ZRANKコマンド 順序付きセットの最適化が行われ、 ZADDはSIMD命令を採用しており、45%高速化されている。 より高い効率を実現します。確率的データ型の場合、HyperLogLog の使用が改善され、12 KB の固定メモリのみを使用するようになりました。また、AVX2 命令の使用により、PFMERGE および PFCOUNT 操作のパフォーマンスが最大 12 倍、BITCOUNT が最大 5 倍になりました。

中断のないアクティブなデフラグとレジストリのより高度な制御

El アクティブデフラグシステムも改善されました 渋滞や遅延を避けるため。 現在、各デフラグサイクルはわずか500マイクロ秒しかかかりません。 これらの作業が長期にわたる作業によって延期されることを防ぐために、飢餓対策戦略が実施されました。

導入されました レコードフォーマットの新しい設定オプションこれには、カスタム時間形式や、長いリクエストと応答をログに記録する新しい COMMANDLOG モードが含まれます。さらに、LATENCY LATEST コマンドが新しいメトリックで拡張され、記録されたピークおよびボリュームのレイテンシの可視性が向上しました。

新しい機能、モジュール、サポート

ヴァルキー SET IFEQ操作を実行できるようになりました。 キーの書き込みを現在の値に条件付けます。また スクリプトエンジンのモジュールサポートが導入されましたカスタムモジュールを通じて Lua 以外の言語を使用する可能性が開かれます。

このバージョンでも いくつかのモジュールがデビュー:

  • 検索モジュール(Google): ベクトル類似性検索エンジン。低レイテンシと高スループットが求められる機械学習のケースに最適です。
  • JSON モジュール (AWS): クライアント上でコンテンツを完全に処理する必要はなく、JSON ドキュメントのフラグメントを直接操作できます。
  • ブルームフィルタモジュール (AWS): 確率的な効率で集合内の要素の可能なメンバーシップを決定するのに役立つブルームフィルタの実装

最後に、あなたがそれについてもっと知ることができることに興味があるなら、あなたはの詳細を調べることができます 次のリンク。