Redis 8は、Redis 7に対してコア機能の大幅な統合と性能強化を実現しています。Redis Stackモジュールに含まれていたJSONや時系列データ、Bloomフィルターなど計7種類のデータ構造がコアに取り込まれ、別途モジュールを用意する必要がなくなりました。さらに、Redis 8.0-M03では149種類のコマンド中90件でレイテンシーを改善し、中央値で16.7%の低減、最大87%もの速度向上を達成しています。また、新たに導入されたAsync I/Oスレッドにより、一部ワークロードで最大12倍のスループット向上も確認されています。ベクターデータタイプ「Vector Sets」の追加や統合クエリエンジンによる多彩な検索機能も備わり、レプリケーション時のメモリ使用量は35%削減されました。これらの進化により、Redis 8はより多用途かつ高性能なインメモリデータベースとして、リアルタイムアプリケーションやAI/ML用途での利用価値を一段と高めています。
1. パフォーマンス向上
1.1 レイテンシーの改善
Redis 8.0-M03では、149種類のコマンド中90件でレイテンシーが改善し、中央値で16.7%の低減を実現しました。特にPFCOUNT, PFMERGE, GET, EXISTSなどのコマンドで最大87%もの高速化が確認されています。
1.2 Async I/Oスレッド
Redis 8ではAsync I/Oスレッドを導入し、マルチコア環境での並列処理能力を強化しました。その結果、一部ワークロードで最大12倍のスループット向上を実現しています。
2. 統合データ構造
2.1 モジュールのコア統合
Redis 8.0-RC1では、JSONやTime Series、Bloomフィルター、Cuckoo、Count-Min Sketch、Top-K、t-digestといった従来モジュールとして提供されていた機能がコアに組み込まれ、Redis Stackモジュールを別途インストールする必要がなくなりました。一方、Redis 7ではRedisJSONやRedisTimeSeriesなどがモジュール分離されていました。
2.2 ベクターデータタイプ
AI/MLアプリケーション向けとして、新たに「Vector Sets」データタイプが追加されました。Redis 8 Community Editionでは、1ビリオン以上の768次元ベクトルをリアルタイムで検索するデモが公開され、高いスケーラビリティと低レイテンシーを示しています。また、InfoQの記事でもRedis 8のVector SetsがAI用途に特化したベクトル類似度検索を強化したことが報じられています。さらに、LangCacheとの統合により、GenAIモデル開発向けの語彙キャッシュ機能も進化しています。
3. 統合クエリエンジンと検索機能
Redis 8には、新しいクエリエンジンが統合され、全文検索(Full-Text)、地理空間検索、タグ/数値/ベクトルインデックスを単一APIで利用可能です。既存のクエリ処理能力に対し、最大16倍のスループット向上を達成しており、複雑な検索要件にも対応します。
4. レプリケーションとメモリ最適化
- メモリ使用量の削減
レプリケーション時のメモリオーバーヘッドが35%削減され、大規模クラスタ運用時のコストとリスクを抑制しています。 - レプリケーション速度の向上
データ再同期時間が18%短縮され、フェイルオーバーの迅速化と可用性向上に貢献します。
5. 運用・管理の簡素化
Redis 8では、従来別インストールが必要だったRedis Stackの機能群が一つのバイナリに統合され、redis-full.conf
という新設定ファイルで全機能を簡単に有効化できるようになりました。これにより、インストールやアップグレード作業が飛躍的にシンプルになります。
6. リリース計画と今後
- Milestoneリリース
M01でJSONや時系列、確率的データ構造を導入し、M02・M03でさらに性能と可用性を強化しました。 - RCおよびGA予定
現在はRC1が公開されており、GA版は2024年秋頃の正式リリースが予定されています。
7. 移行時の注意事項
Redis 7から8へのアップグレード時は、既存のクライアント互換性やモジュール依存性を事前に検証し、クラスタ構成やフェイルオーバーテストを十分に行ってから本番環境へ適用することを推奨します。
以上が、ブログ向けのRedis 7とRedis 8の比較まとめです。Redis 8の新機能と性能強化を活用し、次世代アプリケーションの要件に対応してください。