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:データテーブルを作成して使用する
データテーブルを作成した後、データテーブルを選択して、後続のテーブル操作またはデータ操作をデータテーブルで実行できます。
次のコマンドを実行して、order という名前のデータテーブルを作成します。
create -t order --pk '[{"c":"id","t":"string"}]'次のコマンドを実行して、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詳細については、「データの操作」をご参照ください。
関連情報
セカンダリインデックスまたはサーチインデックスを使用して、データクエリを高速化できます。詳細については、「セカンダリインデックス」および「サーチインデックス」をご参照ください。