tencent cloud

TDSQL-C for MySQL

動向とお知らせ
製品アップデート
製品お知らせ
初心者ガイド
製品概要
プロダクト概要
製品の強み
適用シーン
製品アーキテクチャ
製品仕様
インスタンスタイプ
製品機能一覧
データベースのバージョン
リージョンとアベイラビリティゾーン
基本概念
利用制限
利用ガイドの推奨事項
自社開発カーネル
カーネル概要
カーネルバージョンのアップデート情報
カーネル最適化バージョン
機能特性
パフォーマンス関連機能
セキュリティカテゴリの機能
安定性機能
分析エンジン特性
カーネル問題のチェックと修復
購入ガイド
課金概要
製品価格
クラスタを作成する
構成変更説明
未払いについての説明
継続支払いの説明
返金ポリシー
従量課金から年/月単位サブスクリプションへの変換
従量課金からServerlessへの変換
付加価値サービスの課金説明
料金請求書の確認
クイックスタート
データベース監査
概要
監査インスタンス一覧
監査サービスを有効化する
監査ログの確認
ログ配信
事後アラーム設定
監査ルールの変更
監査サービスを変更する
監査サービスを停止する
監査ルールテンプレート
監査タスクの照会
サブユーザーへのデータベース監査利用権限付与
Serverlessサービス
Serverless入門
サーバーレス版クラスタの作成と管理
伸縮性スケーリング管理ツール
Serverlessリソースパック
マルチAZデプロイ
設定を変更する
よくあるご質問
Serverlessコスト見積ツール
操作ガイド
操作概要
コンソールでのクラスタページビューの切り替え
データベース接続
インスタンス管理
設定を変更する
インスタンス形態管理
クラスタ管理
読み取り専用インスタンス管理 
データベースプロキシ
アカウント管理
DMC
DMC(データベース管理ツール)
パラメータ設定
マルチAZデプロイ
グローバルデータベース
バックアップとリストア
操作ログ
データマイグレーション
パラレルクエリ
列ストレージインデックス CSI
分析エンジン
データベースセキュリティと暗号化
モニタリングとアラーム
SQLの基本操作
以下のコマンドを実行して、TDSQL-C for MySQLに接続してログインします
Tag
実践チュートリアル
TDSQL-C for MySQL データベース監査の等級保護実践
非InnoDBテーブル問題のワンクリック移行検出処理方法
DTSによるデータベースバージョンのアップグレード MySQL 5.7から8.0へ
TDSQL-C for MySQL 使用規範
新版コンソール
データベースプロキシの複数接続アドレスによる複数ROグループの実現
データベースプロキシのメリット
ストレージの課金モードの選び方
DTSによるリモートディザスタリカバリの構築
クラスタ用VPCの作成
データ復旧の方法
CPU使用率の高騰問題の解決方法
サブユーザーへの監視データ閲覧権限付与方法
ホワイトペーパー
セキュリティホワイトペーパー
性能ホワイトペーパー
トラブルシューティング
接続関連
性能関連
よくあるご質問
基本概念
購入と課金
サポートされるフォーマット
接続とネットワーク
機能特性
コンソールの操作
データベーステーブル
パフォーマンスとログ
データベース監査
TDSQL-C for MySQLとTencentDB for MySQLの違い
関連契約
SLA
利用規約
TDSQL-C ポリシー
プライバシーポリシー
データ処理と安全プロトコル
汎用参考
標準と認証
用語一覧
お問い合わせ
ドキュメントTDSQL-C for MySQL自社開発カーネル機能特性COS外部テーブル(データベースによるCOSデータへの直接アクセス)

COS外部テーブル(データベースによるCOSデータへの直接アクセス)

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:14:39

機能説明

データ処理とストレージの分野では、コールドデータの管理は常に課題となっています。この問題を解決するために、TXSQL はTencent Cloud COS 外部テーブル機能を導入しました。以下、略称として COS 外部テーブルと呼びます。これは、ユーザーが直接データベース内で、COS 上に保存された CSV 形式のデータをクエリおよび分析することを可能にします。この革新的な機能を通じて、ユーザーは効果的にアクセス頻度の低いコールドデータを COS 上に保存し、同時にデータベースのクエリ能力を活用してデータ管理と分析を行い、それによりストレージコストを最適化し、データ処理効率を向上させることができます。


サポートバージョン

カーネルバージョン TXSQL 8.0 3.1.15.002以上です。

適用シーン

COS外部テーブルは、複数のシナリオに適用され、以下を含みますがこれに限定されません:
ビッグデータストレージ:大量のアクセス頻度の低いデータ(ログファイル、履歴記録など)を保存する必要があるシナリオに適用されます。
データウェアハウス:データウェアハウスの構築や、履歴データに対するクエリおよび分析を行うシナリオに適用されます。
コスト最適化:コールドデータをCOSに移行することで、ストレージコストを削減しつつ、データのアクセシビリティを維持できます。
データ分析:COS上に保存されたCSVデータに対して複雑なクエリや分析が必要なシナリオに適用されます。

