MaxCompute ストリーミングトンネルを使用すると、ストリーミングモードで MaxCompute にデータを書き込むことができ、MaxCompute トンネルの API およびバックエンドサービスとは異なる API およびバックエンドサービスのセットが提供されます。 MaxCompute ストリーミングトンネルの API は、分散サービスの開発コストを大幅に削減し、高い同時実行性と高いクエリ/秒 (QPS) が関係するシナリオにおける MaxCompute トンネルのパフォーマンスボトルネックを解消します。このトピックでは、MaxCompute ストリーミングトンネルの使用方法について説明します。
説明
MaxCompute ストリーミングトンネルは、2021 年 1 月 1 日にパブリックプレビューで利用可能になりました。パブリックプレビュー中は、このサービスを無料で使用できます。 サービスに関するお知らせ に従って、このサービスの商用化に関する最新情報を入手できます。
MaxCompute ストリーミングトンネルを使用して MaxCompute にデータを書き込むことができるサービスは次のとおりです。
Realtime Compute for Apache Flink: デフォルトでは、MaxCompute トンネルが使用されます。 MaxCompute ストリーミングトンネルを使用するには、Realtime Compute for Apache Flink の組み込みプラグインを使用できます
DataWorks: デフォルトでは、MaxCompute トンネルが使用されます。 MaxCompute ストリーミングトンネルを使用するには、DataWorks の当直エンジニアに連絡して、バックグラウンドでこのチャネルを有効にしてください。
ApsaraMQ for Kafka: デフォルトでは、MaxCompute トンネルが使用されます。 MaxCompute ストリーミングトンネルを使用するには、Kafka の当直エンジニアに連絡して、バックグラウンドでこのチャネルを有効にしてください。
MaxCompute ストリーミングトンネルは、次の機能を提供します。
ストリーミングセマンティック API: 分散データ同期サービスの開発を容易にします。
自動パーティション分割: 複数のデータ同期ジョブが同時に実行されてパーティションを作成する場合、同時パーティションロックを回避します。
増分データの非同期マージ: データストレージ効率を向上させます。
MaxCompute ストリーミングトンネルは、MaxCompute トンネルを使用してストリーミングデータを書き込む際に発生する可能性のあるさまざまな問題を解決できます。 MaxCompute ストリーミングトンネルには、次の利点があります。
データストレージ構造を最適化し、高 QPS のデータ書き込み操作によって発生するファイルの断片化を防ぎます。
増分データを非同期で処理するメカニズムを提供します。このメカニズムは、サービスを中断することなく増分データを処理できます。このメカニズムは、ストレージ効率を向上させるデータマージ機能をサポートしています。
シナリオ
次の表に、MaxCompute ストリーミングトンネルの使用シナリオを示します。
シナリオ | 説明 | 利点 |
多数のイベントログがリアルタイムで MaxCompute に書き込まれます。 | ログデータはバッチ処理のために MaxCompute に直接書き込まれます。 | 中間ストレージサービスは不要です。これにより、コストが削減されます。 |
ストリームコンピューティングの結果がリアルタイムで MaxCompute に書き込まれます。 | 同時実行性と | MaxCompute ストリーミングトンネルは、高同時実行ロックが関係するシナリオにおけるストリーミングサービスの可用性を確保し、 |
DataHub や ApsaraMQ for Kafka などのストリーミングストレージサービスのデータがリアルタイムで MaxCompute に同期されます。 | MaxCompute とのリアルタイム同期のための Simple Message Queue により、同時実行性と | MaxCompute とのリアルタイム同期のための Simple Message Queue の問題が解決されます。大量データの高同時実行およびバッチ同期がサポートされます。 |
制限
MaxCompute ストリーミングトンネルには、次の制限があります。
書き込み操作中のテーブルまたはパーティションのロック: ストリーミングデータの書き込み中、MaxCompute トンネルサービスは書き込み対象のテーブルまたはパーティションをロックします。つまり、ストリーミングデータの書き込み中は、
insert into|insert overwriteなど、データを変更するすべての DML 操作がブロックされます。ストリーミング書き込みが完了すると、MaxCompute はテーブルまたはパーティションのロックを解除し、すべての操作を実行できるようになります。データを書き込むテーブルのスキーマが変更された場合、ストリーミングデータをテーブルに書き込むことはできません。
ホットデータのストレージ量の増加: 非同期処理のためにデータマージまたは ZORDER BY が実行される場合、MaxCompute ストリーミングトンネルは、前の 1 時間以内に書き込まれたデータのコピーを 2 つ保存します。1 つは元のデータで、もう 1 つは非同期でマージされたデータです。これにより、冗長データが保存されます。デフォルトでは、冗長データの保持期間は 1 時間です。