マイクロソフトリサーチの新しいキャッシュストアシステム

Garnet from Microsoft

Redisは2024年3月、非常に自由なBerkeley Software Distribution (BSD) ライセンスからServer Side Public License (SSPLv1)に移行することを発表した。これにより、クラウドプラットフォーム上でRedisを使用する企業は関連するすべてのソースコードを公開する必要があるという新しい規制が導入されます。このため、企業がソースコードを公開したくない場合は、商用ライセンスを購入する必要があります。

同時に、マイクロソフト社はオープンソースのキャッシュストアであるGarnetもリリースしました。GarnetはRedisと互換性があるだけでなく、多くの面ではるかに優れたパフォーマンスを提供するため、かなり話題になっています。

Garnetについて話す前に、RedisやGarnetのようなツール何であるかを見てみましょう。

システム開発の世界では、ソフトウェア開発者はデータベースがシステムのボトルネックになっていることに気づくことがよくあります。その結果、開発者はRedisのような広く普及しているキャッシュシステムを実装します。(Redisはデータベースとして使用したり、メッセージブローカーとして機能させたりするなど、他の方法でも効率的に使用できます)。但し、上記のライセンスの更新により、Redisの人気に影響を与える可能性があります。そのため、多くのソフトウェア開発者が他のオプションを探し始めています。こちらがこの記事の背景となります。

マイクロソフトリサーチチームは、秘密裏にキャッシュシステムを開発し、それをマイクロソフトのシステムに実装してきました。マイクロソフトは最近Garnetのソースコードを公開し、誰でもダウンロードして必要に応じて利用できるようにしました。さらに、Garnetはキャッシュが不可欠な時代に新しく開発されたため、マイクロソフト社が現行のものよりも優れたGarnetを開発するという明確な目標を持っていました。Garnetは次のような独自のメリットがあります。

  1. Redisで使用されるのと同じプロトコルであるRESPプロトコルを採用します。これにより、開発者はクライアント側のコードをまったく変更せずにGarnetを使用できます。
  2. 市場における他のツールよりもはるかに優れたスケーラビリティとスループット処理を提供します。これは、大規模なアプリケーションやサービスの開発コストを削減できます。
  3. Garnetは、最新の.NET技術をベースとした、クロスプラットフォーム、拡張性、そしてモダンなプラットフォームです。一般的なシステム開発のパフォーマンスを犠牲にすることなく、簡単に開発できるように設計されています。
Garnetのメリット
Garnetのメリット

マイクロソフト社は、以下の画像に示すように、パフォーマンステストの結果も公開しています。Garnetは、特にコマンドの大きなバッチサイズを送信する場合に、Redis 7.2、KeyDB、Dragonflyを上回るパフォーマンスを発揮できます。さらに、Garnetのレイテンシーは他のシステムと比較して低くなっています。

この図は、複数のクライアントからのスループットを示しています。
この図は、複数のクライアントからのスループットを示しています。
左側:データベースサイズが1024キー、右側:データベースサイズが2億5600万キー

上記で述べたように、Garnetは機能とパフォーマンスの両面で非常に興味深いものであることが明らかです。 高スループットをサポートするソフトウェアをお探しの方向けに、弊社、アイコネクトは、ソフトウェア開発業界での10年以上の経験を活かして、ご相談やシステム開発を提供する準備ができています。どうぞお気軽に「アイコネクト」までご連絡ください。またはお問い合わせフォームをクリックしてください。

参照元:

Redis

Microsoft

    wpChatIcon