Azure Caching Preview を使用して Azure Table Storage からデータをキャッシュする価値はありますか? それとも、テーブル ストレージは大規模なアプリケーションで十分に高速ですか?
ありがとう
Azure Caching Preview を使用して Azure Table Storage からデータをキャッシュする価値はありますか? それとも、テーブル ストレージは大規模なアプリケーションで十分に高速ですか?
ありがとう
簡単に言えば、場合によるということです。私が現在取り組んでいるアプリケーションには、Table Storage からデータを取得する際のレイテンシーを処理し、1 秒あたりの必要な数のトランザクションに対応するためにキャッシュを使用する情報があります。
Table Storage からの情報の提供を開始し、パフォーマンス要件によって決定された場合にのみキャッシングに移行しました。同様のアプローチをお勧めします。つまり、機能させてから高速化します。
ロバートが言ったことに加えて、次の点も考慮する必要があります。
Windows Azure テーブル ストレージでは、最大 100 TB のサイズ (チャンク単位) を格納できます。一見すると、そのデータのサイズは圧倒的に見えるかもしれません。ただし、Table Storage はパーティション分割できます。Table Storage の各パーティションは、Azure コントローラーによって個別のサーバーに移動できるため、単一サーバーの負荷が軽減され、パフォーマンスが向上します。
アプリケーションの負荷が非常に高い場合、頻繁に挿入するキャッシュはすぐに最大キャッシュ サイズに近づき、キャッシュ アイテムの削除プロセスが開始されます。ほとんどの場合、キャッシュへの頻繁な挿入と頻繁なキャッシュ アイテムの削除プロセスにより、パフォーマンスが向上するどころか、パフォーマンスが低下します。次に、キャッシュの最大サイズを増やす必要があります。これは、アプリケーションのコストに影響します (これがブロッカーになる場合もあります)。
最後になりましたが、OData プロトコルを使用して Windows Azure テーブル ストレージ データにアクセスしLINQ
、WCF Data Service .NET ライブラリでクエリを実行できます。Azure Cache にはその機能がありません。
これらの点があなたの場合に有効である場合とそうでない場合があることに注意してください. すべてはシステム アーキテクチャに依存します。予想負荷など
私の回答が、システム アーキテクチャの適切な決定に役立つことを願っています。