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

:データテーブルに対する操作

最終更新日:Dec 28, 2024

ワイドカラムモデルは、データテーブルを使用してデータを格納します。このトピックでは、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。有効な値:

  • widecolumn:データテーブル。

  • timeseries:時系列テーブル。

-t, --table

はい

mytable

データテーブルの名前。

-k, --pk

はい

[{"c":"uid","t":"string"},{"c":"pid","t":"integer"}]

データテーブルのプライマリキー列。このパラメーターの値は JSON 配列です。このパラメーターは、次のフィールドで構成されます。

  • c:必須。プライマリキー列の名前。

  • t:必須。プライマリキー列のタイプ。有効な値:string、integer、binary。

  • opt:オプション。オプションの構成項目。有効な値:none および auto。デフォルト値:none。 opt を auto に設定すると、プライマリキー列は自動インクリメントプライマリキー列になります。

    自動インクリメントプライマリキー列の詳細については、自動インクリメントプライマリキー列の構成 を参照してください。

説明

データテーブルを作成するときに、属性列のスキーマを指定する必要はありません。各行の属性列は異なっていてもかまいません。データを書き込むときは、属性列の名前を指定する必要があります。

主キー列は1~4列指定できます。最初の主キー列はパーティションキーです。データテーブルを作成した後は、主キー列の構成または順序を変更することはできません。

--ttl

いいえ

864000

データテーブル内のデータの保存期間。単位: 秒。

デフォルト値は -1 で、データの有効期限が切れないことを指定します。

説明

TTL は 86,400 秒 (1 日) 以上または -1 である必要があります。値 -1 は、データテーブル内のデータの有効期限が切れないことを指定します。

--version

いいえ

1

属性列のデータについて保持できるバージョンの最大数。

デフォルト値: 1。値 1 は、各属性列の最新バージョンのみが保持されることを指定します。このパラメータの値は正の整数である必要があります。

重要

Tablestore は、属性列のデータについて保持できるバージョンの最大数に制限を設けていません。ただし、パフォーマンスと使いやすさを最適化するために、このパラメータの値を 500 以下に設定することをお勧めします。

--read_cu

いいえ

0

予約済みの読み書きスループット。単位: キャパシティユニット (CU)。デフォルト値の 0 は、すべてのスループットに対して従量課金制で課金されることを指定します。

説明
  • 予約済みの読み書きスループットは、の高性能インスタンスのデータテーブルに対してのみ指定できます。

  • 予約済みの読み取りまたは書き込みスループットを 0 以外の値に設定した場合、読み取りまたは書き込み要求を開始したかどうかに関係なく課金されます。

--write_cu

いいえ

0

--ttl

いいえ

864000

事前定義された列の名前と種類。このパラメータの値はJSON配列です。このパラメータは、次のフィールドで構成されています。

  • c: 必須。定義済み列の名前。

  • t: 必須。定義済み列の型。有効な値: string、integer、binary、double、bool。

説明

デフォルトでは、データテーブルに対して最大 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 は、すべてのスループットが従量課金制で課金されることを指定します。

説明
  • 予約済みの読み書きスループットは、の高性能インスタンスのデータテーブルに対してのみ指定できます。

  • 予約済みの読み取りまたは書き込みスループットを 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の使用を参照してください。