ワイドカラムモデルは、データテーブルを使用してデータを格納します。このトピックでは、Tablestore CLI を使用してデータテーブルに対する操作を実行する方法について説明します。 Tablestore CLI を使用して、テーブルの作成、使用、更新、および削除を行うことができます。また、Tablestore CLI を使用して、テーブルの名前を一覧表示したり、テーブルに関する情報をクエリしたりすることもできます。
テーブルの作成
プライマリキー列や Time To Live(TTL)などの構成が指定されたデータテーブルを作成します。 JSON 形式の設定ファイルをインポートしてデータテーブルを作成することもできます。
コマンド構文
create -t tableName --pk '[{"c":"<primaryKeyName>", "t":"<primaryKeyType>"},{"c":"<primaryKeyName>", "t":"<primaryKeyType>","opt":"<options>"}]' --ttl <timeToLive> --version <maxVersion>
パラメーター
パラメーター | 必須 | 例 | 説明 |
-m, --mode | いいえ | widecolumn | 作成するテーブルのタイプ。デフォルト値:widecolumn。有効な値:
|
-t, --table | はい | mytable | データテーブルの名前。 |
-k, --pk | はい | [{"c":"uid","t":"string"},{"c":"pid","t":"integer"}] | データテーブルのプライマリキー列。このパラメーターの値は JSON 配列です。このパラメーターは、次のフィールドで構成されます。
説明 データテーブルを作成するときに、属性列のスキーマを指定する必要はありません。各行の属性列は異なっていてもかまいません。データを書き込むときは、属性列の名前を指定する必要があります。 主キー列は1~4列指定できます。最初の主キー列はパーティションキーです。データテーブルを作成した後は、主キー列の構成または順序を変更することはできません。 |
--ttl | いいえ | 864000 | データテーブル内のデータの保存期間。単位: 秒。 デフォルト値は -1 で、データの有効期限が切れないことを指定します。 説明 TTL は 86,400 秒 (1 日) 以上または -1 である必要があります。値 -1 は、データテーブル内のデータの有効期限が切れないことを指定します。 |
--version | いいえ | 1 | 属性列のデータについて保持できるバージョンの最大数。 デフォルト値: 1。値 1 は、各属性列の最新バージョンのみが保持されることを指定します。このパラメータの値は正の整数である必要があります。 重要 Tablestore は、属性列のデータについて保持できるバージョンの最大数に制限を設けていません。ただし、パフォーマンスと使いやすさを最適化するために、このパラメータの値を 500 以下に設定することをお勧めします。 |
--read_cu | いいえ | 0 | 予約済みの読み書きスループット。単位: キャパシティユニット (CU)。デフォルト値の 0 は、すべてのスループットに対して従量課金制で課金されることを指定します。 説明
|
--write_cu | いいえ | 0 | |
--ttl | いいえ | 864000 | 事前定義された列の名前と種類。このパラメータの値はJSON配列です。このパラメータは、次のフィールドで構成されています。
説明 デフォルトでは、データテーブルに対して最大 32 個の事前定義列を指定できます。 |
-i, --input | いいえ | /tmp/create_table_meta.json | データテーブルの作成に使用する構成ファイルのパス。構成ファイルはJSON形式である必要があります。 |
例
次のサンプルコードは、mytable という名前のデータテーブルを作成する方法の例を示しています。この例では、データテーブルには、uid プライマリキー列と pid プライマリキー列というプライマリキー列が含まれています。データテーブルのデータは期限切れになりません。
create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer"}]'
次のサンプルコードは、mytable という名前のデータテーブルを作成する方法の例を示しています。この例では、データテーブルには、uid プライマリキー列と pid プライマリキー列というプライマリキー列が含まれています。pid プライマリキー列は、自動インクリメントプライマリキー列として指定されています。
create -t mytable --pk '[{"c":"uid", "t":"string"}, {"c":"pid", "t":"integer", "opt":"auto"}]'
次のサンプルコードは、mytable という名前のデータテーブルを作成する方法の例を示しています。この例では、データテーブルには、uid プライマリキー列と pid プライマリキー列というプライマリキー列が含まれています。TTL は 864,000 秒 (10 日間) に設定されています。各属性列の最新バージョンのデータのみが保持されます。
create -t mytable --pk '[{"C":"uid","t":"string"}, {"c":"pid","t":"integer"}]' --ttl 864000 --version 1
次のサンプルコードは、構成ファイルを使用して mytable という名前のデータテーブルを作成する方法の例を示しています。この例では、データテーブルには、uid プライマリキー列と pid プライマリキー列というプライマリキー列が含まれています。TTL は 864,000 秒 (10 日間) に設定され、予約済み読み書きスループットは 0 に設定されています。各属性列につき最大 3 つのバージョンのデータが保持されます。
Windows
create -i D:\\localpath\\filename.json
Linux および macOS
create -i /localpath/filename.json
構成ファイルには次の情報が含まれています。
{ "Name": "mytable", "Meta": { "Pk": [ { "C": "uid", "T": "string", "Opt": "none" }, { "C": "pid", "T": "integer", "Opt": "none" } ] }, "Option": { "TTL": 864000, "Version": 3 }, "CU": { "Read": 0, "Write": 0 } }
テーブルの使用
テーブル操作またはデータ操作を実行するテーブルを選択します。
コマンド構文
use --wc -t <tableName>
パラメーター
パラメーター | 必須 | 例 | 説明 |
--wc | いいえ | 該当なし | 操作を実行するテーブルがデータテーブルかインデックステーブルかを指定します。 |
-t, --table | はい | mytable | テーブルの名前。 |
例
次のサンプルコードは、mytable テーブルを選択する方法の例を示しています。
use -t mytable
テーブル名の一覧表示
インスタンス内のすべてのテーブル、すべてのデータテーブル、またはすべての時系列テーブルの名前を一覧表示します。
コマンド構文
list
パラメーター
パラメーター | 必須 | 例 | 説明 |
-a, --all | いいえ | 該当なし | すべてのテーブルの名前を一覧表示します。 |
-d, --detail | いいえ | 該当なし | テーブルの詳細を一覧表示します。 |
-w, --wc | いいえ | 該当なし | すべてのデータテーブルの名前を一覧表示します。 |
-t, --ts | いいえ | 該当なし | すべての時系列テーブルの名前を一覧表示します。 |
例
現在のテーブルと同じタイプのすべてのテーブルの名前を一覧表示する
list
すべてのテーブルの名前を一覧表示する
list -a
すべてのデータテーブルの名前を一覧表示する
list -w
すべての時系列テーブルの名前を一覧表示する
list -t
テーブルの更新
データテーブルに関する情報(TTL、最大バージョンなど)を更新します。
コマンド構文
alter -t <tableName> --ttl <timeToLive> --version <maxVersion> --read_cu <readCU> --write_cu <writeCU>
パラメーター
パラメーター | 必須 | 例 | 説明 |
-t, --table | はい | mytable | データテーブルの名前。 |
--ttl | いいえ | 864000 | データテーブル内のデータの保持期間。単位:秒。 TTL は 86,400 秒(1 日)以上、または -1 でなければなりません。-1 の値は、データテーブル内のデータが期限切れにならないことを指定します。 |
--version | いいえ | 1 | 属性列のデータに対して保持できる最大バージョン数。 デフォルト値:1。値 1 は、各属性列の最新バージョンのみが保持されることを指定します。このパラメーターの値は正の整数でなければなりません。 重要 Tablestore は、属性列のデータに対して保持できる最大バージョン数に制限を設けていません。ただし、最適なパフォーマンスと使いやすさのために、このパラメーターを 500 を超えない値に設定することをお勧めします。 |
--read_cu | いいえ | 0 | 予約済みの読み書きスループット。単位:CU。デフォルト値 0 は、すべてのスループットが従量課金制で課金されることを指定します。 説明
|
--write_cu | いいえ | 0 |
例
次のサンプルコードは、mytable という名前のデータテーブルの TTL を 86,400 秒に変更し、最大バージョンを 1 に設定し、予約済みの読み書きスループットを 0 に設定する方法の例を示しています。
alter -t mytable --ttl 86400 --version 1 --read_cu 0 --write_cu 0
テーブルに関する情報のクエリ
テーブルに関する情報をクエリし、その情報をローカルコンピュータ上のJSONファイルに保存します。
コマンド構文
desc -t <tableName> -o /localpath/filename.json
パラメーター
パラメーター | 必須 | 例 | 説明 |
-t, --table | いいえ | mytable | データテーブルまたはインデックステーブルの名前。 |
-f,--print_format | いいえ | json | テーブル情報の出力形式。デフォルト値: json。有効な値: json および table。 |
-o,--output | いいえ | /tmp/describe_table_meta.json | テーブル情報が保存されるJSONファイルのディレクトリと名前。 |
例
次のサンプルコードは、現在のテーブルに関する情報をクエリする方法の例を示しています。
desc
次のサンプルコードは、現在のテーブルに関する情報をクエリし、その情報を
describe_table_meta.json
という名前のローカルファイルに保存する方法の例を示しています。desc -o /tmp/describe_table_meta.json
テーブルの削除
データテーブルを削除します。
コマンド構文
drop -t <tableName> -y
パラメーター
パラメーター | 必須 | 例 | 説明 |
-t, --table | はい | mytable | データテーブルの名前。 |
-y,--yes | はい | 該当なし | 確認情報が表示されるように指定します。このパラメーターはコマンドで必須です。 |
例
次のサンプルコードは、mytable という名前のデータテーブルを削除する方法の例を示しています。
drop -t mytable -y
参照資料
ワイドカラムモデルは、BigtableやHBaseのデータモデルに似ており、メタデータやビッグデータの保存など、さまざまなシナリオに適しています。詳細については、概要を参照してください。
Tablestoreコンソールで、またはTablestore CLIまたはTablestore SDKを使用して、データテーブルに対する操作を実行できます。詳細については、Tablestoreコンソールの使用とTablestore SDKの使用を参照してください。