Wide Column モデルは Bigtable や HBase のデータモデルに類似しており、メタデータやビッグデータのストレージなど、さまざまなシナリオに適しています。単一のデータテーブルでペタバイトレベルのデータを保存でき、1 秒あたり数千万のクエリ数 (QPS) に対応します。このトピックでは、Tablestore コンソールで Wide Column モデルを使用する方法について説明します。
Tablestore CLI を使用した Wide Column モデルの利用開始方法については、「Wide Column モデルの使用開始」をご参照ください。
前提条件
Tablestore がアクティブ化され、インスタンスが作成されていること。詳細については、「Tablestore のアクティブ化とインスタンスの作成」をご参照ください。
操作手順
ステップ 1:データテーブルの作成
ビジネスデータを保存するためのデータテーブルを作成します。
サンプルシナリオとテーブルスキーマについては、「サンプルシナリオ」をご参照ください。
-
インスタンスの管理 ページに移動します。
Tablestore コンソールにログインします。
上部メニューで、リソースグループとリージョンを選択します。
-
概要 ページで、インスタンス名をクリックするか、アクション 列の インスタンスの管理 をクリックします。
-
インスタンスの詳細 タブで、テーブルの作成 をクリックします。
-
テーブルの作成 ダイアログボックスで、テーブル名 を order に設定し、プライマリキーを設定します。
プライマリキー列名を
order_idに設定し、タイプを [文字列] に設定し、それを [パーティションキー] として設定し、その他のオプションはデフォルトのままにして、次に 作成 をクリックします。 -
作成 をクリックします。
作成したデータテーブルは、テーブルリスト セクションで確認できます。新しいテーブルが表示されない場合は、
アイコンをクリックしてテーブルリストを更新してください。
ステップ 2:データの読み書き
インスタンスの詳細 タブの テーブルリスト セクションで、データテーブルの アクション 列にある クエリ をクリックします。次に、データのクエリ ページでデータの読み書きを行います。
単一行のデータの挿入
複数行のデータを挿入する場合は、手順を複数回繰り返します。
-
データのクエリ タブで、挿入 をクリックします。
-
挿入 ダイアログボックスで、プライマリキー値を入力します。列を追加 を複数回クリックし、各属性列の 名前、タイプ、および 値 を設定します。
この例では、プライマリキー order_id (文字列) は
3a0ab074-ea98-11ef-821b-00163e184c56に設定されており、属性列は次のように設定されています。user_id (文字列):
1000000096sku_id (文字列):
9000000002価格(Double):
400.00num (整数):
43total_price (Double):
17200.00order_status (文字列):
closedcreate_time (文字列):
2025-01-09 13:4modified_time (文字列):
2025-01-09 13:4
-
OK をクリックします。
単一行のデータの更新
既存の行のデータを更新できます。この例では、注文のアフターサービスステータスを更新し、comments という新しい属性列を追加します。comments 属性列は String タイプです。
-
データのクエリ タブで、更新する行を選択し、更新 をクリックします。
-
更新 ダイアログボックスで、必要な更新を行います。
-
属性列の追加:列を追加 をクリックし、名前 を
commentsに設定し、タイプ を String に設定し、必要に応じて 値 を設定します。 -
属性列の更新: 操作を 更新 に設定し、
order_status属性列の値を変更します。
たとえば、order_status の値を
refundedに変更し、comments の値を退货已签收に設定します。 -
-
OK をクリックします。
データの読み取り
ビジネス要件に基づいて、Tablestore コンソールで単一行のデータ、またはプライマリキー値が特定の範囲内にあるデータを読み取ることができます。
SQL ステートメントを実行して、テーブル内のデータをクエリおよび分析できます。詳細については、「SQL クエリ」をご参照ください。
プライマリキー値が特定の範囲内にあるデータの読み取り
-
データのクエリ タブで、検索 をクリックします。
-
検索 ダイアログボックスで、モード を 範囲検索 に設定します。
-
デフォルトでは、すべてのカラムが返されます。特定の属性カラムを返すには、[すべてのカラムを取得] スイッチをオフにし、カラム名をコンマで区切って入力します。
各プライマリキー列の開始プライマリキー列と終了プライマリキー列のパラメータを指定し、その他のパラメータはデフォルト設定のままにします。
説明モードを範囲検索に設定した場合、より右側のプライマリキー列で指定された開始値と終了値の範囲は、それより左側にある各プライマリキー列で開始値と終了値が同じ場合にのみ有効になります。左側のプライマリキー列で開始値と終了値が異なる場合、それより右側のプライマリキー列で指定された開始値と終了値の範囲は有効になりません。
範囲は左開き、右閉じの区間です。
開始プライマリキー列を[INF_MIN]に、終了プライマリキー列を[INF_MAX]に設定します。
-
[OK] をクリックします。
クエリ条件を満たす行が表示されます。クエリ条件を満たす行がない場合、レスポンスは空になります。
単一行のデータの読み取り
-
データのクエリ タブで、検索 をクリックします。
-
検索 ダイアログボックスで、モード を 行検索 に設定します。
-
デフォルトでは、すべての列が返されます。特定の属性列を返すには、[すべての列を取得] スイッチをオフにし、列名をコンマで区切って入力します。
-
対象の行のプライマリキーの値を入力し、その他のパラメーターはデフォルトのままにします。
プライマリキー値の完全性と正確さが、クエリ結果に影響します。
検索 ダイアログボックスで、モード を 行検索 に設定し、[テーブル/セカンダリインデックス] を [order] に設定します。
-
[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 | 注文が作成された時刻。 |
modified_time | String | 注文が変更された時刻。 |
よくある質問
関連ドキュメント
セカンダリインデックスまたは検索インデックスを使用して、データクエリを高速化できます。詳細については、「セカンダリインデックス」および「検索インデックス」をご参照ください。