Table Store のグローバルセカンダリインデックスには、次の機能があります。

  • テーブルとテーブルインデックス間の非同期データの同期をサポートします。 通常のネットワーク状態では、データ同期レイテンシはミリ秒単位です。
  • シングルフィールドインデックス、複合インデックスおよびカバリングインデックスをサポートします。 事前定義属性は、テーブル内で事前に指定された属性です。 定義済みの属性またはテーブルのプライマリキーにインデックスを作成できます。 さらに、テーブルの定義済み属性をインデックス属性として指定するか、属性を指定しないことを選択できます。 インデックス属性として事前定義属性を指定すると、ベース テーブルをクエリする代わりに、このインデックスを直接クエリして基本テーブルからデータを取り出すことができます。 たとえば、ベース テーブルには、3つのプライマリキー PK0、PK1 および PK2 が含まれています。 さらに、テーブルには 3 つの定義済み属性 Defined0、Defined1 および Defined2 があります。
    • 属性を指定せずに、PK2 にインデックスを作成できます。
    • PK2 にインデックスを作成し、属性として Defined0 を指定できます。
    • 属性を指定せずに、PK3 および PK2 にインデックスを作成できます。
    • PK3 と PK2 にインデックスを作成し、属性として Defined0 を指定できます。
    • PK2、PK1 および PK3 にインデックスを作成し、属性として Defined0、Defined1 および Defined2 を指定できます。
    • 属性を指定せずに Defined0 にインデックスを作成できます。
    • Define0 と PK1 にインデックスを作成し、Defined1 を属性として指定できます。
    • 属性を指定せずに Define1 と Define0 にインデックスを作成できます。
    • Define1 と Define0 にインデックスを作成し、Defined2 を属性として指定できます。
  • スパースインデックスをサポートします。 ベース テーブルの事前定義属性をインデックス属性として指定できます。 事前定義された属性がベース テーブルの行から除外されているにもかかわらず、すべてのプライマリキーが存在する場合でも、この行は索引付けされます。 ただし、行が 1 つ以上のインデックス付き属性を除外すると、この行はインデックス付けされません。 たとえば、ベース テーブルには、PK0、PK1 および PK2 の 3 つのプライマリキーが含まれています。 さらに、テーブルには 3 つの定義済み属性 Defined0、Defined1 および Defined2 があります。 Defined0 と Defined1 にインデックスを作成し、Defined2 を属性として指定できます。
    • インデックスには、Defined2 属性を除外し、定義済み属性 Defined0 および Defined1 を含むベース テーブルの行が含まれます。
    • ベース テーブルの行が Defined1 を除外し、定義済みの属性 Defined0 と Defined2 を含む場合、この行はインデックスから除外されます。
  • 既存のベース テーブルに対するインデックスの作成および削除をサポートします。 今後のバージョンでは、ベース テーブルにこのインデックスを作成すると、ベース テーブルの既存のデータがインデックスにコピーされます。
  • インデックスをクエリしても、作成されたインデックスのベース テーブルに対するクエリは自動的には実行されません。 ベース テーブルをクエリする必要があります。 この機能は今後のバージョンでサポートされる予定です。

Table Store のグローバルセカンダリインデックス機能は、現在、中国 (張家口) リージョンでご利用いただけます。 トライアルについては DingTalk で Table Store テクニカルサポートに連絡するか、詳細については ID 111789671 を入力して DingTalk グループに参加してください。