Dragonfly は、最新のアプリケーション ワークロード用に構築されたインメモリ データ ストアです。
数日前に発表された Dragonfly インメモリ キャッシングおよびデータ ストレージ システムのリリース、 キー/値形式でデータを操作し、低速クエリを DBMS にキャッシュし、中間データを RAM にキャッシュすることで、負荷の高いサイトを高速化するための軽量ソリューションとして使用できます。
トンボ Memcached および Redis プロトコルをサポートし、 コードを作り直すことなく、既存のクライアント ライブラリを使用し、Memcached と Redis を使用するプロジェクトを Dragonfly に移植できます。
特筆すべきはトンボ 最近アップデートを受け、 バージョン1.0に到達し、 データレプリケーションのサポートの実装が際立っています プライマリ サーバーからセカンダリ サーバーへ。
同時に、トンボ セカンダリストレージとして使用するように構成できます Dragonfly と Redis に基づくメイン サーバーからデータを受け取ります。 レプリケーション管理 API は Redis と互換性があり、ROLE および REPLICAOF (SLAVEOF) コマンドの使用に基づいています。
トンボについて
マルチスレッドアーキテクチャのおかげで高性能が達成されます リソースを共有せずに (共有なし)、つまり、ミューテックスやスピンロックなしで機能する独自のデータを使用して、個別のコントローラーが各スレッドに接続されることを意味します。
軽量 VLL ロックは、複数のキーを処理する際の原子性を保証するために使用されます。これは、情報をメモリに効率的に格納するために、一種のパーティション化されたハッシュ テーブルを実装するダッシュテーブル構造が使用されるためです。
Redis と比較して、Dragonfly は 25 倍のパフォーマンス向上を誇っています (毎秒 3,8 万リクエスト) Amazon EC2 c6gn.16xlarge 環境の典型的なワークロードで。 AWS c6gn.16xlarge 環境の Memcached と比較すると、Dragonfly は 4,7 秒あたり 3,8 倍の書き込みリクエスト (806 万対 1,77k) と 3,7 倍の読み取りリクエスト (2,1 万対 XNUMX 万) を完了することができました。
5 GB のストレージ テストでは、 Dragonfly に必要なメモリは、Redis よりも 30% 少なくなりました。 「bgsave」コマンドを使用したスナップショット作成中はメモリ消費量が増加しますが、ピーク時にはRedisの約30分の42に抑えられ、スナップショットの書き込み操作自体ははるかに高速です(Redisの場合)。スナップショットは、Dragonfly では XNUMX 秒、Redis では XNUMX 秒で書き込まれました)。
いくつかの トンボの機能は次のとおりです。
- 空きメモリがなくなると、古いデータを新しいデータに自動的に置き換えるキャッシュ モード。
- データが最新と見なされるデータ バインディング ライフサイクルのサポート。
- 再起動後に後で回復するために、バックグラウンドでストレージ状態をディスクにフラッシュするためのサポート。
- システム管理用の HTTP コンソール (TCP ポート 6379 にバインド) と、Prometheus と互換性のあるメトリックを返すための API の存在。
- 185 個の Redis コマンドのサポート。Redis 5 リリースの機能とほぼ同等です。
- CAS (検証と構成) を除くすべての Memcached コマンドのサポート。
- スナップショットを作成するための非同期操作のサポート。
- 予測可能なメモリ消費。
- 統合 Lua インタープリター 5.4。
- ハッシュ、セット、リスト (ZSET、HSET、LIST、SETS、STRING)、JSON データなどの複雑なデータ型のサポート。
- フェールオーバーと負荷分散のためのストレージ レプリケーションのサポート。
Dragonfly コードに興味がある人は、これを知っておく必要があります。 C/C++ で書かれており、以下で配布されています。 ライセンス BSL .BSL の本質は、拡張機能コードが最初は変更可能であるということですが、しばらくの間、バイパスするには商用ライセンスの購入が必要な追加条件を条件として無料で使用できます。
Dragonfly プロジェクトの追加のライセンス条件では、2.0 年 15 月 2028 日にコードを Apache License XNUMX に移行する必要があります。 Dragonfly のプラグインとして機能するクラウド サービス。
最後に あなたがそれについてもう少し知りたいなら、詳細はで確認できます 次のリンク。
コメントを最初に