O Simple Log Service oferece quatro soluções de processamento de dados ao longo do ciclo de vida: processing plugins (na coleta), ingest processors (na gravação), transformação de dados (pós-armazenamento) e consumer processors (no consumo). Compare essas soluções para escolha a opção ideal conforme seus requisitos de desempenho, custo e capacidade.
Informações básicas
Cada solução atua em uma etapa diferente do pipeline de dados:
Processing plugin: O coletor de dados do Simple Log Service suporta processing plugins e instruções SPL para processar dados no lado do cliente antes da ingestão.
Ingest processor : Um ingest processor associa-se a um Logstore. Por padrão, o ingest processor processa no servidor todos os dados gravados no Logstore no momento da gravação.
Transformação de dados: Os dados são gravados primeiro em um Logstore de source. Em seguida, regras de transformação os processam e os gravam em um Logstore de destino.
Consumer processor: Um consumer processor processa dados do Logstore em tempo real via SPL durante o consumo. Os consumer processors integram-se a serviços de terceiros, como SDK, Flink e DataWorks.
Comparação de capacidades
Processing plugins, ingest processors, transformação de dados e consumer processors abrangem todo o ciclo de vida dos dados: antes do armazenamento (na coleta), durante o armazenamento (na gravação) e após o armazenamento. Todas as quatro soluções suportam SPL, mas diferem em escopo, uso de recursos e cenários compatíveis.
|
Dimensão |
Processing plugin |
Ingest processor |
Transformação de dados |
Consumer processor |
|
Estágio de processamento |
Antes do armazenamento (na coleta) |
Durante o armazenamento (na gravação) |
Após o armazenamento |
Após o armazenamento |
|
Gravação em vários Logstores |
Incompatível com configuração única de coleta. Use múltiplas configurações de coleta com processing plugins. |
Não suportado |
Suportado |
Não suportado |
|
Suporte a SPL |
Suportado |
Suportado |
Suportado |
Suportado |
|
Instruções SPL suportadas |
Apenas instruções de linha única. Entrada: uma linha; saída: zero ou uma linha. |
Apenas instruções de linha única. Entrada: uma linha; saída: zero ou uma linha. |
Conjunto completo de instruções SPL |
Conjunto completo de instruções SPL |
|
Impedir que dados sensíveis sejam gravados em disco |
Suportado |
Suportado |
Não suportado. Os dados passam pelo Logstore de source. |
Não suportado. Os dados passam pelo Logstore de source. |
|
Uso de recursos |
Consome recursos do lado do cliente |
Dimensionamento automático no servidor, transparente aos usuários |
Dimensionamento automático no servidor, transparente aos usuários |
Dimensionamento automático no servidor, transparente aos usuários |
|
Impacto no desempenho |
O desempenho da coleta varia ligeiramente conforme a quantidade e a complexidade dos plugins. O desempenho de gravação permanece inalterado. |
A latência de gravação aumenta de alguns milissegundos a dezenas de milissegundos, dependendo do tamanho do pacote de dados e da complexidade da instrução SPL. |
O desempenho de gravação do Logstore de source não é afetado. |
O desempenho de gravação do Logstore de source não é afetado. |
|
Cobertura de cenários |
Ampla |
Moderada |
Ampla |
Ampla |
|
Custo |
Sem taxas de processamento de dados do Simple Log Service. Consome recursos do cliente. |
Taxas de processamento de dados se aplicam. Em cenários de filtragem de dados, essas taxas costumam ser inferiores à economia obtida com a redução de tráfego e custos de armazenamento. |
Taxas do Logstore de source mais taxas de processamento de dados. Para reduzir os custos do Logstore de source, defina o período de retenção de dados como um dia e desative a indexação. |
Taxas do Logstore de source mais taxas de processamento de dados. Para reduzir os custos do Logstore de source, defina o período de retenção de dados como um dia e desative a indexação. |
|
Tolerância a falhas |
Configure a retenção dos campos originais em caso de falha no processamento. |
Configure a retenção dos dados originais em caso de falha no processamento. |
Como os dados de source já estão armazenados, é possível reprocessá-los se uma regra de transformação falhar. Crie vários jobs de transformação para processar os dados separadamente. |
Os dados de source já estão armazenados. Grupos de consumidores do Flink, DataWorks e SDK com regras de consumo SPL tentam novamente automaticamente em caso de erro. |
A tabela a seguir compara as quatro soluções em cenários típicos. Use os níveis de recomendação para identificar a melhor opção para cada caso de uso.
|
Cenário |
Processing plugin |
Ingest processor |
Transformação de dados |
Consumer processor |
|
Processamento simples de dados envolvendo operações de linha única sem lógica computacional complexa |
Recomendado |
Recomendado |
Recomendado |
Recomendado |
|
Processamento complexo de dados envolvendo lógica de múltiplas condições, agregação de janela ou enriquecimento de tabela de dimensões |
Adequado |
Adequado |
Recomendado |
Recomendado |
|
Recursos limitados no cliente, como quando o Logtail tem capacidade de computação restrita |
Adequado |
Recomendado |
Recomendado |
Recomendado |
|
Controle limitado no lado do cliente, como falta de permissão para modificar configurações do Logtail ou lógica de gravação do SDK |
Não recomendado |
Recomendado |
Recomendado |
Recomendado |
|
Controle limitado no lado do servidor, como falta de permissão para modificar configurações do Logstore ou de transformação |
Recomendado |
Não recomendado |
Não recomendado |
Não recomendado |
|
Gravações sensíveis à latência que exigem coleta de dados brutos o mais rápido possível |
Adequado |
Adequado |
Recomendado |
Recomendado |
|
Mascaramento de dados quando dados sensíveis podem ser gravados em disco |
Recomendado |
Recomendado |
Recomendado |
Recomendado |
|
Mascaramento de dados quando dados sensíveis não devem ser gravados em disco |
Recomendado |
Recomendado |
Não recomendado |
Não recomendado |
|
Enriquecimento de dados de fontes internas, como adicionar um campo com valor estático ou extraído de um campo existente |
Adequado |
Recomendado |
Recomendado |
Recomendado |
|
Enriquecimento de dados de fontes externas, como consultar uma tabela MySQL para obter dados adicionais com base em um campo de log |
Não recomendado |
Não recomendado |
Recomendado |
Recomendado |
|
Distribuição de dados que roteia informações para diferentes Logstores com base em condições |
Adequado |
Não recomendado |
Recomendado |
Não recomendado |
|
Filtragem de dados para descartar dados brutos e reduzir custos |
Adequado |
Recomendado |
Adequado |
Adequado |