利用制限

CSV形式のデータのみサポートしています。
COS外部テーブルに対してCREATE、SELECT、DROP操作のみサポートしています。
インデックス、パーティション、トランザクションはサポートしていません。
地理空間データタイプはサポートしていません。
ALTER TABLEなどの操作はサポートしていません。

使用説明

COSサーバーを作成する

以下のコマンドでCOSサーバーを作成します。
CREATE COS_SERVER <server_name> OPTIONS(
"<my_appid>" "<my_secretId>" "<my_secretKey>" "<my_bucket>" "<region>"
);
<server_name>:COSサーバー(COS SERVER)の名称で、グローバルに一意です。
<my_appid>:開発者がCOSサーバーにアクセスする際に保有する、ユーザー次元で一意のリソース識別子であり、リソースを識別するために使用されます。
<my_secretId>:開発者が保有するプロジェクトのID識別子であり、認証に用いられます。
<my_secretKey>:開発者が保有するプロジェクトの認証キー。
<my_bucket>:バケット。COSでデータを保存するためのコンテナです。バケットの詳細については、バケット概要をご参照ください。
<region>:バケットのリージョン。バケットがサポートするリージョンについては、リージョンとアクセスドメインをご参照ください。例:ap-beijing、ap-hongkong、eu-frankfurtなど。
説明:
SERVER_INFOのパラメータに関する詳細な説明については、COS関連用語の紹介を参照してください。また、SERVER_INFOの内容はCOS関連用語の内容を参照して補充します。
注意:
ここで CREATE COS_SERVER は機密情報である my_secretKey を含んでいるため、このフィールドはデータベースでマスクされています。
DROP COS_SERVER および SHOW COS_SERVER の操作は現在サポートされていません。COS_SERVERを削除する場合は、tencentrootユーザーでログインし、mysql.cos_server_metaのレコードに対してDELETE/SELECT操作を実行できます。

操作例

1. COSサーバーを作成する。
CREATE COS SERVER cos_s1 options (
"1605222305" "******************" "******************" "dcthxd-cos-test-1308666666" "ap-shanghai" );
2. 通常のテーブルをCOSストレージにエクスポートします。
SELECT * FROM table_name INTO COSOUTFILE "outfile" COS_SERVER "server_name";
COSサーバーでは、対応するoutfileファイルを確認できます。outfileの内容と形式は、以下のステートメントと同等です:
SELECT * FROM table_name INTO OUTFILE "outfile"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '\\\\'
LINES TERMINATED BY '\\n' STARTING BY '';
説明:
FIELDS TERMINATED BY:各フィールド間のセパレータを表します。
OPTIONALLY ENCLOSED BY:フィールドの両端に付ける区切り文字を指定します。OPTIONALLYを付けると文字列型フィールドのみに適用され、そうでない場合は全フィールドに区切り文字が付加されます。
ESCAPED BY:エスケープ文字。ここでは単一文字のみ指定可能です。例えば、ESCAPED BY '' と指定した場合、NULLは \\N として出力され、'' は '\\' にエスケープされます。
LINES TERMINATED BY:行区切り文字。
STARTING BY:各行の先頭に埋め込む文字。ここでは空です。
注意:
COSストレージのデータにCOS外部テーブルでアクセスする必要がある場合、ファイル形式は「database.table.CSV」という命名規則に従い、かつmy_bucketのルートディレクトリに配置されなければなりません。
3. COS外部テーブルを作成する
CREATE TABLE `t1` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`time` timestamp NULL DEFAULT NULL
) ENGINE=CSV COS_SERVER='server_name';
説明:
新規スイッチ thread_pool_avoid_thread_starvation を追加しました。デフォルトはオンで、スレッドプールの飢餓状態防止機能が有効になります。また、パラメータ thread_pool_allow_more_wait_threads を追加し、待機スレッドの総数を設定できます。
server_name は COS SERVER 作成時の名称であり、自動的に COS SERVER 内の database.table.CSV ファイルと紐付けられます。例えば上記の t1 テーブルの場合、database は test であるため、この COS 外部テーブルは自動的に COS SERVER 上の test.t1.CSV ファイルと関連付けられ、当該ファイルのデータに直接アクセスします。
4. データクエリ
COS外部テーブル機能のデータクエリ構文は、通常のMySQL使用と同様です。
t1テーブル内のデータ数をクエリ実行する
SELECT count(*) FROM t1;
範囲クエリ
SELECT id FROM t1 WHERE id < 10 AND id > 1;
ポイントクエリ
SELECT id FROM t1 where id = 5;
複数テーブル join
SELECT id FROM t1 left join t2 on t1.id = t2.id WHERE t2.name like "%er%";

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック