Traçabilité des données Vertica : Traçabilité au niveau des colonnes à partir des projections et du SQL

Lignée des données Vertica Il s'agit de la carte au niveau des colonnes de la façon dont les données circulent dans votre Vertica SQL : quelles colonnes sources alimentent chaque table cible, projection et rapport, et quelles jointures, filtres, agrégats et fonctions analytiques transforment les données en cours de route. Gudu SQLFlow il construit automatiquement cette carte avec un analyseur syntaxique dédié au dialecte Vertica : il lit votre SQL de manière statique, résout chaque référence de colonne et génère un diagramme de lignage interactif sans jamais toucher aux lignes de vos tables.

Essayez-le maintenant : collez n'importe quelle requête Vertica dans le Visualiseur de lignées SQL en ligne gratuitSélectionnez le dialecte Vertica et obtenez un diagramme de lignage au niveau des colonnes en quelques secondes.

Pourquoi la lignée Vertica pose un problème d'analyse SQL

Vertica se distingue des autres bases de données analytiques par la part importante de sa conception physique exprimée en SQL. Une projection, structure de stockage centrale de Vertica, est définie par une CRÉER UNE PROJECTION ... COMME SÉLECTION déclaration. Un tableau aplati dénormalise les attributs de dimension par le biais de UTILISATION PAR DÉFAUT et ENSEMBLE UTILISANT Les expressions de colonnes sont elles-mêmes des requêtes sur d'autres tables. Le remplissage des lacunes et l'interpolation des données d'événements ont lieu dans le SÉRIE TEMPORELLE clause, juste à l'intérieur d'une SÉLECTIONNER.

Cette conception a une conséquence sur la traçabilité : si un outil peut analyser correctement le dialecte de Vertica, il peut reconstituer le flux de données, non seulement à travers vos scripts ETL et vos vues, mais aussi à travers la couche de stockage elle-même. Dans le cas contraire, il supprime silencieusement les instructions qui définissent précisément un environnement Vertica. Les analyseurs syntaxiques génériques ANSI sont bloqués par cette approche. SÉRIE TEMPORELLE, traitez les définitions de projection comme du bruit et ne voyez jamais la requête cachée à l'intérieur d'un ENSEMBLE UTILISANT expression.

SQLFlow intègre un analyseur Vertica spécifique au dialecte, l'un des 39 analyseurs syntaxiques de dialecte, chacune avec sa propre grammaire plutôt qu'une approximation ANSI partagée. Il gère les projections définies par des instructions SELECT, des expressions de table aplatie, et SÉRIE TEMPORELLE il traite les clauses comme du SQL de première classe et résout les références de colonnes via des CTE, des sous-requêtes, des vues, etc. SÉLECTIONNER * expansion.

Traçabilité au niveau des colonnes à partir d'une véritable instruction Vertica

Considérons un motif Vertica typique : un INSERER ... SÉLECTIONNER qui agrège des données factuelles et les classe à l'aide d'une fonction analytique.

INSERT INTO mart.region_daily_rank (sale_date, region_name, total_amount, region_rank) SELECT s.sale_date, r.region_name, SUM(s.amount) AS total_amount, RANK() OVER (PARTITION BY s.sale_date ORDER BY SUM(s.amount) DESC) AS region_rank FROM fact.sales s JOIN dim.regions r ON s.region_id = r.region_id WHERE s.sale_date >= '2026-01-01' GROUP BY s.sale_date, r.region_name;

Pour chaque colonne de sortie, SQLFlow identifie les colonnes sources qui l'alimentent et les fonctions qu'elles traversent :

  • région_quotidienne_rang.montant_total est alimenté directement par fait.ventes.montant à travers SOMME().
  • classement_quotidien_région.classement_région est dérivé de montant des ventes via le RANG() SUR fenêtre, avec ventes.date_de_vente façonner la cloison.
  • ventes.région_id et régions.id_région Elles n'apparaissent jamais dans le résultat, mais elles déterminent quelles lignes se rejoignent lors de la jointure. SQLFlow les enregistre comme lignée indirecte, ainsi que le filtre activé date_de_vente et le GROUPER PAR clés.

