Requêtes courantes

Lorsque vous vous connectez à la base de données, vous pourrez récupérer des données via des requêtes SQL. Cette section fournit des requêtes SQL d'exemple pour vous aider à commencer à travailler avec le Private Telematics Lakehouse. Ces exemples montrent comment accéder et analyser les données de la couche Bronze, qui contient des données métier et télématiques brutes avec une transformation minimale.

Requêtes de base

Récupérer les informations de base des objets

Cette requête renvoie des informations sur les objets (véhicules/actifs) de votre système :

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;

Obtenir les dernières positions des appareils

Récupérer les données de localisation les plus récentes pour tous vos appareils :

Les valeurs de coordonnées sont stockées sous forme d'entiers multipliés par 10^7 pour améliorer l'efficacité de stockage dans TimescaleDB. Lors des requêtes, divisez par 10000000 pour convertir à nouveau au format décimal standard.

Jointure des données métier et télématiques

Rapport d'activité des véhicules

Cette requête génère un résumé d'activité quotidien en joignant les données métier et télématiques :

Affectations de conducteurs et historique des localisations

Suivre quels employés ont été affectés à quels véhicules et leur historique de localisation :

Analyse des données des capteurs

Suivi du niveau de carburant

Cette requête montre comment analyser les données du capteur de carburant :

Analyse géospatiale

Véhicules dans des géozones

Identifier quels véhicules sont entrés dans des géozones spécifiques :

Cette requête utilise les fonctions spatiales PostGIS. Si vous rencontrez des erreurs, vérifiez que l'extension PostGIS est activée dans votre base de données.

Conseils d'optimisation des performances

Lorsque vous travaillez avec le Cloud Data Warehouse, envisagez ces techniques d'optimisation :

  1. Utilisez le filtrage temporel: Incluez toujours un filtre temporel sur le device_time ou record_added_at colonnes pour limiter les données scannées. Bonne pratique:

Éviter ceci (scanne l'ensemble de la table)

  1. Exploitez les index: La base de données possède des index sur (device_id, device_time) paires. Structurez vos requêtes pour utiliser ces index lorsque cela est possible.

  2. Utilisez les jointures de manière sélective: Joignez les tables seulement lorsque c'est nécessaire et essayez de filtrer les données avant de joindre de grandes tables.

  3. Conversion des entiers mis à l'échelle: N'oubliez pas que les données de coordonnées sont stockées comme des entiers mis à l'échelle. Convertissez uniquement dans le SELECT final, pas dans les clauses WHERE.

  4. Limiter les jeux de résultats: Utilisez toujours LIMIT pour les requêtes exploratoires afin d'éviter de retourner des millions de lignes.

  1. Utilisez les relations hiérarchiques: Structurez les requêtes complexes en suivant la hiérarchie des entités (dealer → client → user/device → object) pour des jointures et des filtrages plus efficaces.

  2. Gérez correctement les connexions: Fermez les connexions à la base de données lorsqu'elles ne sont pas utilisées, en particulier dans les outils BI ou les scripts planifiés, afin d'éviter des verrous de ressources ou des problèmes de timeout.

Étapes suivantes

Ces exemples fournissent un point de départ pour travailler avec vos données. À mesure que vous vous familiariserez avec le schéma, vous pourrez développer des requêtes plus complexes pour répondre à vos besoins métier spécifiques.

Mis à jour

Ce contenu vous a-t-il été utile ?