Azure Table Storage とは

ヒント

この記事の内容は、従来の Azure Table Storage を対象としています。 ただし、同じ概念が新しい Azure Cosmos DB Table API にも適用されます。 Cosmos DB Table API では、強化されたパフォーマンスと可用性、グローバル分散、自動セカンダリ インデックスが提供されます。 また、使用量ベースのサーバーレス モードで使用することもできます。 Azure Cosmos DB の Table API と Azure Table Storage との間には機能の相違がいくつか存在します。 詳細については、「Azure Cosmos DB Table API」を参照してください。 開発を容易にするために、元の Table ストレージと Cosmos DB Table API の両方を対象として使用できる、統合された Azure Tables SDK が提供されています。

Azure Table Storage は、非リレーショナル構造化データ (構造化された NoSQL データとも呼ばれます) をクラウド内に格納するサービスであり、スキーマレスのデザインによるキーおよび属性ストアを実現します。 Table Storage はスキーマがないため、アプリケーションの進化のニーズに合わせてデータを容易に修正できます。 Table Storage のデータ アクセスは、多くの種類のアプリケーションにとって高速でコスト効率に優れ、また一般に、従来の SQL と比較して、同様の容量のデータを低コストで保存することができます。

Table Storage を使用すると、Web アプリケーションのユーザー データ、アドレス帳、デバイス情報、サービスに必要なその他の種類のメタデータなど、柔軟なデータセットを格納できます。 ストレージ アカウントの容量の上限を超えない限り、テーブルには任意の数のエンティティを保存でき、ストレージ アカウントには任意の数のテーブルを含めることができます。

Table Storage とは

Azure Table Storage は、大量の構造化データを格納します。 このサービスは、Azure クラウドの内部および外部からの認証された呼び出しを受け付ける NoSQL データストアです。 Azure のテーブルは、構造化された非リレーショナル データを格納するのに最適です。 Table Storage の一般的な用途には、次のようなものがあります。

  • Web スケール アプリケーションにサービスを提供できる数テラバイトの構造化データを格納する
  • 複雑な結合、外部キー、またはストアド プロシージャを必要とせず、高速アクセスのために非正規化できるデータセットを格納する
  • クラスター化インデックスを使用して高速なデータのクエリを実行する
  • OData プロトコルおよび LINQ クエリを WCF Data Service .NET ライブラリと共に使用してデータにアクセスする

Table Storage を使用して、構造化された非リレーショナル データの膨大なセットを格納してクエリを実行することができ、テーブルはデータ量が増加すると拡張されます。

Table Storage の概念

Table Storage には次の構成要素があります。

Table Storage のコンポーネントの図

  • URL 形式: Azure Table Storage アカウントでは、以下の形式を使用します。http://<storage account>.table.core.windows.net/<table>

    Azure Cosmos DB のテーブル API アカウントでは、以下の形式を使用します。http://<storage account>.table.cosmosdb.azure.com/<table>

    このアドレスを OData プロトコルで使用して、Azure テーブルを直接アドレス指定できます。 詳細については、OData.org の Web サイトを参照してください。

  • アカウント: Azure Storage へのアクセスはすべて、ストレージ アカウント経由で行います。 ストレージ アカウントの詳細については、「ストレージ アカウントの概要」を参照してください。

    Azure Cosmos DB へのアクセスはすべて、テーブル API アカウント経由で行います。 テーブル API アカウントの作成の詳細については、テーブル API アカウントの作成に関するページをご覧ください。

  • テーブル: テーブルは、エンティティのコレクションです。 テーブルではエンティティにスキーマを設定しないため、1 つのテーブルに異なるプロパティのセットを持つエンティティが含まれている場合があります。

  • エンティティ: エンティティは、プロパティのセットで、データベースの行に似ています。 Azure Storage 内のエンティティには、最大 1 MB のサイズを指定できます。 Azure Cosmos DB 内のエンティティには、最大 2 MB のサイズを指定できます。

  • プロパティ: プロパティは、名前と値のペアです。 それぞれのエンティティは、データを格納するために最大で 252 個のプロパティを含むことができます。 さらに、それぞれのエンティティは、パーティション キー、行キー、およびタイムスタンプを指定する、3 つのシステム プロパティを持ちます。 同じパーティション キーを持つエンティティは、アトミック操作でより迅速な照会と挿入/更新が可能です。 エンティティの行キーは、パーティション内の一意の識別子です。

テーブルとプロパティの名前付け規則については、「 Understanding the Table Service Data Model (Table サービス データ モデルの概要)」を参照してください。

次のステップ