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

Tablestore:Tablestore コンソールでワイドカラムモデルを使用する

最終更新日:Dec 28, 2024

Tablestore コンソール、Tablestore CLI、または Tablestore SDK を使用して、Tablestore にアクセスできます。Tablestore コンソールでワイドカラムモデルを使用する前に、Tablestore をアクティブ化する必要があります。その後、Tablestore コンソールを使用して、インスタンスとデータテーブルの作成、テーブルへのデータの読み書き、SQL クエリ機能を使用したデータのクエリを実行できます。

前提条件

Tablestore にログオンするために使用する Alibaba Cloud アカウントまたは RAM ユーザーのログオン情報を取得します。

Alibaba Cloud アカウント をまだ作成していない場合は、Alibaba Cloud の公式 Web サイトで作成してください。

RAM ユーザーとして Tablestore を使用するには、Alibaba Cloud アカウントを使用して RAM ユーザーを作成し、Tablestore にアクセスするための権限を RAM ユーザーに付与する必要があります。詳細については、RAM ポリシーを使用して RAM ユーザーに権限を付与する を参照してください。

手順 1: Tablestore をアクティブ化する

Tablestore がアクティブ化されている場合は、この手順をスキップしてください。Tablestore のアクティブ化は 1 回だけ行う必要があります。Tablestore をアクティブ化しても課金されません。

  1. Tablestore 製品ページ にログオンします。

  2. 無料で入手 をクリックします。

  3. Table Store (従量課金制) ページで、今すぐ購入 をクリックします。

  4. 注文の確認 ページで、Table Store (従量課金制) サービス契約を読み、同意します を選択し、今すぐアクティブ化 をクリックします。

    Tablestore をアクティブ化したら、コンソール をクリックして Tablestore コンソールに移動します。

    Alibaba Cloud 公式 Web サイトのホームページの右上にある コンソール をクリックすることもできます。fig_tablestore_control_001 アイコンをクリックします。左側のナビゲーションペインで、製品とサービス > ストレージ > 基本ストレージサービス > Tablestore を選択して Tablestore コンソールに移動します。

手順 2: インスタンスを作成する

インスタンスは、Tablestore におけるリソース管理の基本単位です。Tablestore は、アプリケーションから Tablestore へのアクセスを管理し、インスタンスレベルでリソースを測定します。インスタンスを作成すると、インスタンス内にテーブルを作成および管理できます。

  1. Tablestore コンソール にログオンします。

  2. 上部のナビゲーションバーで、リソースグループとリージョンを選択します。

    リージョンで使用可能なインスタンスタイプがコンソールに表示されます。

  3. インスタンスの作成 をクリックします。

  4. オンデマンド タブの 課金方法 ダイアログボックスで、インスタンス名 を指定し、インスタンスタイプ ドロップダウンリストからインスタンスタイプを選択し、インスタンスの説明 を指定します。

    説明
    • インスタンスの命名規則とインスタンスタイプの選択方法については、インスタンス を参照してください。

    • 多数の Tablestore インスタンスがある場合は、インスタンスにタグを追加して、タグごとにインスタンスを管理できます。タグの詳細については、タグの概要 を参照してください。

  5. インスタンスへのアクセスが許可されているネットワークタイプを変更したり、Tablestore コンソールを使用して Tablestore リソースにアクセスできるかどうかを指定する場合は、詳細設定 をオンにして、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    許可されたネットワーク

    Tablestore リソースへのアクセスに使用できるネットワークのタイプ。一度に複数のネットワークタイプを選択できます。有効な値:

    • VPC: インスタンスに仮想プライベートクラウド (VPC) 経由でアクセスできるかどうかを指定します。デフォルトでは、VPC が選択されています。これは、インスタンスに VPC 経由でアクセスできることを示します。

      VPC 経由でインスタンスへのアクセスを許可したくない場合は、VPC をオフにします。

    • インターネット: インスタンスにインターネット経由でアクセスできるかどうかを指定します。デフォルトでは、インターネット が選択されています。これは、インスタンスにインターネット経由でアクセスできることを示します。

      インターネット経由でインスタンスにアクセスする必要がない場合は、インターネット をオフにします。

    • クラシックネットワーク: インスタンスにクラシックネットワーク経由でアクセスできるかどうかを指定します。デフォルトでは、クラシックネットワーク が選択されています。これは、インスタンスにクラシックネットワーク経由でアクセスできることを示します。

      クラシックネットワーク経由でインスタンスにアクセスする必要がない場合は、クラシックネットワーク をオフにします。

    許可された送信元

    Tablestore コンソールを使用して Tablestore リソースにアクセスできるかどうかを指定します。デフォルトでは、Trusted Gateway (コンソール) が選択されています。これは、Tablestore コンソールを使用して Tablestore リソースにアクセスできることを示します。

    Tablestore コンソールを使用して Tablestore リソースにアクセスできないようにする場合は、Trusted Gateway (コンソール) をオフにします。

  6. OK をクリックします。

