Visão geral

Introdução

A previsão e a detecção de anomalias em bilhões de séries temporais exigem muitos recursos computacionais. A maioria dos sistemas atuais executa previsões e anomalias detecção em lote (por exemplo, pipelines de risco, previsão de tráfego, planejamento de demanda e assim por diante). Isso limita bastante o tipo de análise que você podem realizar on-line, como decidir se deve alertar com base em um aumento repentino ou de redução em um conjunto de dimensões de evento.

Os principais objetivos da API Timeseries Insights são:

  • Escale para bilhões de séries temporais que são criadas dinamicamente a partir de eventos brutos e suas propriedades com base em parâmetros de consulta.
  • Forneça resultados de previsão e detecção de anomalias em tempo real. Ou seja, em alguns segundos, detecte tendências e sazonalidade em todas as séries temporais e decida se alguma fração está aumentando ou diminuindo inesperadamente.

Funcionalidade da API

  • Gerenciar conjuntos de dados
    • Indexe e carregue um conjunto de dados que consiste em várias fontes de dados armazenadas em Cloud Storage. Permitir a adição de novos eventos em streaming.
    • Descarregue um conjunto de dados que não é mais necessário.
    • Solicite o status de processamento de um conjunto de dados.
  • Consultar conjuntos de dados
    • Recupera a série temporal que corresponde aos valores de propriedade fornecidos. A série temporal é prevista até um horizonte de tempo especificado. A série temporal também é avaliada quanto a anomalias.
    • Detectar automaticamente combinações de valores de propriedade para anomalias.
  • Atualizar conjuntos de dados
    • Faça a ingestão de novos eventos ocorridos recentemente e incorpore-os ao índice quase em tempo real (atraso de segundos a minutos).

Recuperação de desastres

A API Timeseries Insights não serve como backup do Cloud Storage nem retorna atualizações de streaming brutas. Os clientes são responsável por armazenar e fazer backup dos dados separadamente.

Após uma interrupção regional, o serviço faz o melhor esforço possível para a recuperação. Os metadados (informações sobre o conjunto de dados e o status operacional) e os dados do usuário transmitidos por streaming atualizados em até 24 horas após o início da interrupção podem não ser recuperados.

Durante a recuperação, as consultas e as atualizações de streaming dos conjuntos de dados podem não disponíveis.

Dados de entrada

É comum que dados numéricos e categóricos sejam coletados ao longo do tempo. Para exemplo, a figura a seguir mostra o uso de CPU, o uso de memória e o status um único job em execução em um data center para cada minuto durante um período. O uso da CPU e da memória são valores numéricos, e o status é um um valor categórico.

Timeseries

Evento

A API Timeseries Insights usa eventos como entrada de dados básica. Cada evento tem um carimbo de data/hora e um conjunto de dimensões, ou seja, pares de chave-valor em que a chave é o nome da dimensão. Essa representação simples nos permite lidar com dados de a escala de trilhões. Por exemplo, data center, usuário, nomes de jobs e são incluídos para representar totalmente um único evento. A figura acima mostra uma série de eventos registrados para um único job que ilustra um subconjunto de dimensões.

{"name":"user","stringVal":"user_64194"},
{"name":"job","stringVal":"job_45835"},
{"name":"data_center","stringVal":"data_center_30389"},
{"name":"task_num","longVal":19},
{"name":"cpu","doubleVal":3840787.5207877564},
{"name":"ram","doubleVal":1067.01},
{"name":"state","stringVal":"idle"}

DataSet

Um DataSet é uma coleção de eventos. As consultas são realizadas no mesmo conjunto de dados. Cada projeto pode ter vários conjuntos de dados.

Um conjunto de dados é criado a partir de dados em lote e de streaming. A criação de dados em lote lê de vários URIs do Cloud Storage como fontes de dados. Após a conclusão da criação em lote, o conjunto de dados pode ser atualizado com dados de streaming. Usando o build em lote para dados históricos, o sistema pode evitar problemas de inicialização a frio.

Um conjunto de dados precisa ser criado ou indexado antes de ser consultado ou atualizado. A indexação começa quando o conjunto de dados é criado e normalmente leva minutos para horas para concluir, dependendo da quantidade de dados. Mais especificamente, o as fontes de dados são verificadas uma vez durante a indexação inicial. Se o conteúdo do os URIs do Cloud Storage mudarem após a conclusão da indexação inicial, eles não serão verificado novamente. Use atualizações de streaming para mais dados. Atualizações de streaming são indexados continuamente quase em tempo real.

Detecção de séries temporais e anomalias

Frações

Para a API Timeseries Insights, um fração é uma coleção de eventos com uma determinada combinação de valores de dimensão. Nosso interesse é uma medida de eventos que se encaixam nessas fatias ao longo do tempo.

Para uma determinada fatia, os eventos são agregados em valores numéricos por resolução especificada pelo usuário de intervalos de tempo, que são as séries temporais para detectar anomalias. A figura anterior ilustra diferentes escolhas de fatias resultantes de diferentes combinações das dimensões "user", "job" e "data_center".

Série temporal e anomalia

Uma anomalia acontece em uma determinada fatia se o valor numérico do intervalo de tempo de interesse for significativamente diferente dos valores anteriores. A figura acima ilustra uma série temporal com base nas temperaturas medidas em todo o mundo por mais de 10 anos. Suponha que estejamos interessados em saber se o último mês de 2015 é uma anomalia. Uma consulta ao sistema especifica o horário de interesse, detectionTime, para ser "01/12/2015" e granularity como "1 mês". O série temporal recuperadas antes de detectionTime ser particionado em uma de treinamento seguido por um período de restrição. O sistema usa dados o período de treinamento para treinar um modelo e usa o período de espera para verificar se o modelo poderá prever os próximos valores com segurança. Neste exemplo, o período de espera é de um ano. A imagem mostra os dados reais e os valores previstos do modelo com limites superior e inferior. A temperatura para 12/2015 está marcada porque o valor real está fora dos limites previstos.

A seguir