詳細については、ワイドカラムモデルを参照してください。
プライマリキー
テーブルの各行は、プライマリキーによって一意に識別されます。テーブルを作成するときに、プライマリキーを構成する列を指定する必要があります。これらの列は、プライマリキー列と呼ばれます。各プライマリキー列には値が含まれている必要があります。行内のプライマリキー列の値の組み合わせが行を一意に識別することを確認する必要があります。プライマリキー列の値のデータ型は、データ型が指定された後は変更できません。
パーティションとパーティションキー
Tablestoreは、データの負荷を分散するために、テーブルを異なるパーティションに自動的に分割します。最初のプライマリキー列は、パーティションキーと呼ばれます。
同じパーティションキーを持つ行は、同じパーティションに配置されます。ローカルトランザクションを使用して、同じパーティションキーを共有するデータに対して操作を実行できます。操作はすべて成功するか、すべて失敗します。
次の図は、電子メールシステムのメールテーブルの一部を示しています。次の項目では、テーブルのプライマリキーとパーティションについて説明します。
UserID、ReceiveTime、およびFromAddr列は、それぞれ電子メールユーザーのID、電子メールが受信された時刻、および電子メールが送信された送信者の電子メールアドレスを表します。これらの列は、電子メールを一意に識別するために使用されるプライマリキー列です。UserID列はパーティションキーです。
ToAddr、MailSize、Subject、およびRead列は、電子メールが送信された受信者の電子メールアドレス、電子メールのサイズ、電子メールの件名、および電子メールが読み取られたかどうかを表します。これらの列は、電子メールに関する情報を格納するために使用される属性列です。
次の図は、UserID列の値がU0001またはU0002である行が同じパーティションに配置され、UserID列の値がU0003またはU0004である行が別のパーティションに配置されていることを示しています。