Tablestoreでは、SQLクエリ機能を使用してデータを効率的にクエリできます。Tablestoreコンソールでマッピングテーブルを作成した後、SELECTステートメントを実行して、マッピングテーブルが作成されたデータテーブル内のデータを効率的にクエリできます。
前提条件
RAMユーザーとしてデータをクエリする場合、RAMユーザーが作成され、すべてのSQL操作権限がRAMユーザーに付与されます。RAMユーザーにアタッチされたカスタムポリシーで
"Action": "ots:SQL*"
を設定することで、RAMユーザーにすべてのSQL操作権限を付与できます。詳細については、RAMポリシーを使用してRAMユーザーに権限を付与するを参照してください。データテーブルが作成されていること。
使用上の注意
SQLクエリ機能は、中国(杭州)、中国(上海)、中国(北京)、中国(張家口)、中国(ウランチャブ)、中国(深圳)、中国(成都)、中国(香港)、日本(東京)、シンガポール、マレーシア(クアラルンプール)、英国(ロンドン)、米国(シリコンバレー)、インドネシア(ジャカルタ)、ドイツ(フランクフルト)、SAU (リヤド - パートナーリージョン)、および米国(バージニア)の各リージョンでご利用いただけます。
手順1:マッピングテーブルを作成する
Tablestoreコンソールにログインします。
上部のナビゲーションバーで、リソースグループとリージョンを選択します。
概要ページで、管理するインスタンスの名前をクリックするか、インスタンスの操作列にあるインスタンスの管理をクリックします。
SQLステートメントを実行してクエリタブで、マッピングテーブルを作成します。
説明SQLステートメントを直接記述してマッピングテーブルを作成することもできます。詳細については、テーブルのマッピングテーブルを作成するおよび検索インデックスのマッピングテーブルを作成するを参照してください。
アイコンをクリックします。
説明マッピングテーブルが作成されていない場合、SQLステートメントを実行してクエリタブをクリックすると、マッピングテーブルの作成ダイアログボックスが表示されます。
マッピングテーブルの作成ダイアログボックスで、パラメーターを設定します。次の表にパラメーターを示します。
パラメーター
説明
テーブルタイプ
マッピングテーブルを作成するテーブルのタイプ。有効な値:
共通テーブル:データテーブルのマッピングテーブルを作成します。これはデフォルト値です。
時系列テーブル:時系列テーブルのマッピングテーブルを作成します。
テーブル名
マッピングテーブルを作成するテーブルの名前。
マッピングモード
マッピングテーブルを作成するモード。テーブルタイプパラメーターを共通テーブルに設定した場合にのみ、このパラメーターを使用できます。有効な値:
テーブルのマッピングテーブル:既存のデータテーブルのマッピングテーブルを作成します。これはデフォルト値です。
検索インデックスのマッピングテーブル:既存の検索インデックスのマッピングテーブルを作成します。
詳細設定
マッピングテーブルの一貫性モードのオプションと、不正確な集計を有効にするかどうかを指定します。詳細設定 をオンにすると、一貫性モードと不正確な集計のパラメーターを設定できます。詳細設定パラメーターは、マッピングモード パラメーターを テーブルのマッピングテーブル に設定した場合にのみ使用できます。
一貫性モード
実行エンジンでサポートされている一貫性モード。このパラメーターは、詳細設定をオンにした場合にのみ使用できます。有効な値:
結果整合性:クエリ結果は結果整合性モードです。これはデフォルト値です。データがテーブルに書き込まれてから数秒後にデータをクエリできます。
強整合性:クエリ結果は強整合性モードです。データがテーブルに書き込まれた直後にデータをクエリできます。
不正確な集計
集計操作の精度を犠牲にしてクエリのパフォーマンスを向上させるかどうかを指定します。このパラメーターは、詳細設定をオンにした場合にのみ使用できます。有効な値:
はい:集計操作の精度を犠牲にしてクエリのパフォーマンスを向上させます。これはデフォルト値です。
いいえ:集計操作の精度を犠牲にしてクエリのパフォーマンスを向上させません。
検索インデックス名
マッピングテーブルを作成する検索インデックスの名前。マッピングモードパラメーターを検索インデックスのマッピングテーブルに設定した場合にのみ、このパラメーターを使用できます。
マッピングテーブル名
作成するマッピングテーブルの名前。
テーブルタイプパラメーターを共通テーブルに設定し、マッピングモードパラメーターをテーブルのマッピングテーブルに設定した場合、マッピングテーブルの名前はデータテーブルの名前と同じになり、変更できません。テーブルタイプパラメーターを共通テーブルに設定し、マッピングモードパラメーターを検索インデックスのマッピングテーブルに設定した場合は、マッピングテーブルの名前を入力します。
テーブルタイプパラメーターを時系列テーブルに設定した場合は、ビジネス要件に基づいてマッピングテーブルの名前を入力します。時系列テーブルのマッピングテーブルが作成されると、システムは自動的にマッピングテーブル名に
時系列テーブル名::
というプレフィックスを追加します。
SQLステートメントの生成をクリックします。
システムは、マッピングテーブルを作成するためのSQLステートメントを自動的に生成します。SQLステートメントの例:
CREATE TABLE `exampletable` ( `id` BIGINT(20), `colvalue` MEDIUMTEXT, `content` MEDIUMTEXT, PRIMARY KEY(`id`) );
重要マッピングテーブルのフィールドのデータ型が、データテーブルのフィールドのデータ型と一致していることを確認してください。データ型のマッピングの詳細については、SQLでのデータ型のマッピングを参照してください。
ビジネス要件に基づいてマッピングテーブルのスキーマを変更した後、SQLステートメントをドラッグ選択し、SQLステートメントの実行(F8)をクリックします。
実行が成功すると、実行結果は実行結果セクションに表示されます。
重要マッピングテーブルを作成する場合、マッピングテーブルに指定するスキーマには、後続のデータクエリ操作に必要な列が含まれている必要があります。
実行するSQLステートメントをドラッグ選択する必要があります。SQLステートメントをドラッグ選択しない場合、システムは最初のSQLステートメントを実行します。
一度に実行できるSQLステートメントは1つだけです。複数のSQLステートメントを同時に実行すると、システムはエラーを報告します。
手順2:データをクエリする
マッピングテーブルを作成した後、SQLステートメントを実行してクエリタブでSELECTステートメントを実行してデータをクエリできます。詳細については、データのクエリを参照してください。
データエクスポートをクリックしてデータをエクスポートします。最大2,000件のデータエントリをローカルのCSVファイルにエクスポートして保存できます。
データエクスポートボタンを使用して、最大2,000件のデータエントリをエクスポートできます。大量のデータをエクスポートするには、DataXやCLIなどのツールを使用して、Tablestoreのデータをローカルファイルにダウンロードして保存します。詳細については、Tablestoreのデータをローカルファイルにダウンロードするを参照してください。
FAQ
参考資料
CLI、SDK、Java Database Connectivity(JDBC)、またはGo用Tablestoreドライバーを使用して、SQLステートメントに基づいてデータをクエリすることもできます。詳細については、Tablestore SDKを使用してSQLクエリ機能を使用する、SQLクエリ、JDBCを使用する、およびGo用Tablestoreドライバーを使用してSQLステートメントを実行してデータをクエリするを参照してください。
TablestoreインスタンスをDataWorksまたはData Management(DMS)に接続し、SQLステートメントを実行してTablestoreデータをクエリおよび分析することもできます。詳細については、TablestoreインスタンスをDataWorksに接続するおよびTablestoreをDMSに接続するを参照してください。
SQLステートメントを実行することでデータクエリと計算を高速化するには、セカンダリインデックスまたは検索インデックスを作成できます。詳細については、インデックス選択ポリシーおよび計算プッシュダウンを参照してください。
MaxCompute、Spark、Hive、HadoopMR、Function Compute、Flink、PrestoDBなどの計算エンジンを使用して、テーブル内のデータを計算および分析することもできます。詳細については、概要を参照してください。
データを視覚化するには、Grafanaを使用できます。たとえば、Grafanaを使用してTablestoreデータをグラフに表示できます。詳細については、TablestoreをGrafanaに接続するを参照してください。