Modelo de Série Temporal no Azure Time Series Insights Gen2

Observação

O serviço TSI (Time Series Insights) não terá mais suporte após março de 2025. Considere migrar os ambientes existentes do TSI para soluções alternativas assim que possível. Para obter mais informações sobre a substituição e a migração, visite nossa documentação.

Este artigo descreve o Modelo de Série Temporal, os recursos e como começar a criar e atualizar seus próprios modelos no ambiente do Azure Time Series Insights Gen2.

Dica

Resumo

Tradicionalmente, os dados que são coletados de dispositivos IoT não têm informações contextuais, o que dificulta encontrar e analisar sensores rapidamente. O principal objetivo do Modelo de Série Temporal é simplificar a localização e a análise de dados de IoT ou de Série Temporal. Esse objetivo é atingido ao permitir a curadoria, a manutenção e o enriquecimento dos dados de série temporal para ajudar a preparar os conjuntos de dados, deixando-os prontos para o consumidor analisar.

Cenário: novo forno inteligente da Contoso

Considere o cenário fictício de um forno inteligente da Contoso. Neste cenário, suponha que cada forno inteligente da Contoso tenha cinco sensores de temperatura, um para cada um dos quatro queimadores principais e outro para o forno. Até recentemente, cada sensor de temperatura da Contoso enviou, armazenou e visualizou seus dados individualmente. Para o monitoramento do seu dispositivo de cozinha, a Contoso dependia de gráficos básicos, um para cada sensor individual.

Embora a Contoso esteja satisfeita com sua solução inicial de dados e visualização, várias limitações se tornaram aparentes:

  • Os clientes queriam saber o quão quente o forno em geral ficaria quando a maioria dos queimadores superiores estivesse ligada. A Contoso teve mais dificuldade em analisar e apresentar uma resposta unificada sobre as condições gerais do forno.
  • Os engenheiros da Contoso queriam verificar se os principais queimadores que estão sendo usados simultaneamente não resultarão em um consumo ineficiente de energia. Houve dificuldade em fazer referência cruzada de quais sensores de temperatura e voltagem estavam associados entre si e como localizá-los na loja.
  • A equipe de garantia de qualidade da Contoso queria auditar e comparar o histórico entre duas versões de sensor. Houve dificuldade em determinar quais dados pertenciam a qual versão do sensor.

Sem a capacidade de estruturar, organizar e definir o modelo de série temporal abrangente do forno inteligente, cada sensor de temperatura manteve os pontos de dados desalocados, isolados e menos informativos. Transformar esses pontos de dados em insights acionáveis foi mais difícil, pois o ciclo de vida de cada conjunto de dados era independe dos outros.

Essas limitações revelaram a importância das ferramentas inteligentes de agregação e visualização de dados para acompanhar o novo forno da Contoso:

  • A visualização de dados é útil quando você consegue associar e combinar dados em uma exibição conveniente. Um exemplo é mostrar sensores de tensão junto com sensores de temperatura.
  • O gerenciamento de dados multidimensionais para várias entidades juntamente com a comparação, a ampliação e as funcionalidades de intervalo de tempo podem ser difíceis de realizar.

O Modelo de Série Temporal fornece uma solução prática para muitos dos cenários encontrados neste exemplo fictício:

Exemplo de gráfico do forno inteligente de Modelo de Série Temporal

  • O Modelo de Série Temporal exerce um papel vital em consultas e navegações porque ele contextualiza dados, permitindo que as comparações sejam desenhadas entre intervalos de tempo e entre os tipos de sensor e de dispositivo. (A)
  • Os dados são mais contextualizados porque os dados gravados no Modelo de Série Temporal preservam as computações de consulta de série temporal como variáveis e as reutilizam no momento da consulta.
  • O Modelo de Série Temporal organiza e agrega os dados para os recursos aprimorados de gerenciamento e visualização. (B)

Principais recursos

Com o objetivo de simplificar e facilitar o gerenciamento da contextualização da série temporal, o Modelo de Série Temporal habilita os seguintes recursos no Azure Time Series Insights Gen2. Ele ajuda a:

  • Criar e gerenciar cálculos ou fórmulas, aproveitando funções escalares, operações de agregação e assim por diante.
  • Definir relações pai-filho para habilitar a navegação, pesquisa e referência.
  • Definir as propriedades que estão associadas com as instâncias, definidas como campos de instância, e usá-las para criar hierarquias.

Componentes

O Modelo de Série Temporal tem três componentes principais:

Esses componentes são combinados para especificar um modelo de série temporal e para organizar os dados.

Gráfico da visão geral do Modelo de Série Temporal

O modelo de série temporal pode ser criado e gerenciado por meio do Gerenciador do Time Series Insights. As configurações do Modelo de Série Temporal podem ser gerenciadas por meio da API de Configurações do Modelo.

Instâncias do modelo do Time Series

As instâncias do Modelo de Série Temporal são representações virtuais da série temporal.

Na maioria dos casos, as instâncias são identificadas exclusivamente pela deviceId ou pela assetId, que são salvas como IDs de série temporal.

As instâncias têm informações descritivas associadas a elas, chamadas Propriedades de instância, como por exemplo a ID, tipo, nome, descrição, hierarquias e campos de instância da série temporal. As propriedades de instância incluem, no mínimo, informações de hierarquia.

Os campos de instância são uma coleção de informações descritivas que podem incluir valores para níveis de hierarquia, bem como o fabricante, o operador e assim por diante.

Depois que uma fonte de evento é configurada para o ambiente do Azure Time Series Insights Gen2, as instâncias são descobertas e criadas automaticamente em um modelo de série temporal. As instâncias podem ser criadas ou atualizadas por meio do Gerenciador do Time Series Insights usando as consultas de Modelo de Série Temporal.

A demonstração do Farm Wind da Contoso fornece vários exemplos de instância ao vivo.

Exemplo de instância do Modelo de Série temporal

Propriedades da instância

As instâncias são definidas por timeSeriesId, typeId, name, description, hierarchyIds e instanceFields. Cada instância é mapeada para apenas um tipo e para uma ou mais hierarquias.

Propriedade Descrição
timeSeriesId ID exclusiva da série temporal à qual a instância está associada. Na maioria dos casos, as instâncias são identificadas exclusivamente por uma propriedade como deviceId ou assetId. Em alguns casos pode ser usada uma ID composta mais específica, combinando até 3 propriedades.
typeId ID exclusiva de cadeia de caracteres que diferencia maiúsculas de minúsculas do tipo de Modelo de Série Temporal à qual a instância está associada. Por padrão, todas as novas instâncias descobertas são associadas a um tipo padrão.
name A propriedade name é opcional e diferencia maiúsculas de minúsculas. Se o nome não estiver disponível, o padrão será timeSeriesId. Se um nome for fornecido, o iimeSeriesId ainda estará disponível no repositório.
descrição Descrição da instância.
hierarchyIds Define a quais hierarquias a instância pertence.
instanceFields Propriedades de uma instância e todos os dados estáticos que definem uma instância. Elas definem os valores das propriedades hierárquicas e não hierárquicas e também dão suporte à indexação para executar operações de pesquisa.

Observação

As hierarquias são criadas usando campos de instância. InstanceFields adicionais podem ser incluídos para outras definições de propriedade de instância.

As instâncias têm a seguinte representação JSON:

{
  "timeSeriesId": ["PU2"],
  "typeId": "545314a5-7166-4b90-abb9-fd93966fa39b",
  "hierarchyIds": ["95f0a8d1-a3ef-4549-b4b3-f138856b3a12"],
  "description": "Pump #2",
  "instanceFields": {
    "Location": "Redmond",
    "Fleet": "Fleet 5",
    "Unit": "Pump Unit 3",
    "Manufacturer": "Contoso",
    "ScalePres": "0.54",
    "scaleTemp": "0.54"
  }
}

Dica

Por exemplo, para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD) de API de instância, leia o artigo Consulta de dados e a Documentação da REST API de instância.

Hierarquias do modelo do Time Series

As hierarquias do Modelo de Série Temporal organizam as instâncias especificando os nomes de propriedade e suas relações.

Você pode configurar várias hierarquias em um determinado ambiente do Azure Time Series Insights Gen2. Uma instância do Modelo de Série Temporal pode ser mapeada para uma única hierarquia ou para várias (relação muitas-para-muitas).

A demonstração do Farm Wind da Contoso mostra uma instância e uma hierarquia de tipos padrões.

Exemplo de hierarquia de Modelo de Série Temporal

Definição de hierarquia

As hierarquias são definidas por id, name e source da hierarquia.

Propriedade Descrição
id Identificador exclusivo da hierarquia, que é usada, por exemplo, quando você define uma instância.
name Cadeia de caracteres usada para fornecer um nome para a hierarquia.
source Especifica a hierarquia ou o caminho organizacional, que é a ordem de pai-filho, de cima para baixo, que os usuários desejam criar. As propriedades de pai-filho mapeiamcampos de instância.

