データトンネリングは、MaxCompute におけるデータインポートおよびエクスポートの主要なチャネルです。バッチ操作用の標準 Tunnel とストリーミング書き込み用の Stream Tunnel が含まれます。どちらも、すべてのリージョンで、無料で使用制限のある共有リソースグループと、サブスクリプションベースの専用リソースグループで利用できます。
使用方法
Tunnel コマンド
Tunnel コマンドは、MaxCompute クライアント (odpscmd) を介して実行され、データのアップロードとダウンロードを行います。手動操作やスクリプト化されたワークフローに適しています。現在、odpscmd のみがサポートされており、他のクライアントツールはまだ利用できません。
バッチ操作 (標準 Tunnel):
データのオフラインバッチアップロードとダウンロードを実行します。単一テーブルのデータアップロードとダウンロード、クエリインスタンス結果のダウンロードなど、一度に大量のデータを転送する必要があるシナリオに適しています。
ストリーミング操作 (Stream Tunnel)
マイクロバッチでデータを継続的に書き込みます。ログ収集やリアルタイムデータインジェストなど、持続的なデータ取り込みが必要なシナリオに適しています。

Data Transmission Service の制限事項
バッチデータチャネルの制限事項
バッチデータアップロード
制限事項
制限事項
UploadSession のライフサイクル
24 時間
UploadSession あたりの書き込みブロック数
20,000
ブロックあたりの書き込み速度
10 MB/s
ブロックあたりのデータ量
100 GB
テーブルあたりに作成される UploadSession 数
5 分ごとに 500
テーブルあたりの書き込みブロック数
5 分ごとに 500
テーブルあたりの同時 UploadSession コミット数
32
テーブルあたりのコミット数
15 秒ごとに 75
同時ブロック書き込み数
同時スロット数によって制限されます。1 回のブロック書き込みで 1 スロットを占有します。
同時書き込み
MaxCompute は、ACID 特性 (原子性、一貫性、独立性、永続性) に基づいて同時書き込みを保証します。ACID セマンティクスに関する詳細については、「ACID セマンティクス」をご参照ください。
バッチデータダウンロード
制限事項
制限事項
DownloadSession のライフサイクル
24 時間
InstanceDownloadSession のライフサイクル
24 時間、インスタンスのライフサイクルによって制限されます。
プロジェクトあたりに作成される InstanceDownloadSession 数
5 分ごとに 200
テーブルあたりに作成される DownloadSession 数
5 分ごとに 200
ダウンロードリクエストあたりの速度
10 MB/s
同時 DownloadSession 作成数
同時スロット数によって制限されます。1 回の DownloadSession 作成で 1 スロットを占有します。
同時 InstanceDownloadSession 作成数
同時スロット数によって制限されます。1 回の InstanceDownloadSession 作成で 1 スロットを占有します。
同時ダウンロードリクエスト数
同時スロット数によって制限されます。1 回のデータダウンロードリクエストで 1 スロットを占有します。
バッチデータは Delta テーブルのアップサート機能をサポート
制限事項
制限
UpsertSession のライフサイクル
24 時間
UpsertSession の最大書き込み速度
テーブルまたはパーティションのバケット数 × 10 MB/s。
UpsertSession の最大スロットクォータ使用量
テーブルまたはパーティションのバケット数。
UpsertSession のコミット周波数
Delta テーブルの各パーティションには、1 分間に 1 回しかデータをコミットできません。パーティションのコミット間隔が 1 分未満の場合、システムは次のエラーメッセージを返します:
ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded。
ストリーミングデータチャネルの制限事項
制限事項 | 制限事項 |
スロットあたりの書き込み速度 | 10 MB/s |
テーブルあたりに同時に書き込まれるパーティション数 | 64 |
パーティションあたりの利用可能な最大スロット数 | 32 |
同時フラッシュ数 | 同時スロット数によって制限されます。1 回のフラッシュで 1 スロットを占有します。 |
データアップロードの制限事項
各フィールドのサイズは、その制限を超えることはできません。詳細については、「データ型バージョン」をご参照ください。
STRING 型フィールドのサイズは 8 MB を超えることはできません。
アップロード中、複数のデータレコードがパッケージ化されて転送されます。
Data Transmission Service のネットワーク制限 (専用リソースグループ)
VPC アクセスのみがサポートされています。パブリックネットワークアクセスはサポートされていません。
同一リージョン内のデータ転送のみがサポートされています。リージョン間のデータ転送はサポートされていません。
ネットワークの状態は、Data Transmission Service のアップロードおよびダウンロード速度に大きく影響します。速度は通常 1 MB/s から 20 MB/s の範囲です。アップロード速度が遅すぎる場合は、マルチスレッドアップロード方式の使用を検討してください。
Data Transmission Service の共有リソースグループについて
次の表に、各リージョンにおける無料の共有リソースで、プロジェクトごとに利用可能な最大スロット数を示します。単位はスロットです。
サイト | リージョン | スロット (数) |
中国 | 中国 (杭州) | 300 |
中国 | 中国東部 1 Finance (杭州) | 50 |
中国 | 中国 (上海) | 600 |
中国 | 中国東部 2 Finance (上海) | 50 |
中国 | 中国 (北京) | 300 |
中国 | 中国 (北京) 政務クラウド | 100 |
中国 | 中国 (張家口) | 300 |
中国 | 中国 (ウランチャブ) | 300 |
中国 | 中国 (深セン) | 150 |
中国 | 中国南部 1 Finance (深セン) | 50 |
中国 | 中国 (成都) | 150 |
中国 | 中国 (香港) | 50 |
アジアパシフィック | シンガポール (シンガポール) | 100 |
アジアパシフィック | マレーシア (クアラルンプール) | 50 |
アジアパシフィック | インドネシア (ジャカルタ) | 50 |
アジアパシフィック | 日本 (東京) | 50 |
ヨーロッパおよび米州 | ドイツ (フランクフルト) | 50 |
ヨーロッパ・アメリカ | 米国 (シリコンバレー) | 100 |
ヨーロッパ・アメリカ | 米国 (バージニア) | 50 |
ヨーロッパ・アメリカ | イギリス (ロンドン) | 50 |
中東・インド | UAE (ドバイ) | 50 |
データトンネリングサービスの各操作 (ブロックの書き込み、ダウンロードセッションの作成、フラッシュなど) は、1 つのスロットを占有します。接続が長期間アイドル状態でデータ転送がない場合、サーバーは自動的にその接続を切断し、占有されていたスロットを解放します。したがって、同時スロット数が上限に達した場合でも、手動で介入しなくても、一定期間が経過するとアイドル状態の接続は自動的に回収されます。
Data Transmission Service の有効な状態コード
状態コード | 状態コード名 |
200 | HTTP_OK |
201 | HTTP_CREATED |
400 | HTTP_BAD_REQUEST |
401 | HTTP_UNAUTHORIZED |
403 | HTTP_FORBIDDEN |
404 | HTTP_NOT_FOUND |
405 | HTTP_METHOD_NOT_ALLOWED |
409 | HTTP_CONFLICT |
422 | HTTP_UNPROCESSABLE_ENTITY |
429 | HTTP_TOO_MANY_REQUESTS |
499 | HTTP_CLIENT_CLOSED_REQUEST |
500 | HTTP_INTERNAL_SERVER_ERROR |
502 | HTTP_BAD_GATEWAY |
503 | HTTP_SERVICE_UNAVAILABLE |
504 | HTTP_GATEWAY_TIME_OUT |
失敗したリクエストのリトライポリシー
リクエストが失敗した場合、クライアントはリトライする前に一定期間待機する必要があります。
連続してリクエストが失敗した場合、待機時間は最小値の 1 秒から指数関数的に増加する必要があります。例:1 秒、2 秒、4 秒、8 秒、16 秒、32 秒など。
重複したリクエスト
URL (URI および URI パラメーター) が同一である。
同一のクライアント IP アドレスから連続してリクエストが送信される。
有効なリクエスト
有効な状態コードを返し、リトライポリシーに従っているリクエスト。
無効なリクエスト
有効な状態コードを返すものの、リトライポリシーに従っていないリクエスト。
説明無効なリクエストは、サービスレベルアグリーメント (SLA) の保証対象外です。
攻撃リクエスト
スロットル状態コード 429 および 503 に対してリトライポリシーに従わないリクエスト。
攻撃リクエストに対して、サービスは攻撃を開始したクライアントの IP アドレス、UID、およびプロジェクトを隔離します。隔離されたオブジェクトは、サービスにアクセスできなくなります。
説明攻撃リクエストは、SLA の保証対象外です。
よくある質問
Data Transmission Service の速度が低下する一般的な原因は何ですか?
サービスアーキテクチャの制限により、MaxCompute Tunnel サービスは、以下のシナリオでリクエスト遅延が発生することがあります。例えば、10 MB のデータをアップロードまたはダウンロードするのに必要な時間が、数秒から数分に増加する可能性があります。
共有 Tunnel サービスリソース (CPU またはネットワーク帯域幅) が枯渇している
期間:数分から数時間。
これはサービスアーキテクチャの制限により避けられません。高い安定性が必要な場合は、専用 Tunnel リソースをご購入ください。
クライアントから Tunnel サービスへのネットワークリンクが不安定である (パブリックネットワークでのアップロードまたはダウンロード)
期間:予測できません。
パブリックネットワークの安定性は保証できません。高い安定性が必要な場合は、Alibaba Cloud 内部ネットワークをご利用ください。
クライアントリソース (CPU またはネットワーク帯域幅) が枯渇している
期間:予測できません。
クライアントの物理リソースを評価してください。
クライアントのコードロジックが非効率である (例えば、持続的接続を介したアップロードまたはダウンロード中に、長時間のデータ処理が実行される)
期間:予測できません。
コード設計の際には、データ転送パフォーマンスを考慮してください。