すべてのプロダクト
Search
ドキュメントセンター

Tablestore:Wide Column モデルの概要

最終更新日:Feb 28, 2025

Wide Column モデルは、Bigtable や HBase のデータモデルに似ており、メタデータやビッグデータの格納など、さまざまなシナリオに適しています。 1 つのデータテーブルにペタバイトレベルのデータを格納でき、数千万クエリ/秒 (QPS) をサポートします。 このトピックでは、Tablestore CLI を使用して Wide Column モデルを使い始める方法について説明します。

前提条件

インスタンスが作成されていること。詳細については、「インスタンスの作成」をご参照ください。

手順

ステップ 1:アクセスするインスタンスの情報を設定する

config コマンドを実行して、アクセス情報を設定します。

コマンドを実行する前に、コマンド内のエンドポイント、インスタンス名、AccessKey ID、および AccessKey シークレットを実際のエンドポイント、インスタンス名、AccessKey ID、および AccessKey シークレットに置き換えます。
config --endpoint https://myinstance.cn-hangzhou.ots.aliyuncs.com --instance myinstance --id NTSVL******************** --key 7NR2****************************************

ステップ 2:データテーブルを作成して使用する

データテーブルを作成した後、データテーブルを選択して、後続のテーブル操作またはデータ操作をデータテーブルで実行できます。

  1. 次のコマンドを実行して、order という名前のデータテーブルを作成します。

    create -t order --pk '[{"c":"id","t":"string"}]'
  2. 次のコマンドを実行して、order という名前のデータテーブルを使用します。

    use --wc -t order

詳細については、「データテーブルの操作」をご参照ください。

ステップ 3:データ操作を実行する

ビジネス要件に基づいて、データの書き込み、更新、読み取り、削除、またはエクスポートを実行できます。

データの書き込み

  • データの行を挿入します。

    次のコマンド例は、データテーブルに行データを挿入する方法を示しています。

    put --pk '["000000114d884ca1dbd6b9a58e8d0d94"]' --attr '[{"c":"pBrand","v":"brand1"},{"c":"pPrice","v":1599.0},{"c":"payTime","v":1509615334404,"isint":true},{"c":"totalPrice","v":2498.99},{"c":"sName","v":"Peter"},{"c":"pId","v":"p0003004"},{"c":"oId","v":"o0039248410"},{"c":"hasPaid","v":true},{"c":"sId","v":"s0015"},{"c":"orderTime","v":1509614885965,"isint":true},{"c":"pName","v":"brand1 type"},{"c":"cName","v":"Mary"},{"c":"pType","v":"Mobile phone"},{"c":"pCount","v":1,"isint":true},{"c":"cId","v":"c0018"}]'
  • データをインポートします。

    サンプルデータ パッケージをローカルデバイスにダウンロードし、パッケージを解凍してから、import コマンドを実行してデータをバッチでインポートします。

    説明

    サンプルデータファイルには、合計 100 万行の注文データが含まれています。 import -l パラメーターを使用して、インポートする行数を指定できます。

    次のコマンド例は、サンプルデータファイルの 50,000 行の注文データを現在のテーブルにインポートし、現在の時刻をタイムスタンプとして使用する方法を示しています。サンプルコマンドでは、yourFilePath はサンプルデータパッケージが解凍されるパスを指定します。例:D:\\order_demo_data_1000000\\order_demo_data_1000000

    import -i yourFilePath --ignore_version -l 50000

    次の結果が返されます。

    Current speed is: 15800 rows/s. Total succeed count 15800, failed count 0.
    Current speed is: 27400 rows/s. Total succeed count 43200, failed count 0.
    Import finished, total count is 50000, failed 0 rows.

データの更新

次のコマンド例は、プライマリキー列の値が 000000114d884ca1dbd6b9a58e8d0d94 である行を更新する方法を示しています。行が存在するかどうかに関係なく、データが挿入されます。行が存在する場合、挿入されたデータは既存のデータを上書きします。

update --pk '["000000114d884ca1dbd6b9a58e8d0d94"]' --attr '[{"c":"pBrand","v":"brand2"},{"c":"pPrice","v":1599.0},{"c":"payTime","v":1509615334404,"isint":true},{"c":"totalPrice","v":2498.99},{"c":"sName","v":"Peter"},{"c":"pId","v":"p0003004"},{"c":"oId","v":"o0039248410"},{"c":"hasPaid","v":true},{"c":"sId","v":"s0015"},{"c":"orderTime","v":1509614885965,"isint":true},{"c":"pName","v":"brand2 type"},{"c":"cName","v":"Mary"},{"c":"pType","v":"Mobile phone"},{"c":"pCount","v":1,"isint":true},{"c":"cId","v":"c0018"}]'  --condition ignore

データの読み取り

SQL 文を実行して、テーブル内のデータのクエリと分析を実行できます。詳細については、「SQL クエリ」をご参照ください。
  • データの行を読み取ります。

    次のコマンド例は、プライマリキー列の値が 000000114d884ca1dbd6b9a58e8d0d94 である行を読み取る方法を示しています。

    get --pk '["000000114d884ca1dbd6b9a58e8d0d94"]'

    次の結果が返されます。

    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
    | id                               | cId   | cName  | hasPaid | oId         | orderTime     | pBrand | pCount | pId      | pName       | pPrice | pType | payTime       | sId   | sName  | totalPrice |
    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
    | 000000114d884ca1dbd6b9a58e8d0d94 | c0018 | Mary | true    | o0039248410 | 1509614885965 | brand1 | 1      | p0003004 | brand1 type | 1599   | Mobile phone  | 1509615334404 | s0015 | Peter | 2498.99    |
    +----------------------------------+-------+--------+---------+-------------+---------------+--------+--------+----------+-------------+--------+-------+---------------+-------+--------+------------+
  • データをスキャンします。

    次のコマンド例は、データテーブルの最大 10 行のデータをスキャンする方法を示しています。

    scan --limit 10

データの削除

次のコマンド例は、プライマリキー列の値が 000000114d884ca1dbd6b9a58e8d0d94 である行を削除する方法を示しています。

delete --pk '["000000114d884ca1dbd6b9a58e8d0d94"]'

データのエクスポート

データテーブルからローカル JSON ファイルにデータをエクスポートできます。

次のコマンド例は、現在のテーブルの pId、oId、および cName 列からローカルファイル mydata.json にデータをエクスポートする方法を示しています。

scan -o /tmp/mydata.json -c pId,oId,cName

詳細については、「データの操作」をご参照ください。

関連情報

セカンダリインデックスまたはサーチインデックスを使用して、データクエリを高速化できます。詳細については、「セカンダリインデックス」および「サーチインデックス」をご参照ください。