Azure Tables を確認する

完了

Azure Table Storage は、"キーと値" データ項目を含むテーブルを使用する NoSQL ストレージ ソリューションです。 各項目は、格納する必要があるデータ フィールドの列を含む 1 つの行によって表されます。

Azure Table を含む Azure ストレージ アカウントの図。

ただし、Azure Table Storage のテーブルがリレーショナル データベースのテーブルのようなものであると間違って解釈しないでください。 Azure Table を使用すると、半構造化データを格納できます。 テーブル内のすべての行には、一意のキー (パーティション キーと行キーで構成される) が必要です。また、テーブル内のデータを変更すると、"タイムスタンプ" 列に、変更が行われた日時が記録されます。それ以外に、各行はさまざまな列をもつ可能性があります。 Azure Table Storage テーブルには、外部キー、リレーションシップ、ストアド プロシージャ、ビュー、またはリレーショナル データベースにあるその他のオブジェクトの概念がありません。 通常、Azure Table Storage は非正規化されており、各行に論理エンティティのデータ全体が格納されます。 たとえば、顧客情報を保持するテーブルには、名、姓、1 つ以上の電話番号、1 つ以上の住所が、顧客ごとに格納されている場合があります。 フィールドの数は、各顧客の電話番号や住所の数、および住所ごとに記録された詳細情報により、行ごとに異なる場合があります。 リレーショナル データベースでは、この情報は複数のテーブルの複数の行に分割されます。

高速にアクセスできるように、Azure Table Storage ではテーブルがパーティションに分割されています。 パーティション分割は、共通のプロパティつまり "パーティション キー" に基づいて、関連する行をグループ化するためのメカニズムです。 同じパーティション キーを共有する行は、一緒に格納されます。 パーティション分割は、データの整理に役立つだけでなく、次のようにスケーラビリティとパフォーマンスを向上させることもできます。

  • パーティションは相互に独立しており、パーティションの行の追加や削除に応じて、拡大または縮小できます。 テーブルには、任意の数のパーティションを格納できます。

  • データを検索するときは、検索条件にパーティション キーを含めることができます。 これにより、調査対象のデータ量を絞り込むことができ、データを探すために必要な I/O (入出力操作、または "読み取り" と "書き込み") の量が減少して、パフォーマンスが向上します。

Azure Table Storage のテーブルのキーは、行が含まれるパーティションを識別するパーティション キーと、同じパーティション内で行ごとに一意の行キーの、2 つの要素で構成されます。 同じパーティション内の項目は、行キーの順に格納されます。 アプリケーションによってテーブルに新しい行が追加されると、その行はテーブル内の正しい位置に配置されます。 このスキームにより、アプリケーションでは、1 つの行を識別する "ポイント" クエリと、パーティション内の連続した行ブロックをフェッチする "範囲" クエリを、すばやく実行できます。