{"id":1244,"date":"2020-11-16T02:19:25","date_gmt":"2020-11-16T02:19:25","guid":{"rendered":"https:\/\/www.gudusoft.com\/?page_id=1244"},"modified":"2026-07-13T20:37:20","modified_gmt":"2026-07-14T04:37:20","slug":"grabit","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/fr\/grabit\/","title":{"rendered":"Ing\u00e9reur SQLFlow"},"content":{"rendered":"<p><strong>Ingestionnaire SQLFlow<\/strong> (formerly Grabit) collects SQL from your data estate \u2014 the DDL of tables, views, stored procedures, functions, triggers, and packages \u2014 and feeds it to SQLFlow for column-level data lineage analysis. It reads from live databases over JDBC, from revision systems like GitHub and Bitbucket, and from the local file system. It extracts <strong>m\u00e9tadonn\u00e9es uniquement<\/strong> et ne lit jamais les lignes de vos tableaux.<\/p>\n\n\n\n<div class=\"gd-stats\">\n<div class=\"gd-stat\"><b>13<\/b><span>dialectes de base de donn\u00e9es, via JDBC<\/span><\/div>\n<div class=\"gd-stat\"><b>M\u00e9tadonn\u00e9es uniquement<\/b><span>lecture seule \u2014 ne lit jamais les donn\u00e9es de la table<\/span><\/div>\n<div class=\"gd-stat\"><b>2<\/b><span>Formats d&#039;exportation\u00a0: JSON unique et fragment\u00e9<\/span><\/div>\n<div class=\"gd-stat\"><b>Entrefer<\/b><span>Sortie en fichier brut, aucune connexion active \u00e0 consommer<\/span><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group gd-callout is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Ex\u00e9cutez-le en 3 minutes\u00a0:<\/strong> Il suffit de configurer l&#039;ingesteur pour qu&#039;il pointe vers une base de donn\u00e9es\u00a0; il g\u00e9n\u00e8re alors un ensemble de m\u00e9tadonn\u00e9es que SQLFlow transforme en un diagramme de tra\u00e7abilit\u00e9 interactif au niveau des colonnes. L&#039;ensemble du processus s&#039;ex\u00e9cute en ligne de commande et peut donc \u00eatre planifi\u00e9 facilement comme une t\u00e2che cron.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Collecte de SQL \u00e0 partir de trois types de sources<\/h2>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-4\">\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:33.33%\">\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2020\/11\/database-400x265.png\" alt=\"Se connecter \u00e0 une base de donn\u00e9es\" \/><\/figure>\n\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:66.66%\">\n\n<h3 class=\"wp-block-heading\">Se connecter \u00e0 une base de donn\u00e9es<\/h3>\n\n\n\n<p>Extrait DDL \u2014 <code>CR\u00c9ER UNE TABLE<\/code>, <code>CR\u00c9ER UNE VUE<\/code>, les proc\u00e9dures stock\u00e9es, les fonctions, les d\u00e9clencheurs et les contraintes \u2014 provenant d&#039;Oracle, SQL Server, Snowflake, PostgreSQL et de 9 autres dialectes via JDBC, et les envoyer \u00e0 SQLFlow pour analyse.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-7\">\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:66.66%\">\n\n<h3 class=\"wp-block-heading\">Se connecter \u00e0 un syst\u00e8me de r\u00e9vision<\/h3>\n\n\n\n<p>R\u00e9cup\u00e9rez les fichiers SQL directement depuis GitHub, Bitbucket et d&#039;autres syst\u00e8mes de gestion de versions, et envoyez-les \u00e0 SQLFlow pour reconstituer la lign\u00e9e des donn\u00e9es \u00e0 partir du code que votre \u00e9quipe g\u00e8re d\u00e9j\u00e0 par contr\u00f4le de version.<\/p>\n\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:33.33%\">\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2020\/11\/githubbitbucket-400x244.png\" alt=\"Se connecter \u00e0 GitHub ou Bitbucket\" \/><\/figure>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-10\">\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:33.33%\">\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/www.gudusoft.com\/wp-content\/uploads\/2020\/11\/filesystem-400x256.png\" alt=\"Rechercher dans le syst\u00e8me de fichiers\" \/><\/figure>\n\n<\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow\" style=\"flex-basis:66.66%\">\n\n<h3 class=\"wp-block-heading\">Rechercher dans le syst\u00e8me de fichiers<\/h3>\n\n\n\n<p>Trouvez les fichiers SQL dans une arborescence de r\u00e9pertoires locaux et transf\u00e9rez-les vers SQLFlow pour visualiser la lign\u00e9e des donn\u00e9es \u2014 pratique pour les scripts et les exportations qui n&#039;ont jamais \u00e9t\u00e9 int\u00e9gr\u00e9s \u00e0 une base de donn\u00e9es ou \u00e0 un d\u00e9p\u00f4t.<\/p>\n\n<\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group gd-panel-navy is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Deux formats d&#039;exportation\u00a0: JSON unique et JSON fragment\u00e9<\/h2>\n\n\n\n<p>Lors de la lecture d&#039;une base de donn\u00e9es, l&#039;ingesteur cr\u00e9e un ensemble de m\u00e9tadonn\u00e9es normalis\u00e9es\u00a0: la structure du catalogue et le texte DDL de chaque vue, proc\u00e9dure, fonction, d\u00e9clencheur et cl\u00e9 \u00e9trang\u00e8re. Un seul mod\u00e8le couvre tous les dialectes pris en charge\u00a0; chaque fournisseur omet simplement les types d&#039;objets qu&#039;il ne poss\u00e8de pas. Cet ensemble se pr\u00e9sente sous deux formes.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>JSON unique<\/th><th>Partitionn\u00e9 (par d\u00e9faut)<\/th><\/tr><\/thead><tbody>\n<tr><td>Sur disque<\/td><td>Un <code>m\u00e9tadonn\u00e9es.json<\/code> d\u00e9poser<\/td><td>Un r\u00e9pertoire\u00a0: <code>manifest.json<\/code> + <code>catalogue\/<\/code> + <code>source\/<\/code> + <code>indice\/<\/code><\/td><\/tr>\n<tr><td>L\u00e0 o\u00f9 vit DDL<\/td><td>En ligne, dans <code>serveurs[].requ\u00eates[]<\/code><\/td><td>Dans <code>source\/*.jsonl<\/code>, situ\u00e9 par un d\u00e9calage d&#039;octet <code>index\/*.idx<\/code><\/td><\/tr>\n<tr><td>Id\u00e9al pour<\/td><td>Catalogues de petite et moyenne taille<\/td><td>Domaines importants \u2014 le catalogue reste en place, les flux DDL multi-Go et les recherches<\/td><\/tr>\n<tr><td>Extras<\/td><td>Le plus simple \u00e0 consommer<\/td><td>Hachage SHA-256 par partition, hachage du contenu par objet, exportations incr\u00e9mentielles, compression par blocs<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p><strong>JSON unique<\/strong> Il place l&#039;ensemble du domaine dans un seul fichier avec le DDL de chaque objet int\u00e9gr\u00e9\u00a0\u2014 la chose la plus simple \u00e0 analyser. <strong>Fragment\u00e9<\/strong> Il s&#039;agit du comportement par d\u00e9faut pour les grands domaines\u00a0: l&#039;exportation est diffus\u00e9e en continu avec une m\u00e9moire limit\u00e9e, le catalogue structurel reste petit et r\u00e9sident, le DDL est accessible par recherche al\u00e9atoire via un index et le manifeste est \u00e9crit en dernier afin qu&#039;un utilisateur ne voie jamais une exportation incompl\u00e8te. R\u00e9f\u00e9rences compl\u00e8tes champ par champ\u00a0: <a href=\"https:\/\/docs.gudusoft.com\/7.-reference\/exporter-output\/single-json-export\/\">export JSON unique<\/a> et <a href=\"https:\/\/docs.gudusoft.com\/7.-reference\/exporter-output\/sharded-export\/\">exportation fragment\u00e9e<\/a>.<\/p>\n\n<\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">D\u00e9couvrez la tra\u00e7abilit\u00e9 des donn\u00e9es dans une base de donn\u00e9es SQL Server en 3 minutes<\/h3>\n\n\n\n<figure class=\"wp-block-embed is-type-video\"><div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/00Lgzy7ktpc\" frameborder=\"0\" allowfullscreen><\/iframe><\/div><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Ex\u00e9cutez-le \u00e0 partir de la ligne de commande, selon une planification<\/h3>\n\n\n\n<p>L&#039;outil d&#039;ingestion est un utilitaire Java autonome ex\u00e9cut\u00e9 en ligne de commande. Il s&#039;int\u00e8gre parfaitement \u00e0 une t\u00e2che cron pour une extraction automatis\u00e9e et reproductible. Les mots de passe peuvent \u00eatre fournis via une variable d&#039;environnement ou un fichier, \u00e9vitant ainsi leur inclusion dans les arguments du processus. Des filtres d&#039;inclusion\/exclusion pr\u00e9cis permettent de contr\u00f4ler exactement les bases de donn\u00e9es, sch\u00e9mas et objets extraits. Voir la documentation. <a href=\"https:\/\/docs.gudusoft.com\/6.-sqlflow-ingester\/introduction\/sqlflow-exporter\/\">Documentation de SQLFlow Ingester<\/a> to get started.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull gd-band gd-band-navy gd-cta is-layout-constrained\" style=\"padding-top:56px;padding-bottom:56px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Obtenez la lign\u00e9e de votre base de donn\u00e9es<\/h2>\n\n\n<p>T\u00e9l\u00e9chargez SQLFlow Ingester, connectez-le \u00e0 une base de donn\u00e9es et transformez ses m\u00e9tadonn\u00e9es en tra\u00e7abilit\u00e9 des donn\u00e9es au niveau des colonnes.<\/p>\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-12\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/sqlparser\/sqlflow_public\/releases\">T\u00e9l\u00e9charger SQLFlow Ingester<\/a><\/div>\n\n\n\n<div class=\"wp-block-button is-style-outline\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/docs.gudusoft.com\/6.-sqlflow-ingester\/introduction\/sqlflow-exporter\/\">Lisez la documentation<\/a><\/div>\n<\/div>\n\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>SQLFlow Ingester (formerly Grabit) collects SQL from your data estate \u2014 the DDL of tables, views, stored procedures, functions, triggers, and packages \u2014 and feeds it to SQLFlow for column-level data lineage analysis. It reads from live databases over JDBC, from revision systems like GitHub and Bitbucket, and from the local file system. It extracts metadata only and never reads the rows in your tables. 13database dialects, over JDBC Metadata-onlyread-only \u2014 never reads table data 2export formats \u2014 single JSON and sharded Air-gappedplain-file output, no live connection to consume Run it in 3 minutes: point the ingester at a database,\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/1244"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/comments?post=1244"}],"version-history":[{"count":82,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/1244\/revisions"}],"predecessor-version":[{"id":6829,"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/pages\/1244\/revisions\/6829"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/fr\/wp-json\/wp\/v2\/media?parent=1244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}