As hierarquias são representadas em JSON como:

{
  "hierarchies": [
    {
      "id": "6e292e54-9a26-4be1-9034-607d71492707",
      "name": "Location",
      "source": {
        "instanceFieldNames": [
          "state",
          "city"
        ]
      }
    },
    {
      "id": "a28fd14c-6b98-4ab5-9301-3840f142d30e",
      "name": "ManufactureDate",
      "source": {
        "instanceFieldNames": [
          "year",
          "month"
        ]
      }
    }
  ]
}

No exemplo JSON anterior:

  • Location define uma hierarquia com um pai states e filho cities. Cada location pode ter vários states, que por sua vez podem ter vários cities.
  • ManufactureDate define uma hierarquia com um pai year e filho month. Cada ManufactureDate pode ter vários years, que por sua vez podem ter vários months.

Dica

Para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD) de API de hierarquia, leia o artigo Consulta de dados e a Documentação da REST API de hierarquia.

Exemplo de hierarquia

Considere um exemplo em que a hierarquia H1 tem , floor e room como parte de sua definição de floor:

{
  "id": "aaaaaa-bbbbb-ccccc-ddddd-111111",
  "name": "H1",
  "source": {
    "instanceFieldNames": [
      "building",
      "floor",
      "room"
    ]
  }
}

Considerando os campos de instância usados na definição anterior e em várias séries temporais, os valores e atributos de hierarquia aparecem conforme mostrado na tabela a seguir:

ID da série temporal Campos de instância
ID1 "building" = "1000", "floor" = "10", "room" = "55"
ID2 "building" = "1000", "room" = "55"
ID3 "floor" = "10"
ID4 "building" = "1000", "floor" = "10"
ID5 Nenhum "building", "floor", ou "room" foram definidos.

A série temporal ID1 e ID4 são exibidos como parte da hierarquia H1 no Gerenciador do Azure Time Series Insights porque eles possuem os parâmetros building, floore room totalmente definidos e corretamente ordenados.

Os outros são classificados em Instâncias sem pai porque não estão em conformidade com a hierarquia de dados especificada.

Tipos do modelo do Time Series

Os tipos do modelo do Time Series ajudam a definir variáveis ou fórmulas para fazer cálculos. Os tipos são associados a uma instância específica.

Um tipo pode ter uma ou mais variáveis. Por exemplo, uma instância do Modelo de Série Temporal pode ser do tipo Sensor de Temperatura, que consiste nas variáveis temperatura média, temperatura mín e temperatura máx.

A demonstração do Farm Wind da Contoso visualiza vários tipos de Modelo de Série Temporal associados às suas respectivas instâncias.

Exemplo de tipo de Modelo de Série Temporal

Dica

Para saber sobre o suporte para criação, leitura, atualização e exclusão (CRUD), leia o artigo Consulta de dados e a Documentação da REST API de tipo.

Propriedades de tipo

Os tipos de Modelo de Série Temporal são definidos por id, nome, descriçãoe variáveis.

Propriedade Descrição
id ID exclusiva de cadeia de caracteres que diferencia maiúsculas de minúsculas para o tipo.
name Cadeia de caracteres usada para fornecer um nome para o tipo.
descrição Descrição em cadeia de caracteres para o tipo.
variáveis Especifica as variáveis associadas ao tipo.

Os tipos estão em conformidade com o seguinte exemplo de JSON:

{
  "types": [
    {
      "id": "1be09af9-f089-4d6b-9f0b-48018b5f7393",
      "name": "DefaultType",
      "description": "Default type",
      "variables": {
        "EventCount": {
          "kind": "aggregate",
          "value": null,
          "filter": null,
          "aggregation": {
            "tsx": "count()"
          }
        },
        "Interpolated Speed": {
          "kind": "numeric",
          "value": {
              "tsx": "$event['Speed-Sensor'].Double"
          },
          "filter": null,
          "interpolation": {
              "kind": "step",
              "boundary": {
                  "span": "P1D"
              }
          },
          "aggregation": {
              "tsx": "right($value)"
          }
        }
      }
    }
  ]
}

Os tipos de Modelo de Série Temporal podem ter muitas variáveis que especificam fórmulas e regras de computação em eventos. Leia mais sobre como definir variáveis de Modelo de Série Temporal

Próximas etapas