Simple Log Service は、処理プラグイン、Ingest Processor、データ変換、Consumer Processor という 4 つのデータ処理ソリューションを提供しています。このトピックでは、お客様のニーズに最適なソリューションを選択できるよう、これらの機能と利用シーンを比較します。
背景情報
-
処理プラグインの設定:Simple Log Service のデータコレクターは、データ処理のためのさまざまな設定を提供します。処理プラグインと SPL 文 を使用して、クライアントでデータを処理できます。
-
Ingest Processor :Ingest Processor は Logstore に関連付けることができます。デフォルトでは、Logstore に書き込まれたデータは、サーバー側で Ingest Processor によって処理されます。
-
データ変換:データはソース Logstore に書き込まれ、データ変換ルールに基づいて処理されます。処理されたデータは宛先 Logstore に書き込まれます。
-
Consumer Processor:Consumer Processor を設定して、SPL を使用して Logstore のデータに対してリアルタイムのデータ処理を実行できます。Consumer Processor は、SDK、Flink、DataWorks などのサードパーティサービスとの統合をサポートしています。
各手法の比較
処理プラグイン、Ingest Processor、データ変換、Consumer Processor は、ストレージ前 (収集時)、ストレージ中 (書き込み時)、ストレージ後というデータライフサイクル全体をカバーします。これらには類似点があります。たとえば、すべてデータを処理でき、SPL 言語をサポートしています。しかし、これらのデータ処理手法は、特定のユースケースと機能において異なります。
|
比較ディメンション |
処理プラグイン |
Ingest Processor |
データ変換 |
Consumer Processor |
|
データ処理ステージ |
ストレージ前 (データ収集中)。 |
ストレージ中。 |
ストレージ後。 |
ストレージ後。 |
|
複数の Logstore への書き込み |
単一の収集設定ではサポートされていません。複数の収集設定を処理プラグインと組み合わせて使用することで対応可能です。 |
サポートされていません。 |
サポートされています。 |
サポートされていません。 |
|
SPL |
サポートされています。 |
サポートされています。 |
サポートされています。 |
サポートされています。 |
|
サポートされている SPL 命令 |
単一行データを処理する命令をサポートします。入力は 1 行のデータで、出力は 0 または 1 行の結果です。 |
単一行データを処理する命令をサポートします。入力は 1 行のデータで、出力は 0 または 1 行の結果です。 |
完全な SPL 命令をサポートします。 |
完全な SPL 命令をサポートします。 |
|
機密データをディスクに書き込まない |
サポートされています。 |
サポートされています。 |
サポートされていません。データはソース Logstore に書き込まれます。 |
サポートされていません。データはソース Logstore に書き込まれます。 |
|
リソース使用量 |
一部のクライアントリソースを消費します。 |
サーバー側リソースは自動的にスケーリングされます。このプロセスはユーザーに対して透過的です。 |
サーバー側リソースは自動的にスケーリングされます。このプロセスはユーザーに対して透過的です。 |
サーバー側リソースは自動的にスケーリングされます。このプロセスはユーザーに対して透過的です。 |
|
パフォーマンスへの影響 |
収集パフォーマンスは、プラグインの数と設定の複雑さによってわずかに影響を受けます。データ書き込みパフォーマンスは影響を受けません。 |
書き込みパフォーマンスは、データの複雑さと SPL 文によってわずかに影響を受けます。単一リクエストのレイテンシは、リクエストデータパケットのサイズと SPL 文の複雑さに応じて、数ミリ秒から数十ミリ秒増加する可能性があります。 |
ソース Logstore の書き込みパフォーマンスは影響を受けません。 |
ソース Logstore の書き込みパフォーマンスは影響を受けません。 |
|
シナリオカバー率 |
多数。 |
普通 |
多数あります。 |
複数 |
|
コスト |
SLS のデータ処理料金は発生しませんが、一部のクライアントリソースを消費します。 |
データ処理料金が発生します。データフィルタリングのシナリオでは、この料金は通常、データトラフィックとストレージの削減によって節約されるコストよりも低くなります。 |
ソース Logstore の料金とデータ処理料金が発生します。ソース Logstore のコストを削減するために、ソース Logstore のデータ保持期間を 1 日に設定し、インデックス作成を無効にすることができます。 |
ソース Logstore の料金とデータ処理料金が発生します。ソース Logstore のコストを削減するために、ソース Logstore のデータ保持期間を 1 日に設定し、インデックス作成を無効にすることができます。 |
|
フォールトトレランス |
プラグインで、処理が失敗した場合に元のフィールドを保持するかどうかを設定できます。 |
処理が失敗した場合に元のデータを保持するかどうかを設定できます。 |
ソースデータはすでに保存されているため、変換ルールが失敗した場合にデータを再処理することを選択できます。また、複数のデータ変換ジョブを作成して、データを個別に処理することもできます。 |
ソースデータはすでに保存されているため、SPL 消費ルールを統合する Flink、DataWorks、および SDK のコンシューマーグループは、エラー発生時に自動的にリトライします。 |
機能の違いは、一般的なシナリオにおける Ingest Processor、Logtail 処理設定、およびデータ変換のソリューション比較に影響します。
|
利用シーン |
Logtail 処理設定 |
Ingest Processor |
データ変換 |
Consumer Processor |
|
複雑な計算ロジックを伴わない単一行データ処理など、単純なデータ処理。 |
推奨 |
推奨 |
推奨 |
推奨 |
|
複雑な計算ロジックを伴う、または複数の条件、ウィンドウ集計、ディメンションテーブルエンリッチメントを必要とする複雑なデータ処理。 |
一般 |
一般 |
推奨 |
推奨 |
|
Logtail で利用可能な計算リソースが限られている場合など、クライアントリソースが制限されている状況。 |
一般 |
推奨 |
推奨 |
推奨 |
|
収集側の Logtail 設定や SDK の書き込みロジックを変更する権限がないなど、クライアント側の制御が制限されている状況。 |
非推奨 |
推奨 |
推奨 |
推奨 |
|
Logstore やデータ変換の設定を変更する権限がないなど、サーバー側の制御が制限されている状況。 |
推奨 |
非推奨 |
非推奨 |
非推奨 |
|
生データをできるだけ早く収集したい場合など、データ書き込みのレイテンシとパフォーマンスに敏感な状況。 |
一般 |
一般 |
推奨 |
推奨 |
|
データマスキング、および機密データをディスクに書き込むことができる状況。 |
推奨 |
推奨 |
推奨 |
推奨 |
|
データマスキング、および機密データをディスクに書き込むことができない状況。 |
推奨 |
推奨 |
非推奨 |
非推奨 |
|
値が静的であるか、既存のフィールドから抽出された新しいフィールドを追加するなど、外部データソースに依存しないデータエンリッチメント。 |
一般 |
推奨 |
推奨 |
推奨 |
|
ログフィールドに基づいて MySQL テーブルをクエリして他のエンリッチメントデータを取得するなど、外部データソースに依存するデータエンリッチメント。 |
非推奨 |
非推奨 |
推奨 |
推奨 |
|
異なる条件に基づいてデータを異なる Logstore に書き込むデータ配信。 |
一般 |
非推奨 |
推奨 |
非推奨 |
|
コストを節約するために生データが不要なデータフィルタリング。 |
一般 |
推奨 |
一般 |
一般 |