Wide Column モデルは、Bigtable や HBase のデータモデルに似ており、メタデータやビッグデータの格納など、さまざまなシナリオに適しています。1 つのデータテーブルにペタバイトレベルのデータを格納でき、数千万クエリ/秒 (QPS) をサポートします。 このトピックでは、Tablestore コンソールで Wide Column モデルを使用する方法について説明します。
Tablestore CLI を使用して Wide Column モデルの概要について理解するには、「Wide Column モデルの概要」をご参照ください。
前提条件
Tablestore がアクティブ化され、インスタンスが作成されていること。詳細については、「Tablestore をアクティブ化してインスタンスを作成する」をご参照ください。
手順
ステップ 1: データテーブルを作成する
ビジネス関連のデータを格納するデータテーブルを作成します。
サンプルシナリオとテーブルスキーマについては、「サンプルシナリオ」をご参照ください。
[インスタンス管理] ページに移動します。
Tablestore コンソール にログインします。
上部のナビゲーションバーで、リソースグループとリージョンを選択します。
[概要] ページで、管理するインスタンスの名前をクリックするか、インスタンスの [インスタンスの管理][操作] 列の をクリックします。
[インスタンスの詳細] タブの [インスタンス管理] ページで、[テーブルの作成] をクリックします。
[テーブルの作成] ダイアログボックスで、[テーブル名] を order に設定し、テーブルのプライマリキーを設定します。

[作成] をクリックします。
データテーブルが作成されると、[テーブル] タブでデータテーブルを表示できます。作成したデータテーブルがタブに表示されない場合は、
アイコンをクリックしてテーブルリストを更新します。
ステップ 2: データの読み取りと書き込み
[インスタンスの詳細] タブの [テーブル] セクションで、管理するテーブルの [操作] 列の [クエリ] をクリックします。[データのクエリ] タブで、ビジネス要件に基づいてデータを読み書きします。
1 行のデータを挿入する
複数の行のデータを挿入する場合は、手順を複数回繰り返します。
[データのクエリ] タブで、[挿入] をクリックします。
[挿入] ダイアログボックスで、各プライマリキー列のプライマリキー値パラメーターを構成します。属性列を指定するたびに、次の操作を実行します。[列の追加] をクリックし、[名前]、[種類]、および [値] パラメーターを構成します。

[OK] をクリックします。
1 行のデータを更新する
既存の行のデータを更新できます。この例では、注文のアフターサービスステータスが更新され、comments という名前の新しい属性列が追加されます。 comments 属性列は String 型です。
[データのクエリ] タブで、更新するデータの行を選択します。[更新] をクリックします。
[更新] ダイアログボックスで、ビジネス要件に基づいて次の操作を実行します。
属性列を追加する: [列の追加] をクリックし、[名前] を comments に設定し、[タイプ] ドロップダウンリストから [STRING] を選択し、[値] パラメーターの値を指定します。
属性列のデータを更新する: [操作] ドロップダウンリストから [更新] を選択し、order_status 属性列の値を変更します。

[OK] をクリックします。
データを読み取る
ビジネス要件に基づいて、Tablestore コンソールで 1 行のデータ、またはプライマリキー値が特定の範囲内にあるデータを読み取ることができます。
SQL 文を実行して、テーブル内のデータをクエリおよび分析できます。詳細については、「SQL クエリ」をご参照ください。
プライマリキー値が特定の範囲内にあるデータを読み取る
[データのクエリ] タブで、[検索] をクリックします。
[検索] ダイアログボックスで、[モード] を [範囲検索] に設定します。
デフォルトでは、システムはすべての列を返します。特定の属性列を返すには、[すべての列] をオフにし、返す属性列の名前を入力します。複数の属性列名はコンマ (,) で区切ります。
各プライマリキー列の [開始プライマリキー列] パラメーターと [終了プライマリキー列] パラメーターを指定し、その他のパラメーターについてはデフォルト設定を保持します。
説明[モード] を [範囲検索] に設定した場合、右側のプライマリキー列の開始値と終了値で指定された範囲は、各左端のプライマリキー列内で開始値と終了値が同じ場合にのみ有効になります。左端のプライマリキー列の開始値と終了値が異なる場合、右側のプライマリキー列の開始値と終了値で指定された範囲は有効になりません。
範囲は、左開区間、右閉区間です。

[OK] をクリックします。
システムは、クエリ条件を満たす行を表示します。クエリ条件を満たす行がない場合、応答は空になります。
1 行のデータを読み取る
[データのクエリ] タブで、[検索] をクリックします。
[検索] ダイアログボックスで、[モード] を [行の取得] に設定します。
デフォルトでは、システムはすべての列を返します。特定の属性列を返すには、[すべての列] をオフにし、返す属性列の名前を入力します。複数の属性列名はコンマ (,) で区切ります。
データをクエリする行の各プライマリキー列の [プライマリキー値] パラメーターを設定し、その他のパラメーターについてはデフォルト設定を保持します。
プライマリキー値の整合性と精度は、クエリ結果に影響します。

[OK] をクリックします。
システムは、クエリ条件を満たす行を表示します。クエリ条件を満たす行がない場合、応答は空になります。
データの削除
削除したデータは復元できません。ご注意ください。
[データのクエリ] タブで、削除するデータの行を選択します。[削除] をクリックします。
[削除] メッセージで、[OK] をクリックします。
サンプルシナリオ
注文システムは、今日、さまざまな業界で使用されている非常に一般的なシステムです。たとえば、eコマース プラットフォームでは注文の保存、銀行では取引 レコードの保存、通信事業者では請求書の保存に使用されます。この例では、注文システムの注文テーブルを使用して、データテーブルの作成方法と、データテーブルのデータの読み書き方法について説明します。注文テーブルの名前は order です。次の表に、テーブルのスキーマを示します。
列名 | データ型 | 説明 |
order_id (プライマリキー列) | String | 注文の ID。この例では、ホットスポット データを回避するために、注文 ID 生成アルゴリズムを使用してハッシュ化が実行されます。 |
user_id | String | 顧客の ID。 |
sku_id | String | 製品の ID。 |
price | Double | 製品の購入価格。 |
num | Integer | 購入された製品の数量。 |
total_price | Double | 注文の合計金額。 |
order_status | String | 注文のステータス。 |
create_time | String | 注文が作成された時間。値はミリ秒単位の 64 ビット タイムスタンプです。 |
modified_time | String | 注文が変更された時間。 |
よくある質問
参考資料
セカンダリインデックスまたはサーチインデックスを使用して、データクエリを高速化できます。詳細については、「セカンダリインデックス」および「サーチインデックス」をご参照ください。