Consultas comuns

Ao conectar-se ao banco de dados, será possível recuperar dados via consultas SQL. Esta seção fornece consultas SQL de exemplo para ajudá-lo a começar a trabalhar com o Private Telematics Lakehouse. Estes exemplos demonstram como acessar e analisar dados da camada Bronze, que contém dados brutos de negócios e telemática com transformação mínima.

triangle-exclamation

Consultas básicas

Recuperar informações básicas do objeto

Esta consulta retorna informações sobre objetos (veículos/ativos) em seu sistema:

SELECT
    o.object_id,
    o.object_label,
    o.model,
    d.device_imei,
    g.group_label
FROM
    raw_business_data.objects o
    LEFT JOIN raw_business_data.devices d ON o.device_id = d.device_id
    LEFT JOIN raw_business_data.groups g ON o.group_id = g.group_id
WHERE
    o.is_deleted = false
ORDER BY
    o.object_label;

Obter localizações mais recentes dos dispositivos

Recupere os dados de localização mais recentes para todos os seus dispositivos:

circle-info

Os valores de coordenadas são armazenados como inteiros escalados por 10^7 para melhorar a eficiência de armazenamento no TimescaleDB. Ao consultar, divida por 10000000 para converter de volta ao formato decimal padrão.

Unindo dados de negócios e telemáticos

Relatório de atividade do veículo

Esta consulta gera um resumo diário de atividade ao unir dados de negócios e telemáticos:

Atribuições de motorista e histórico de localização

Acompanhe quais colaboradores foram atribuídos a quais veículos e seu histórico de localização:

Analisando dados de sensores

Monitoramento do nível de combustível

Esta consulta mostra como analisar dados do sensor de combustível:

Análise geoespacial

Veículos em geozonas

Identifique quais veículos entraram em geozonas específicas:

circle-info

Esta consulta usa funções espaciais do PostGIS. Se encontrar erros, verifique se a extensão PostGIS está habilitada em seu banco de dados.

Dicas de otimização de desempenho

Ao trabalhar com o Cloud Data Warehouse, considere estas técnicas de otimização:

  1. Use filtragem baseada em tempo: Sempre inclua um filtro de tempo na device_time ou record_added_at colunas para limitar os dados escaneados. Boa prática:

Evite isto (varre toda a tabela)

  1. Aproveite índices: O banco de dados possui índices em (device_id, device_time) pares. Estruture suas consultas para utilizar esses índices sempre que possível.

  2. Use joins seletivamente: Una tabelas somente quando necessário e tente filtrar os dados antes de unir tabelas grandes.

  3. Conversão de inteiro escalado: Lembre-se de que os dados de coordenadas são armazenados como inteiros escalados. Converta apenas na cláusula SELECT final, não nas cláusulas WHERE.

  4. Limite conjuntos de resultados: Sempre use LIMIT para consultas exploratórias para evitar retornar milhões de linhas.

  1. Utilize relações hierárquicas: Estruture consultas complexas seguindo a hierarquia de entidades (dealer → client → user/device → object) para joins e filtragens mais eficientes.

  2. Gerencie conexões adequadamente: Feche conexões com o banco de dados quando não estiverem em uso, especialmente em ferramentas de BI ou scripts agendados, para evitar bloqueio de recursos ou problemas de timeout.

Próximos passos

Estes exemplos fornecem um ponto de partida para trabalhar com seus dados. À medida que você se familiarizar com o esquema, poderá desenvolver consultas mais complexas para atender às suas necessidades de negócio específicas.

Atualizado

Isto foi útil?