Azureテーブルストレージ

Azureテーブルストレージ

Microsoft Windows Azureテーブルストレージは、Windows Azureシステムの一部です。クラウドストレージは急成長中のテクノロジーであり、さまざまなサービスで使用されています。この記事では、Azureアプリケーションのストレージ要件にAzureテーブルストレージを活用する方法について説明します。

Azureアプリケーションのストレージニーズに対応する2つの基本的なオプションがあります。AzureSQL Database(以前のSQL Azure)とAzureテーブルストレージです。各Azureインスタンスで使用可能なローカルストレージがありますが、これはせいぜい一時的なものと見なされる必要があります。ローカルストレージは、Azureインスタンスで実行されるサービスの基本的なニーズにのみ対応することを目的としています。

Azure SQL Databaseは、Microsoft SQL Server上に構築された非常に有能なデータベースソリューションです。アプリケーションに複雑なリレーショナルデータベースモデルが必要な場合は、Azure SQL Databaseが最適です。ただし、アプリケーションのデータ要件が単純な場合は、Azureテーブルストレージで十分な場合があります。

Azureテーブルストレージを使用する主な利点は、非常に安価であることです。トランザクションあたりのコストは非常に安価であるため、小規模なアプリケーションでは実質的に測定できず、ストレージボリュームのコストもAzure SQL Databaseと比較して非常に低くなっています。

Azureテーブルストレージの主な欠点は、非リレーショナルであり、1つのインデックスしか持つことができないことです。セカンダリインデックスはサポートされておらず、プライマリインデックスは各行に割り当てる行キーです。さらに、プライマリインデックスでは並べ替えが利用できないため、行は格納されている順序でのみ取得できます。

ただし、これ以外にも、一部のアプリケーションには上記の問題の解決策があります。この側面を自分で管理する準備ができていれば、非リレーショナルな側面は大きな問題ではありません。たとえば、写真を添付するために「個人」レコードが必要になる場合があります。 SQL Serverデータベースでは、これを別のパーティションにある関連するBLOBテーブルに保存できます。 Azureテーブルストレージを使用すると、GUIDをファイル名として、Azure BLOBストレージに画像を保存できます。このGUIDは、テーブルストレージの個人レコードに保存できます。したがって、削除は、両方のデータ項目が削除されたことを確認する手動プロセスですが、これがアプリケーションに対応できるものである場合は、大幅なコスト削減が必要です。

二次指標の欠如は克服できない問題ではありません。行キーを巧妙に使用すると、パフォーマンスの問題を引き起こす可能性が最も低い順序でデータを保存できます。また、アプリケーションによっては、起動時にテーブル内のすべてのアイテムから少数の列を取得する場合があります。これらの項目で取得された行キーは、アプリケーションのライフサイクル中に必要なときに行全体を取得するために使用できます。

要約すると、高価なAzure SQL Databaseソリューションを選択する前に、アプリケーションの要件を再検討し、代わりにAzureテーブルストレージの機能を使用できるかどうかを確認してください。

Mike DuffyはSymatix Ltdのコンサルタントであり、ソフトウェア開発を専門としています。この記事が参考になった場合は、Azure Table Storageの詳細を参照してください。

Leave a Reply

Your email address will not be published. Required fields are marked *