手順 3: データテーブルを作成する

データテーブルのデータを読み書きできます。データテーブルを作成するときに、データを読み取るためのグローバルセカンダリインデックスを作成できます。

  1. 概要 ページで、管理するインスタンスの名前をクリックするか、インスタンスの インスタンスの管理アクション 列の をクリックします。

  2. インスタンス管理ページの インスタンスの詳細 タブで、テーブルの作成 をクリックします。

    説明

    1 つのインスタンスに最大 64 個のデータテーブルを作成できます。

  3. テーブルの作成 ダイアログボックスで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    テーブル名

    インスタンス内のデータテーブルを識別するために使用されるデータテーブルの名前。

    名前は 1 ~ 255 バイトの長さで、文字、数字、アンダースコア (_) を使用できます。名前は文字またはアンダースコア (_) で始める必要があります。

    主キー

    主キー列。すべての主キー列は、テーブル内のレコードを識別するために使用されます。

    主キー列の名前を入力し、データ型を選択します。主キー列の追加 をクリックして、主キー列を追加します。

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

    重要
    • Tablestore では、データテーブルごとに 1 つの主キー列のみを自動インクリメント主キー列として指定できます。パーティションキーを自動インクリメント主キー列として指定することはできません。

    • 主キー列を自動インクリメント主キー列として指定すると、データの行を書き込むときに、Tablestore によって自動インクリメント主キー列の値が自動的に生成されます。自動インクリメント主キー列の値は、同じパーティションキーを共有する行内でインクリメンタルで一意です。

    • 主キー列の命名規則: 名は 1 ~ 255 バイトの長さで、文字、数字、アンダースコア (_) を使用できます。名前は文字またはアンダースコア (_) で始める必要があります。

    • 主キー列では、STRINGINTEGERBINARY のデータ型がサポートされています。

    更新を許可する:

    UpdateRow 操作を許可するかどうかを指定します。デフォルト値は はい で、UpdateRow 操作が許可されていることを指定します。

    検索インデックスの Time to Live (TTL) 機能を使用する場合は、このパラメーターを いいえ に設定する必要があります。詳細については、検索インデックスの TTL を指定する を参照してください。

    暗号化

    データの暗号化を有効にするかどうかを指定します。デフォルトでは、この機能は無効になっています。暗号化 をオンにすることで、この機能を有効にできます。

    重要

    この機能を有効にした後、無効にすることはできません。慎重に行ってください。

    暗号化タイプ

    データの暗号化タイプ。このパラメーターは、暗号化 をオンにした場合にのみ必須です。有効な値:

    • KMS の CMK: Tablestore は、Key Management Service (KMS) にカスタマーマスターキー (CMK) を自動的に作成して、データを暗号化および復号化します。

    • BYOK ベースのキー: Tablestore は、Bring Your Own Key (BYOK) ベースのキーに基づいてデータを暗号化および復号化します。

      重要

      BYOK ベースの暗号化を使用する前に、KMS コンソールでソフトウェア保護キーを作成し、Resource Access Management (RAM) ロールを作成してから、RAM ロールに権限を付与する必要があります。詳細については、データの暗号化 を参照してください。

    キー ID

    キーの ID。このパラメーターは、暗号化タイプ パラメーターを BYOK ベースのキー に設定した場合にのみ必須です。

    ARN

    RAM ロールの Alibaba Cloud Resource Name (ARN)。このパラメーターは、暗号化タイプ パラメーターを BYOK ベースのキー に設定した場合にのみ必須です。

  4. オプション。 テーブルの作成 ダイアログボックスで、詳細設定またはグローバルセカンダリインデックスをオンにします。

    TTL などの詳細設定を行うには、詳細設定をオンにします。グローバルセカンダリインデックスを作成するには、グローバルセカンダリインデックスをオンにします。

    詳細設定を行う

    データテーブル内のデータの保存期間を管理するには、Time to Live パラメーターを指定します。同じ主キー値を持つデータの複数のバージョンを管理するには、最大バージョンパラメーターを指定します。詳細については、データのバージョンと TTL を参照してください。

    CU モードの高性能インスタンスのコストを削減するには、データテーブルの予約済み読み取り/書き込みスループットを指定します。詳細については、予約済み読み取り/書き込みスループット を参照してください。

    1. 詳細設定 をオンにします。

    2. 詳細パラメーターを設定します。次の表にパラメーターを示します。

      パラメーター

      説明

      Time to Live

      データテーブル内のデータの保存期間。保存期間が TTL 値を超えると、Tablestore は期限切れのデータを自動的に削除します。単位: 秒。

      最小値は 86,400 秒 (1 日) です。-1 の値は、データが期限切れにならないことを指定します。

      最大バージョン

      データテーブルの各属性列に保持できるバージョンの最大数。属性列のデータのバージョン数がこのパラメーターの値を超えると、システムは以前のバージョンのデータを削除します。

      このパラメーターの値は正の整数である必要があります。

      有効なバージョンのオフセット

      現在のシステム時刻と指定されたデータバージョンの最大差。単位: 秒。最大バージョンのオフセットパラメーターの値は、1970 年 1 月 1 日 00:00:00 UTC から経過した秒数よりも大きい正の整数です。

      バージョン番号とデータが書き込まれた時刻の差は、最大バージョンのオフセットパラメーターの値以下である必要があります。そうでない場合、データの書き込み時にエラーが発生します。

      属性列のデータの有効なバージョン範囲は、次の式を使用して計算されます。有効なバージョン範囲 = [max{データの書き込み時刻 - 最大バージョンのオフセット、データの書き込み時刻 - TTL 値}、データの書き込み時刻 + 最大バージョンのオフセット)

      予約済み読み取りスループット

      容量インスタンスでは、2 つのパラメーターはサポートされていません。

      データテーブルの予約済み読み取りまたは書き込みスループット。値は INTEGER 型です。有効な値: 0 ~ 100000。単位: キャパシティユニット (CU)。

      • 予約済み読み取りスループット または 予約済み書き込みスループット パラメーターを 0 より大きい値に設定すると、Tablestore はデータテーブルに関連リソースを割り当てて予約します。データテーブルを作成した後、予約済みスループットリソースの料金が請求されます。

      • 予約済み読み取りスループット または 予約済み書き込みスループット パラメーターを 0 に設定すると、Tablestore はデータテーブルに関連リソースを割り当てたり予約したりしません。

      予約済み書き込みスループット

    セカンダリインデックスを設定する

    アプリケーションが異なる属性列をクエリ条件として使用してデータをクエリする必要がある場合は、これらの属性列をセカンダリインデックスの主キー列として指定して、クエリを高速化できます。詳細については、概要 を参照してください。

    1. グローバルセカンダリインデックス をオンにします。

    2. 事前定義列の横にある 追加 をクリックします。事前定義列の名前を指定し、ドロップダウンリストからデータ型を選択します。

      事前定義列の命名規則: 名は 1 ~ 255 バイトの長さで、文字、数字、アンダースコア (_) を使用できます。名前は文字またはアンダースコア (_) で始める必要があります。

      事前定義列は、STRINGINTEGERBINARYFLOATBOOLEAN のデータ型をサポートしています。

    3. グローバルセカンダリインデックスの追加 をクリックします。インデックス名と主キーパラメーターを設定する必要があります。ビジネス要件に基づいて、事前定義列とインデックスタイプパラメーターを設定できます。

      重要

      インデックス名はデータテーブル名と異なっている必要があります。インデックス名とデータテーブル名は、インスタンス内で一意である必要があります。

      セカンダリインデックスの名前は 1 ~ 255 バイトの長さで、文字、数字、アンダースコア (_) を使用できます。名前は文字またはアンダースコア (_) で始める必要があります。

      • 主キー パラメーターには、データテーブルの 1 つ以上の主キー列または事前定義列を指定できます。事前定義列 パラメーターには、データテーブルの 1 つ以上の事前定義列を指定できます。ただし、同じ事前定義列をセカンダリインデックスの主キー列と事前定義列の両方として指定することはできません。

      • インデックスタイプ パラメーターは、グローバル または ローカル に設定できます。

        重要

        グローバルセカンダリインデックスの最初の主キー列は、データテーブルの主キー列または事前定義列にすることができます。ローカルセカンダリインデックスの最初の主キー列は、データテーブルの最初の主キー列である必要があります。

        グローバルセカンダリインデックス機能を使用すると、Tablestore はデータテーブルのインデックス付き列と主キー列のデータをインデックステーブルの列に非同期モードで自動的に同期します。同期レイテンシはミリ秒単位まで短縮できます。ローカルセカンダリインデックス機能を使用すると、Tablestore はデータテーブルのインデックス付き列と主キー列のデータをインデックステーブルの列に同期モードで自動的に同期します。データがデータテーブルに書き込まれた直後に、インデックステーブルからデータをクエリできます。

  5. OK をクリックします。

    データテーブルが作成された後、テーブル タブでデータテーブルを表示できます。作成したデータテーブルがタブに表示されない場合は、fig_tablestore_002 アイコンをクリックしてテーブルリストを更新します。

