dragonflydb/dragonfly

A modern replacement for Redis and Memcached

解決する課題

Dragonflyは、RedisやMemcachedといったレガシーシステムの限界であるスループットとリソース使用率を克服するために設計された、高性能なインメモリデータストアです。シングルスレッドアーキテクチャのボトルネックを解消し、最新のマルチコアCPUと大容量メモリのクラウドインスタンスを活用して垂直方向にスケーリングすることで、同じワークロードに対して最大80%のリソース削減を実現します。

仕組み

Dragonflyは「シェアードナッシング(shared-nothing)」アーキテクチャを採用しており、キー空間を個々のスレッドが管理するシャードに分割することで、CPUとI/Oの利用率を最大化します。ミューテックスやスピンロックに頼らずにマルチキー操作の原子性を保証するため、VLLロックマネージャーの再設計に基づいたトランザクションフレームワークを使用しています。コアとなるハッシュテーブルはDashスケーラブルハッシュ設計に基づいており、インクリメンタルハッシュ、ステートレスなスキャン操作、およびfork不要のスナップショットアルゴリズムを可能にしています。

対象ユーザー

RedisおよびMemcached APIとの完全な互換性を持ち、超高速でコスト効率の高いインメモリストアを必要とする、最新のクラウドアプリケーションワークロードを実行する開発者や組織向けに構築されています。

主な特徴

  • 高スループット: 単一のRedisプロセスの最大25倍のスループットに達し、3.8M QPSを超えます。
  • API互換性: RedisおよびMemcached APIと完全に互換性があり、導入時にコードの変更は不要です。
  • メモリ効率: アイドル状態でRedisよりも最大30%メモリ効率が高く、fork不要のスナップショットプロセスを使用してメモリの急増を回避します。
  • 適応型キャッシュ: メモリ制限に近づいた際に、将来のアクセス可能性に基づいてアイテムを削除する、オーバーヘッドゼロの統合キャッシュアルゴリズムを備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト