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

-
作成 をクリックします。
データテーブルが作成されたら、テーブルリスト セクションで表示できます。新しいテーブルが表示されない場合は、
アイコンをクリックしてテーブルリストを更新します。
ステップ 2:データの読み書き
インスタンスの詳細 タブの テーブルリスト セクションで、データテーブルの アクション 列にある クエリ をクリックします。次に、データのクエリ ページでデータを読み書きします。
単一行のデータの挿入
複数行のデータを挿入する場合は、この手順を複数回繰り返します。
-
データのクエリ タブで、挿入 をクリックします。
-
挿入 ダイアログボックスで、プライマリキーの値を入力します。列を追加 を複数回クリックし、各属性列の 名前、タイプ、値 を設定します。

-
OK をクリックします。
単一行のデータの更新
既存の行のデータを更新できます。この例では、注文のアフターセールスステータスが更新され、comments という名前の新しい属性列が追加されます。comments 属性列の型は String です。
-
データのクエリ タブで、更新する行を選択し、更新 をクリックします。
-
更新 ダイアログボックスで、必要な更新を行います。
-
属性列の追加:列を追加 をクリックし、名前 を
commentsに、タイプ を String に設定し、必要に応じて 値 を設定します。 -
属性列の更新:操作を 更新 に設定し、
order_status属性列の値を変更します。

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

-
[OK] をクリックします。
クエリ条件を満たす行が表示されます。クエリ条件を満たす行がない場合、結果は空になります。
単一行のデータの読み取り
-
データのクエリ タブで、検索 をクリックします。
-
検索 ダイアログボックスで、モード を 行検索 に設定します。
-
デフォルトでは、すべての列が返されます。特定の属性列を返すには、[すべての列を取得] スイッチをオフにして、列の名前をコンマで区切って入力します。
-
対象の行のプライマリキーの 値 を入力します。他のパラメーターはデフォルトのままにします。
プライマリキー値の完全性と正確性が、クエリ結果に影響します。

-
[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 | 注文が変更された時刻。 |
FAQ
関連ドキュメント
セカンダリインデックスまたは多次元インデックスを使用して、データクエリを高速化できます。詳細については、「セカンダリインデックス」および「多次元インデックス」をご参照ください。