Cette distinction entre communication directe et indirecte est plus importante qu'il n'y paraît. Si quelqu'un modifie la sémantique de id_région, aucun outil de traçabilité basé uniquement sur le flux de données ne signalera classement_quotidien_région comme affecté — pourtant chaque chiffre change. SQLFlow modélise l'influence indirecte (colonnes utilisées dans , REJOINDRE, et GROUPER PAR Les conditions et les agrégats internes constituent un type de relation distinct et activable dans le diagramme. La plupart des outils concurrents ne font pas du tout cette distinction.

Vertica construit les couvertures de l'analyseur syntaxique de dialecte

Construction de VerticaLà où se cache la lignée
Projections (CRÉER UNE PROJECTION ... COMME SÉLECTION)La clause SELECT de définition associe les colonnes de la table d'ancrage aux colonnes de la projection, y compris les choix de tri et de segmentation exprimés en SQL.
Tables aplatiesUTILISATION PAR DÉFAUT / ENSEMBLE UTILISANT Les expressions intègrent directement des requêtes sur les tables de dimensions dans le DDL — une logique de dénormalisation invisible pour les outils qui analysent uniquement le DML.
SÉRIE TEMPORELLE clauseLe remplissage des lacunes et l'interpolation modifient la forme du résultat ; la clause est analysée comme du SQL, de sorte que les colonnes interpolées retrouvent leurs véritables sources.
fonctions analytiquesRANG, NUMÉRO_DE_LIGNE, DÉCALAGE, et les agrégats de fenêtres : SQLFlow suit à la fois les entrées de la fonction et les colonnes de partition/ordre qui façonnent le résultat.
Vues, CTE, sous-requêtes, SÉLECTIONNER *Les références de colonnes sont résolues à travers chaque couche, de sorte qu'une colonne de rapport remonte jusqu'aux colonnes sources physiques plutôt que de s'arrêter à la première limite de vue.

Planification d'audit et de migration pour les parcs immobiliers Vertica vieillissants

La plupart des installations Vertica ne sont pas récentes. Elles contiennent une décennie, voire plus, de données SQL : nightly accumulées. INSERER ... SÉLECTIONNER Chargements, rapports superposés, projections ajustées par des ingénieurs qui ont depuis quitté l'entreprise : deux situations contraignent les équipes à enfin cartographier l'ensemble de ces éléments.

Audit et conformité. Les organismes de réglementation et les auditeurs internes posent des questions détaillées sur les colonnes : quels champs sources alimentent ce chiffre réglementé et quelles transformations subissent-ils ? Les réponses basées sur des connaissances empiriques ne résistent pas à un examen rigoureux. SQLFlow génère la chaîne de provenance de chaque colonne de sortie : remontez le fil du chiffre dans le rapport, en passant par chaque vue et script de chargement, jusqu’aux colonnes sources physiques, et exportez les preuves aux formats JSON, CSV ou PNG.

Planification des migrations. Les équipes qui migrent des charges de travail Vertica vers Snowflake, Databricks ou BigQuery ont besoin d'une représentation graphique complète des dépendances avant de séquencer la migration : quelles tables sont critiques, quelles vues sont obsolètes et quels traitements en aval utilisent chaque cible. SQLFlow analysant tous ces dialectes avec le même moteur, vous pouvez cartographier l'environnement Vertica avant la migration, vérifier la traçabilité reconstruite sur la plateforme cible et vous assurer qu'aucun élément n'a été orphelin. Il en va de même pour les consolidations provenant d'autres plateformes MPP ; consultez les pages associées. Traçabilité des données Greenplum et Traçabilité des données Netezza.

Comment générer la traçabilité des données Vertica à partir de SQL

  1. Récupérez le SQL. Collez des requêtes individuelles, téléchargez des fichiers de script, récupérez des métadonnées de schéma en direct via JDBC ou utilisez Grabit/Ingéreur SQLFlow Des outils permettent d'extraire des métadonnées en masse. Pour une question ponctuelle, il suffit de coller une simple phrase dans le visualiseur gratuit.
  2. Sélectionnez le dialecte Vertica. SQLFlow analyse le SQL avec sa grammaire spécifique à Vertica et effectue une analyse de flux de données sur le modèle sémantique résultant. Le moteur sous-jacent est le Analyseur SQL général, développé commercialement depuis le milieu des années 2000 et validé par rapport à environ 13 600 jeux de tests SQL par dialecte.
  3. Explorez et exportez. Explorez le diagramme interactif, suivez n'importe quelle colonne en amont ou en aval, activez ou désactivez la lignée indirecte et exportez le graphique au format JSON, CSV ou PNG, ou interrogez-le via l'API REST à partir de vos propres outils.

Depuis la version 8.2.3, vous pouvez également interroger le graphique en langage naturel, avec des questions comme « Quels résultats dépendent du montant des ventes ? », et chaque tableau et colonne cités par l'IA sont validés par rapport au graphe de lignage analysé avant d'être affichés.

Où l'exécuter

SQLFlow Cloud propose une version gratuite pour coller des requêtes dans le navigateur ; la version premium coûte 49,99 £/mois. Les environnements Vertica dans les secteurs réglementés optent généralement pour cette solution. SQLFlow sur siteDocker ou Kubernetes au sein de votre réseau, isolé du réseau existant, à 1 TP3T500/mois ou 1 TP3T4 800 (paiement unique) par type de base de données sélectionné, installable sur deux serveurs. Dans les deux cas, l’analyse est statique : SQLFlow lit le texte SQL et les métadonnées du schéma, jamais les données de vos tables.

À l'échelle de l'entreprise, SQLFlow effectue des analyses par lots sur des ensembles de plus de 100 bases de données et plus d'un million de colonnes, conserve un référentiel de lignage persistant avec des analyses incrémentielles et exporte vers DataHub, Microsoft Purview et OpenMetadata, de sorte que le lignage Vertica se retrouve dans le catalogue que votre organisation utilise déjà.

Qu’en est-il des outils de traçabilité open source ?

Les analyseurs syntaxiques open source tels que SQL Lineage et sqlglot sont réellement utiles pour extraire la lignée des instructions SELECT et INSERT standard, et si votre base de données ne contient que cela, elles peuvent suffire. Sur Vertica en particulier, quatre points méritent d'être vérifiés avant de valider : si l'outil analyse les constructions de dialecte comme SÉRIE TEMPORELLE et la projection DDL, sa capacité à résoudre les colonnes via des piles de vues complexes utilisant les métadonnées du schéma, à modéliser la lignée indirecte par le biais de conditions de jointure et de filtrage, et à générer un diagramme navigable à travers des milliers de scripts plutôt que d'émettre des tuples par requête. Une évaluation pertinente est peu coûteuse : prenez votre script de chargement Vertica le plus complexe, exécutez-le avec les deux méthodes et comparez les résultats obtenus.

Foire aux questions

SQLFlow prend-il en charge les projections Vertica ?

Oui. Une projection Vertica est définie par une instruction SELECT, et l'analyseur syntaxique Vertica de SQLFlow interprète cette définition comme du SQL ; ainsi, la traçabilité s'effectue des colonnes de la table d'ancrage à travers la projection comme pour tout autre objet défini par une requête.

Peut-il analyser la clause TIMESERIES et les fonctions analytiques ?

Oui. L'analyseur Vertica gère le SÉRIE TEMPORELLE Les clauses et les fonctions de fenêtre/analytiques sont traitées comme une grammaire native, et non comme des extensions non analysables. Les colonnes de sortie sont produites par RANG() SUR (...) ou l'interpolation remonte à leurs colonnes sources réelles, les colonnes de partition et d'ordre étant capturées comme lignée indirecte.

Dois-je connecter SQLFlow à mon cluster Vertica ?

Non. Vous pouvez coller du code SQL ou importer des fichiers de script et obtenir la traçabilité sans aucune connexion à une base de données. La connexion via JDBC ou l'utilisation de l'extracteur de métadonnées Grabit ajoutent des métadonnées de schéma, ce qui améliore la résolution. SÉLECTIONNER * et des noms de colonnes non qualifiés dans de grands domaines.

Est-ce que SQLFlow lit les données de mes tables Vertica ?

Jamais. SQLFlow effectue une analyse statique du code SQL et peut lire les définitions des tables et des colonnes. Il n'interroge pas les données des lignes. Avec l'édition sur site, même le texte SQL reste au sein de votre réseau.

SQLFlow peut-il nous aider à planifier une migration depuis Vertica ?

Oui. Commencez par cartographier l'intégralité du graphe de dépendances au niveau des colonnes de l'environnement Vertica, utilisez-le pour séquencer les déplacements et identifier les objets inactifs, puis relancez la traçabilité sur la plateforme cible (Snowflake, Databricks, BigQuery et 35 autres dialectes sont pris en charge par le même moteur) afin de vérifier la reconstruction.

Combien coûte SQLFlow ?

SQLFlow Cloud est gratuit au départ ; la version Premium coûte 49,99 £/mois. La version sur site coûte 500 £/mois ou 4 800 £ (paiement unique) par type de base de données sélectionné, sur un maximum de deux serveurs. Les types de bases de données supplémentaires coûtent 100 £/mois ou 1 000 £ (paiement unique) chacun. Plus d'informations sur… page de tarification.

Cartographiez votre domaine Vertica

Collez une requête Vertica dans le visualiseur gratuit, ou contactez-nous pour analyser des années de SQL dans le cadre d'un audit ou d'une migration.