Simple Log Service は、摂取プロセッサ、Logtail プラグイン構成、およびデータ変換という 3 つのデータ処理方法を提供します。このトピックでは、上記のデータ処理方法の特徴と適用シナリオを比較分析し、ビジネス要件に基づいて適切な方法を選択できるようにします。
背景情報
Logtail プラグイン構成: Logtail は、データ処理のためのさまざまな構成を提供します。 Logtail プラグインと Simple Log Service 処理言語 (SPL) を使用して、クライアント上でデータを処理できます。詳細については、「データ処理のための Logtail プラグインの概要」および「Logtail SPL を使用してログを解析する」をご参照ください。
摂取プロセッサ: 摂取プロセッサは Logstore に関連付けることができます。デフォルトでは、Logstore に書き込まれたデータは、サーバー上の摂取プロセッサによって処理されます。
データ変換: データはソース Logstore に書き込まれ、データ変換ルールに基づいて処理されます。処理されたデータは、宛先 Logstore に書き込まれます。
比較
摂取プロセッサ、Logtail プラグイン構成、およびデータ変換は、データのライフサイクル全体を通してデータを処理するための 3 つの主要な方法です。これらの方法は、データ収集中、保存前、保存中、保存後など、さまざまな段階で使用されます。これらの方法は特定の方法でデータを処理し、SPL 言語をサポートしています。これらの方法はそれぞれ異なる特徴を持ち、異なるシナリオに適しています。
比較項目 | Logtail プラグイン構成 | 摂取プロセッサ | データ変換 |
データ処理における段階 | 保存前 (データ収集中)。 | 保存中。 | 保存後。 |
複数の Logstore への書き込み | 単一の Logtail 構成はサポートされていません。複数の Logtail 構成を Logtail プラグインと組み合わせて使用できます。 | サポートされていません。 | サポートされています。 |
SPL | サポートされています。 | サポートされています。 | サポートされています。 |
サポートされている SPL 命令 | 1 行の入力を一度に処理し、出力を返さないか、1 行の出力を返す SPL 命令がサポートされています。 | 1 行の入力を一度に処理し、出力を返さないか、1 行の出力を返す SPL 命令がサポートされています。 | 完全な SPL 命令がサポートされています。 |
機密データがディスクに書き込まれない | サポートされています。 | サポートされています。 | サポートされていません。データはソース Logstore に書き込まれます。 |
リソース使用量 | 特定のクライアントリソースが消費されます。 | リソースは自動的にスケーリングされます。このプロセスはユーザーには透過的です。 | リソースは自動的にスケーリングされます。このプロセスはユーザーには透過的です。 |
パフォーマンス | 収集パフォーマンスは、プラグインの数と構成の複雑さに基づいてわずかに影響を受けます。書き込みパフォーマンスは影響を受けません。 | 書き込みパフォーマンスは、データと SPL 文の複雑さに基づいてわずかに影響を受けます。単一のリクエストのレイテンシは、リクエストされたデータパケットのサイズと SPL 文の複雑さに基づいて、数ミリ秒から数十ミリ秒増加する可能性があります。 | ソース Logstore の書き込みパフォーマンスは影響を受けません。 |
シナリオ カバレッジ | 中程度。 | 標準。 | 高。 |
コスト | データ処理料金は発生しませんが、一定量のクライアントリソースが消費されます。 | データ処理料金が発生します。ほとんどの場合、データフィルタリングのシナリオにおけるデータ処理に関連するコストは、転送および保存する必要のあるデータ量の削減によるコスト削減よりも低くなります。 | ソース Logstore の料金とデータ処理料金が発生します。ソース Logstore のデータの保存期間を 1 日に設定し、インデックス作成を無効にすることで、ソース Logstore のコストを削減できます。 |
フォールトトレランス | データの処理に失敗した場合に元のフィールドを保持するかどうかを指定できます。 | データの処理に失敗した場合に元のデータを保持するかどうかを指定できます。 | ソースデータは保存されます。指定されたデータ変換ルールに基づいてデータの変換に失敗した場合にデータを再処理するかどうかを指定できます。また、複数のデータ変換ジョブを作成して、データを個別に処理することもできます。 |
次の表は、一般的なシナリオにおける摂取プロセッサ、Logtail プラグイン構成、およびデータ変換の比較を示しています。
シナリオ | Logtail プラグイン構成 | 摂取プロセッサ | データ変換 |
複雑な計算ロジックを含まない、単一行データ処理などの単純なデータ処理タスク。 | 推奨 | 推奨 | 推奨 |
複雑な計算ロジックを含む、または複数の条件、ウィンドウ集計、ディメンションテーブルのエンリッチメントを必要とする複雑なデータ処理タスク。 | やや推奨 | やや推奨 | 推奨 |
クライアントリソースが限られています。たとえば、Logtail が使用できる計算リソースは限られています。 | やや推奨 | 推奨 | 推奨 |
クライアントの権限が限られています。たとえば、データが収集されるクライアントで Logtail 構成または SDK 書き込みロジックを変更する権限がありません。 | 非推奨 | 推奨 | 推奨 |
サーバーの権限が限られています。たとえば、Logstore またはデータ変換構成を変更する権限がありません。 | 推奨 | 非推奨 | 非推奨 |
データ書き込みレイテンシとパフォーマンスに敏感です。たとえば、生データをできるだけ早く収集したいと考えています。 | やや推奨 | やや推奨 | 推奨 |
データマスキングと機密データがディスクに書き込まれます。 | 推奨 | 推奨 | 推奨 |
データマスキングと機密データがディスクに書き込まれません。 | 推奨 | 推奨 | 非推奨 |
外部データソースに依存しないデータエンリッチメント。たとえば、新しいフィールドを追加する場合、フィールドの値は固定されているか、既存のフィールドから抽出されます。 | やや推奨 | 推奨 | 推奨 |
外部データソースに依存するデータエンリッチメント。たとえば、ログフィールドに基づいて MySQL テーブルの追加のエンリッチメントデータをクエリできます。 | 非推奨 | 非推奨 | 推奨 |
データ配信。さまざまな条件に基づいて、さまざまな Logstore にデータを書き込むことができます。 | やや推奨 | 非推奨 | 推奨 |
データフィルタリング。データをフィルタリングする必要があり、ある程度コストを節約するために生データを保存する必要はありません。 | やや推奨 | 推奨 | やや推奨 |