2

Azure Tables を使用しており、データを整理する方法を理解しようとしています。

テーブル内の各エンティティには PartitionKey と RowKey があり、スケーラビリティのために同様のオブジェクトを整理するにはパーティションを使用する必要があると理解しています。サイトの例では、カテゴリ (アクション、SF など) が PartitionKey で、タイトル (ワイルドスピードなど) が RowKey である映画エンティティを使用しました。

上記の例では、重複した映画がなく、特定の映画のレンタル履歴 (場所、期日、顧客など) を追跡したいとします。

これらすべてを格納するために 1 つのテーブルを用意し、レンタル エンティティに別のパーティションを使用するのは悪い習慣でしょうか? 明確にするために、映画アイテムとそれに対応する履歴アイテムを、別々のパーティションにある同じ非正規化テーブルにまとめて話しているのです。

2 つの別々のテーブルを使用する利点はありますか? そうでない場合、テーブルのポイントは何ですか?

編集:
パーティション キー | 行キー | prop0 | prop1 |...
---------------------------------------------- ---...
サイファイ | スターウォーズ| foo0: バー0 | foo1: bar1|...
レンタル | スターウォーズ| foo0: バー0 | foo1: バー 1|...

4

1 に答える 1

1

まず第一に、テーブルストレージの概念は、検索機能が非常に貧弱であること、SQLクエリを発行できないこと、したがってRDBMSがないこと、および多くのデータを保存する手段であることを知って、大量のデータを「ダンプ」できるということです。データ。実際、partitionKey と rowKey は、Azure ストレージで取得できる唯一のインデックス付き列です。つまり、partitionKey または rowKey による検索は、他の列による検索よりも高速です。データをすばやく取得する必要がある場合は、ブロブ ストレージやテーブル ストレージは役に立ちません。監査目的または履歴目的で記録を残したいだけの場合は、はい。ただし、たとえばビデオ店で使用し、クライアントの詳細を取得する必要がある場合は、前述のように悪い習慣です。RDBMS を使用したほうがよいでしょう。最後に、できます」

于 2013-06-28T11:06:49.473 に答える