ASP.NET-分散キャッシュでリレーショナルデータを処理する方法

イクバル・カーン

マイクロソフト .NET Framework Web、サービス指向アーキテクチャ(SOA)、ハイパフォーマンスコンピューティングまたはグリッドコンピューティング、クラウドコンピューティングなど、一連の高トランザクションアプリケーションの開発で人気が高まっています。 これらのアプリケーションアーキテクチャはすべてスケーラブルです。 ただし、主要なボトルネックは、データストレージ(通常はリレーショナルデータベース)で発生します。データストレージは、アプリケーション層で可能なトランザクション負荷の増加をスケーリングおよび処理できません。

その結果、分散キャッシングは、どのデータベースよりもはるかに高速にアクセスできるメモリ内キャッシュにデータをキャッシュできるため、非常に人気があります。 また、分散キャッシングは、複数のキャッシュサーバー間で線形のスケーラビリティを提供します。 線形スケーラビリティを使用すると、より大きなトランザクション負荷を処理する必要がある場合に、分散キャッシュクラスタにキャッシュサーバーを追加できます。 サーバーを追加しても、トランザクション容量の増分増加は減少しません(これは、XYグラフの直線であり、Xはキャッシュサーバーの数であり、Yはトランザクション容量です)。 図1は、分散キャッシュが一般的なASP.NETまたはWindows Communication Foundation(WCF)アプリケーションにどのように適合するか、および線形スケーラビリティをどのように提供するかを示しています。

記事全文を読む

この記事では、開発者がデータをキャッシュする際にデータ関係をどのように処理すべきかについて説明します。

分散キャッシュは優れていますが、データ要素間にさまざまな関係があるリレーショナル データをどのようにキャッシュするかが課題の 1 つです。これは、分散キャッシュがシンプルなハッシュテーブルのような (キー、値) インターフェイスを提供し、「キー」がキャッシュされたアイテムを一意に識別し、「値」がデータまたはオブジェクトであるためです。ただし、アプリケーションには、継承、集約、その他の種類の関係を含む複雑なドメイン オブジェクト モデルが存在する可能性があります。

さらに、分散キャッシュは、個々のキャッシュされたアイテムを個別に保存します。これは、異なるテーブル間にリレーションシップがあるデータベースとは異なります。通常、典型的な分散キャッシュでは、キャッシュされたさまざまなアイテム間に関係はありません。これは、.NET アプリケーション開発者にとって課題となります。言い換えれば、アプリケーション内の多くの関係情報を追跡して、キャッシュ内で関係を正しく処理できることを確認し、同時に分散キャッシュを活用するという課題に直面しているということです。

記事全文を読む

お問い合わせ(英語)

電話
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。