手順 4: データを読み書きする

データテーブルのデータの書き込み、更新、削除、読み取りを実行できます。

  1. インスタンスの詳細 タブの テーブル タブで、管理するデータテーブルの名前をクリックし、データのクエリ タブをクリックします。また、データテーブルの アクション 列の クエリ をクリックすることもできます。

  2. ビジネス要件に基づいてデータを読み書きします。

    データの行を挿入する

    1. データのクエリ タブで、挿入 をクリックします。

    2. 挿入 ダイアログボックスで、主キー値パラメーターを設定します。+ アイコンをクリックし、名前タイプバージョン パラメーターを設定します。

      デフォルトでは、システム時刻 が選択されています。この値は、現在のシステム時刻がデータのバージョン番号として使用されることを指定します。システム時刻 をオフにして、データのバージョン番号を入力することもできます。

    3. OK をクリックします。

    データの行を更新する

    1. データのクエリ タブで、更新するデータの行を選択します。更新 をクリックします。

    2. 更新 ダイアログボックスで、属性列を追加または削除するか、属性列のデータを更新または削除します。

      • + アイコンをクリックして属性列を追加できます。また、fig_tablestore_005 アイコンをクリックして属性列を削除することもできます。

      • アクション列で 更新 を選択すると、属性列のデータを変更できます。削除 を選択してバージョンを選択すると、選択したバージョンのデータを削除できます。すべて削除 を選択すると、すべてのバージョンのデータを削除できます。

    3. OK をクリックします。

    データを読み取る

    ビジネス要件に基づいて、Tablestore コンソールで単一のデータ行または主キー値が特定の範囲内にあるデータを読み取ることができます。

    単一のデータ行を読み取る

    1. データのクエリ タブで、検索 をクリックします。

    2. 検索 ダイアログボックスで、モード パラメーターを 行の取得 に設定し、テーブル/セカンダリインデックスドロップダウンリストからクエリするテーブルまたはセカンダリインデックスを選択します。

    3. デフォルトでは、すべての列が返されます。特定の属性列を返すには、すべての列 をオフにして、返す属性列の名前を入力します。複数の属性列名はカンマ (,) で区切ります。

    4. クエリする行の 主キー値 パラメーターを設定します。

      主キー値の整合性と精度は、クエリ結果に影響します。

    5. 最大バージョン パラメーターを設定して、返すバージョンの最大数を指定します。

    6. OK をクリックします。

    主キー値が特定の範囲内にあるデータを読み取る

    1. データのクエリ タブで、検索 をクリックします。

    2. 検索 ダイアログボックスで、モード パラメーターを 範囲検索 に設定し、テーブル/セカンダリインデックスドロップダウンリストからクエリするテーブルまたはセカンダリインデックスを選択します。

    3. デフォルトでは、すべての列が返されます。特定の属性列を返すには、すべての列 をオフにして、返す属性列の名前を入力します。複数の属性列名はカンマ (,) で区切ります。

    4. 主キー列の開始と主キー列の終了パラメーターを指定します。

    5. 重要
      • モードを範囲検索に設定した場合、右側の主キー列の開始値と終了値で指定された範囲は、各左端の主キー列内で開始値と終了値が同じ場合にのみ有効になります。左端の主キー列の開始値と終了値が異なる場合、右側の主キー列の開始値と終了値で指定された範囲は有効になりません。

      • 範囲は左開区間、右閉区間です。

    6. 最大バージョン パラメーターを設定して、返すバージョンの最大数を指定します。

    7. シーケンスパラメーターを 前方検索 または 後方検索 に設定します。

    8. OK をクリックします。

    データを削除する

    重要

    削除したデータは復元できません。慎重に行ってください。

    1. データのクエリ タブで、削除するデータの行を選択します。削除 をクリックします。

    2. 削除 メッセージで、OK をクリックします。

