Consultas comuns

Ao conectar-se ao banco de dados, você poderá 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. Esses exemplos demonstram como acessar e analisar dados a partir do Dados brutos camada, que contém dados brutos de negócio e telemáticos com transformação mínima.

triangle-exclamation

Consultas básicas

Recuperar informações básicas de objetos

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 últimas localizações de dispositivos

Recupere os dados de localização mais recentes de 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ócio e telemáticos

Relatório de atividade do veículo

Esta consulta gera um resumo diário de atividade unindo dados de negócio e telemáticos:

Atribuições de motoristas 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 no device_time ou record_added_at colunas para limitar os dados verificados. 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 usar esses índices quando possível.

  2. Use joins seletivamente: Faça junções de tabelas somente quando necessário e procure filtrar os dados antes de unir tabelas grandes.

  3. Conversão de inteiros escalados: 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. Limitar conjuntos de resultados: Sempre use LIMIT para consultas exploratórias para evitar retornar milhões de linhas.

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

  2. Gerencie conexões corretamente: 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?