手順 5: SQL を使用してデータをクエリする

SQL クエリ機能は MySQL クエリ構文と互換性があり、データ定義言語 (DDL) ステートメントを使用したテーブル作成をサポートしています。既存のデータテーブルの場合、CREATE TABLE ステートメントを実行して、既存のデータテーブルのマッピングテーブルを作成できます。その後、SQL ステートメントを使用して、既存のデータテーブルのデータにアクセスできます。詳細については、SQL クエリ を参照してください。

  1. 概要 ページで、管理するインスタンスの名前をクリックするか、インスタンスの インスタンスの管理アクション 列の をクリックします。

  2. SQL ステートメントを実行してクエリする タブで、マッピングテーブルを作成します。

    1. fig_createtablevitural アイコンをクリックします。

      説明

      マッピングテーブルが作成されていない場合、SQL ステートメントを実行してクエリする タブをクリックすると、マッピングテーブルの作成 ダイアログボックスが表示されます。

      image.png

    2. マッピングテーブルの作成 ダイアログボックスで、パラメーターを設定します。次の表にパラメーターを示します。

      パラメーター

      説明

      テーブルタイプ

      マッピングテーブルを作成するテーブルのタイプ。有効な値:

      • 共通テーブル: データテーブルのマッピングテーブルを作成します。これはデフォルト値です。

      • 時系列テーブル: 時系列テーブルのマッピングテーブルを作成します。

      テーブル名

      マッピングテーブルを作成するテーブルの名前。

      マッピングモード

      マッピングテーブルを作成するモード。このパラメーターは、テーブルタイプ パラメーターを 共通テーブル に設定した場合にのみ使用できます。有効な値:

      • テーブルのマッピングテーブル: 既存のデータテーブルのマッピングテーブルを作成します。これはデフォルト値です。

      • 検索インデックスのマッピングテーブル: 既存の検索インデックスのマッピングテーブルを作成します。

      詳細設定

      整合性モードのオプションと、マッピングテーブルの不正確な集計を有効にするかどうかを指定します。詳細設定 をオンにして、整合性モードと不正確な集計パラメーターを設定できます。詳細設定パラメーターは、マッピングモード パラメーターを テーブルのマッピングテーブル に設定した場合にのみ使用できます。

      整合性モード

      実行エンジンでサポートされている整合性モード。このパラメーターは、詳細設定 をオンにした場合にのみ使用できます。有効な値:

      • 結果整合性: クエリ結果は結果整合性モードになります。これはデフォルト値です。テーブルにデータが書き込まれてから数秒後にデータをクエリできます。

      • 厳密な整合性: クエリ結果は厳密な整合性モードになります。テーブルにデータが書き込まれた直後にデータをクエリできます。

      不正確な集計

      集計操作の精度を損なうことによってクエリのパフォーマンスを向上させるかどうかを指定します。このパラメーターは、詳細設定 をオンにした場合にのみ使用できます。有効な値:

      • はい: 集計操作の精度を損なうことによってクエリのパフォーマンスを向上させます。これはデフォルト値です。

      • いいえ: 集計操作の精度を損なうことによってクエリのパフォーマンスを向上させません。

      検索インデックス名

      マッピングテーブルを作成する検索インデックスの名前。このパラメーターは、マッピングモード パラメーターを 検索インデックスのマッピングテーブル に設定した場合にのみ使用できます。

      マッピングテーブル名

      作成するマッピングテーブルの名前。

      • テーブルタイプ パラメーターを 共通テーブル に、マッピングモード パラメーターを テーブルのマッピングテーブル に設定した場合、マッピングテーブルの名前はデータテーブルの名前と同じになり、変更できません。テーブルタイプパラメーターを共通テーブルに、マッピングモード パラメーターを 検索インデックスのマッピングテーブル に設定した場合は、マッピングテーブルの名前を入力します。

      • テーブルタイプ パラメーターを 時系列テーブル に設定した場合は、ビジネス要件に基づいてマッピングテーブルの名前を入力します。時系列テーブルのマッピングテーブルが作成されると、システムはマッピングテーブル名に 時系列テーブル名:: 接頭辞を自動的に追加します。

    3. SQL ステートメントの生成 をクリックします。

      マッピングテーブルを作成するための SQL ステートメントが自動的に生成されます。SQL ステートメントの例:

      CREATE TABLE `exampletable` (
          `id` BIGINT(20),
          `colvalue` MEDIUMTEXT,
          `content` MEDIUMTEXT,
          PRIMARY KEY(`id`)
      );
      重要

      マッピングテーブルのフィールドのデータ型が、データテーブルのフィールドのデータ型と一致していることを確認します。データ型のマッピングの詳細については、SQL でのデータ型マッピングを参照してください。

    4. ビジネス要件に基づいてマッピングテーブルのスキーマを変更した後、SQL ステートメントをドラッグ選択し、SQL ステートメントの実行 (F8) をクリックします。

      実行が成功すると、実行結果が 実行結果 セクションに表示されます。

      重要
      • マッピングテーブルを作成する場合、マッピングテーブルに指定するスキーマには、後続のデータクエリ操作に必要な列が含まれている必要があります。

      • 実行する SQL ステートメントをドラッグ選択する必要があります。SQL ステートメントをドラッグ選択しない場合、システムは最初の SQL ステートメントを実行します。

      • 一度に実行できる SQL ステートメントは 1 つだけです。複数の SQL ステートメントを同時に実行すると、システムはエラーを報告します。

      image

  3. SELECT ステートメントを実行してデータをクエリします。詳細については、データのクエリ を参照してください。

FAQ

参考資料