Aller au contenu

MySQL + Querri

Le reporting MySQL,sans demande de requête SQL.

Votre boutique ou votre application enregistre déjà chaque commande, chaque client et chaque abonnement dans MySQL. Interrogez-les en langage naturel et obtenez des réponses qui connaissent aussi vos données marketing, support et finance, à partir d'une copie que Querri tient synchronisée à l'écart de la production.

Lecture seule de bout en bout : Querri ne modifie jamais une ligne dans MySQL. Certifié SOC 2 Type II, HIPAA et ISO 27001:2022.

Pourquoi le reporting MySQL se complique

MySQL fait tourner la boutique. En faire le reporting est un travail pour lequel personne n'a été embauché.

Demandez à quiconque gère la base de données d'une boutique en ligne ou d'une application web. Voici les murs sur lesquels bute une simple question métier.

01

Les rapports entrent en concurrence avec les clients

Les requêtes d'analyse tournent sur la même base que celle qui prend les commandes. Une requête lourde au mauvais moment, et le paiement ralentit : le reporting attend donc un réplica ou minuit.

02

Le schéma a été construit pour l'application

Le statut est stocké sous forme de nombre, les prix sont en centimes, les attributs se cachent dans des colonnes JSON et les lignes supprimées ne portent qu'un indicateur. Quiconque ne connaît pas le code lit les tables de travers.

03

Seul l'état actuel survit

Quand une commande est remboursée ou qu'une offre est rétrogradée, la ligne est mise à jour sur place. Sauf si quelqu'un a construit une table d'audit, les chiffres du mois dernier ne peuvent pas être reconstitués à partir des données de ce mois-ci.

04

La moitié de l'histoire est ailleurs

La campagne est dans HubSpot, le ticket dans Intercom, le versement dans le système comptable. MySQL ne peut se joindre à aucun d'eux : chaque question qui traverse les systèmes commence par un export.

05

Chaque question fait la queue pour un développeur

Le marketing, le support et la finance ont tous besoin qu'on leur écrive du SQL. Les dates ajoutent leur propre piège : les colonnes DATETIME ne portent pas de fuseau horaire, donc « hier » dépend de qui a écrit la requête.

Ce à quoi vous pouvez enfin répondre

Huit réponses qui dorment dans vos tables MySQL, en attendant que quelqu'un écrive la requête

Chacune est une question que les équipes e-commerce et produit posent à leur base applicative, avec ce qui la bloque aujourd'hui et la façon dont Querri y répond.

Qu'avons-nous réellement gagné par canal, après remboursements et remises ?

Pourquoi c'est difficile

Les commandes, les remboursements et les codes de réduction sont dans des tables séparées, et le canal d'origine d'un client n'est pas du tout dans MySQL.

Avec Querri

Dites une fois à Querri que le chiffre d'affaires désigne les commandes payées nettes des remboursements, et la règle vit dans Faits et règles. Connectez HubSpot pour le canal, et le playbook du canal au chiffre d'affaires montre la suite.

Quelles cohortes de clients reviennent acheter une deuxième fois ?

Pourquoi c'est difficile

Chaque achat est dans la table des commandes, mais la rétention par cohorte demande des fonctions de fenêtrage et des calculs de dates que seul un développeur écrit, et qu'il faut réécrire le mois suivant.

Avec Querri

Demandez le taux de rachat par mois de première commande. Querri enregistre le travail sous forme de projet, avec des étapes que vous pouvez ouvrir, vérifier et relancer à la synchronisation suivante.

Comment le MRR et le churn ont-ils évolué ce trimestre ?

Pourquoi c'est difficile

La table des abonnements contient chaque offre telle qu'elle est aujourd'hui. Les montées en gamme, les rétrogradations et les résiliations écrasent la ligne, et la tendance disparaît.

Avec Querri

Définissez le MRR et le churn comme des KPI, et Querri enregistre leur historique dès le premier jour. Les Analyses nocturnes vous préviennent quand l'un ou l'autre sort de sa fourchette habituelle.

Quels produits et quelles commandes génèrent le plus de tickets de support ?

Pourquoi c'est difficile

La commande est dans MySQL et la conversation dans l'outil de support. Les relier par l'e-mail du client est un travail sur tableur que personne ne refait.

Avec Querri

Connectez Intercom à côté de MySQL, et Querri rapproche les conversations des clients et de leurs commandes, en expliquant comment il les a rapprochées. Le playbook sur les causes des tickets détaille chaque étape.

Combien de nouveaux inscrits atteignent leur première vraie utilisation en une semaine ?

Pourquoi c'est difficile

Les inscriptions, les événements et les changements d'offre sont répartis dans des tables applicatives dont le sens vit dans le code, et le statut 3 ne veut rien dire pour l'équipe croissance.

Avec Querri

Dites une fois ce que signifie chaque code de statut et chaque indicateur, et Querri vérifie les colonnes à la recherche de valeurs étranges avant de répondre. Le playbook de l'inscription à la première valeur construit l'entonnoir ; le nettoyage des données couvre les vérifications.

La finance peut-elle recevoir le classeur des ventes mensuelles sans que personne ne lance de requête ?

Pourquoi c'est difficile

Aujourd'hui, un développeur lance la requête, colle le résultat dans Excel, corrige la mise en forme et l'envoie par e-mail. Qu'un mois soit oublié, et personne ne s'en aperçoit avant la clôture.

Avec Querri

Construisez le classeur une fois. Un planning le relance sur des données MySQL fraîches et envoie par e-mail un fichier mis en forme grâce aux rapports et à l'automatisation ; les outils Excel s'occupent de la mise en page.

Chaque boutique, client ou responsable de compte peut-il ne voir que ses propres chiffres ?

Pourquoi c'est difficile

La base applicative contient tous les clients dans les mêmes tables. Donner un accès à quelqu'un lui montre tout le monde.

Avec Querri

Définissez un filtre de lignes par personne dans Espaces de travail et accès, et il la suit partout. Pour montrer à vos clients leurs propres statistiques dans votre application, utilisez Embed.

Puis-je interroger ChatGPT ou Claude sur nos données MySQL sans lui ouvrir la base de données ?

Pourquoi c'est difficile

Coller des identifiants de production dans un assistant, c'est une revue de sécurité dont personne ne veut, et l'assistant doit quand même deviner ce que signifie chaque colonne.

Avec Querri

Ajoutez Querri comme connecteur à Claude ou ChatGPT. L'assistant répond à partir de votre Bibliothèque, avec vos règles et les droits d'accès de chaque personne, et ne touche jamais la base de données.

MySQL et le reste

Votre application connaît la commande. Les autres systèmes savent pourquoi elle a eu lieu.

Le marketing sait d'où vient un client, le support sait ce qui a mal tourné, la comptabilité sait ce qui a été payé. Querri les charge dans la Bibliothèque à côté de vos tables MySQL, et une seule question peut puiser dans chacun d'eux.

MySQL se combine bien avec

Des réponses que vous pouvez défendre

« Client actif » a deux sens légitimes. Querri nomme celui qu'il a choisi.

Demandez combien de clients actifs vous aviez en septembre, et vous pouvez désigner toute personne ayant passé une commande ce mois-là, ou toute personne ayant un abonnement en cours le dernier jour. Les deux sont raisonnables, et ils ne concordent pas. Querri en choisit un, vous dit lequel et place l'autre décompte à côté. Voir comment fonctionnent les réponses.

Découvrez au réveil ce qui a changé

Querri vérifie les chiffres de la boutique pendant la nuit

Chaque nuit, Querri compare vos KPI à leur propre passé et part à la recherche du recoin de l'activité sur lequel personne n'a posé de question. Les constats de la nuit sont listés dans votre Boîte de réception avant le premier café, et aucun ne déclenche de changement sans votre approbation.

Tableaux de bord MySQL personnalisés

Des tableaux de bord MySQL que vous construisez en demandant

Dites ce que le tableau de bord doit montrer, ou donnez à Querri une capture d'un tableau de bord comme point de départ. Il lit la même Bibliothèque que le chat : un graphique et une réponse ne se contredisent jamais, et vous pouvez limiter chaque personne à ses propres lignes.

  • Des graphiques modifiés en disant ce que vous voulez
  • Les commandes à côté des données marketing, support et finance
  • Chaque personne ne voit que les lignes qui la concernent
Modifier, c'est simplement demander : une phrase fait passer le tableau de bord en sombre, et l'annulation est à un clic.

Des rapports que vous ne reconstruisez plus

Six rapports MySQL, configurés une fois

Ce qui est synchronisé

Vos tables, copiées là où les questions ne peuvent pas ralentir la boutique

Querri copie les tables de la base MySQL que vous choisissez et tient la copie à jour : les questions ne s'exécutent jamais sur la production. Il ne peut lire que ce qui a été accordé à l'utilisateur MySQL utilisé pour la connexion.

Dans la base que vous choisissez

  • Toutes les tables de base
  • Vues
  • Une liste de tables de votre choix
  • Requêtes SQL personnalisées nommées
  • Chaque requête personnalisée nommée devient une source à part entière

Selon votre planning

Une actualisation complète s'exécute selon un planning, quotidien par défaut. Les synchronisations incrémentielles récupèrent les lignes dont la colonne curseur, updated_at sauf si vous en choisissez une autre, a dépassé la dernière synchronisation, toutes les heures par défaut.

Les grandes tables en flux

Les tables sont transférées en flux vers des fichiers en colonnes au lieu d'être chargées en mémoire : une grosse table de commandes ne bloque pas la synchronisation. Les nouvelles connexions démarrent avec un plafond de 100 000 lignes ; relevez-le ou supprimez-le dans Advanced.

Lecture seule

Querri attache votre base en lecture seule et n'exécute que des requêtes SELECT. Aucune insertion, mise à jour ou suppression n'atteint jamais vos tables.

Des identifiants en sécurité

Votre mot de passe est stocké chiffré et SSL est activé par défaut. Le mot de passe est saisi dans un formulaire sécurisé ; le Connector Agent sait seulement qu'il est renseigné.

Comment connecter MySQL

Un formulaire, un test et votre accord

  1. 1

    Demandez au Connector Agent

    Dites au Connector Agent « connecte notre base MySQL », ou trouvez MySQL dans le catalogue Connect.

  2. 2

    Ouvrez l'accès

    Autorisez l'adresse IP de Querri sur le pare-feu de votre base de données. Pour un réseau privé, ajoutez plutôt un tunnel OpenVPN.

  3. 3

    Saisissez les informations de connexion

    L'hôte, le port, la base de données, le nom d'utilisateur et le mot de passe se saisissent dans un formulaire sécurisé. Un utilisateur MySQL en lecture seule est le choix le plus sûr.

  4. 4

    Testez, puis choisissez les tables

    Querri teste la connexion et liste les bases que vous pouvez voir. Importez toutes les tables, une sélection, ou les résultats de requêtes SQL nommées.

  5. 5

    Approuvez et planifiez

    Aucune donnée ne bouge sans votre feu vert. Choisissez des synchronisations complètes ou incrémentielles, et les tables arrivent dans votre Bibliothèque.

La page Connect de Querri, avec le Connector Agent qui demande une approbation avant de lancer une connexion, à côté des cartes de connecteurs Google Drive, NetSuite, Salesforce, Square, ShipStation et Snowflake
Rien ne se connecte ni ne se charge avant que vous ne l'approuviez dans le chat.

FAQ MySQL

Questions sur MySQL et Querri

Comment connecter MySQL à Querri ?

Demandez au Connector Agent de connecter MySQL, ou choisissez-le dans le catalogue Connect. Ajoutez l'IP de Querri à la liste blanche du pare-feu de votre base, renseignez l'hôte, le port, la base de données, le nom d'utilisateur et le mot de passe dans le formulaire sécurisé, puis lancez le test. Enfin, sélectionnez les tables voulues et approuvez le chargement et son planning.

Quelles données MySQL Querri synchronise-t-il ?

Querri synchronise les tables de base et les vues de la base que vous choisissez, toutes ou une liste de votre choix. Vous pouvez aussi ajouter des requêtes SQL nommées, chacune devenant sa propre source. Il ne peut lire que ce qui a été accordé à l'utilisateur MySQL connecté.

À quelle fréquence les données MySQL sont-elles synchronisées ?

Une actualisation complète s'exécute selon le planning que vous fixez, quotidien par défaut. Les synchronisations incrémentielles peuvent tourner jusqu'à toutes les heures et récupèrent les lignes dont la colonne curseur, updated_at par défaut, a dépassé la dernière synchronisation. Une synchronisation manuelle est disponible dès que vous avez besoin de données plus fraîches.

Querri écrit-il dans ma base MySQL ou la modifie-t-il ?

Non. Querri ne fait que lire vos données et ne modifie jamais vos enregistrements. Il attache la base MySQL en lecture seule et Querri n'exécute que des requêtes SELECT : il n'insère, ne met à jour ni ne supprime jamais une ligne.

Querri va-t-il ralentir ma base MySQL de production ?

Querri lit MySQL lors d'une synchronisation, pas quand quelqu'un pose une question. Les questions, les tableaux de bord et les rapports s'exécutent tous sur la copie de Querri. Planifiez les actualisations complètes aux heures creuses, utilisez des synchronisations incrémentielles pour les grandes tables, ou dirigez Querri vers un réplica en lecture.

Comment les autorisations MySQL se répercutent-elles dans Querri ?

Les droits MySQL déterminent ce que Querri peut synchroniser : il ne voit que ce que l'utilisateur connecté a le droit de lire avec SELECT, donc donnez à cet utilisateur exactement les tables qui ont leur place dans Querri. Ensuite, la visibilité des lignes pour chaque personne dépend du partage et des filtres de lignes de Querri, pas de MySQL.

Comment combiner les données MySQL et HubSpot ?

Connectez les deux, et Querri rapproche les contacts HubSpot des clients de vos tables MySQL, généralement par e-mail. Vous pouvez alors suivre une campagne ou une source jusqu'aux commandes payées. Quand un rapprochement est incertain, par exemple parce qu'un client a utilisé deux adresses, la réponse le dit.

Comment combiner les données MySQL et Intercom ?

Connectez les deux, et Querri relie les conversations de support aux clients et à leurs commandes dans MySQL. Vous pouvez demander quels produits, quels états de commande ou quelles offres génèrent le plus de tickets, et voir les contacts répétés par client, sans que personne n'exporte l'un ou l'autre dans un tableur.

Comment obtenir un rapport de chiffre d'affaires par canal depuis MySQL ?

Connectez MySQL pour les commandes et les remboursements, et HubSpot ou une feuille pour l'origine des clients. Dites une fois à Querri ce que signifie le chiffre d'affaires, par exemple les commandes payées nettes des remboursements, puis posez la question. Enregistrez le tout comme un projet et planifiez-le pour le recevoir chaque semaine.

Comment obtenir le MRR et le churn depuis ma table d'abonnements MySQL ?

Définissez le MRR et le churn comme des KPI dans Querri. Comme la table des abonnements ne stocke en général que l'état actuel de chaque offre, Querri conserve lui-même l'historique du KPI dès le premier jour : vous voyez ainsi l'évolution d'un mois sur l'autre à partir de là.

Puis-je exporter automatiquement des données MySQL vers Excel ?

Oui. Transformez le rapport en projet une fois et donnez-lui une date d'envoi. Querri le relance sur des données MySQL fraîchement synchronisées et envoie par e-mail un classeur Excel mis en forme, ou une version par client ou par responsable, sans requête à lancer à la main.

Puis-je créer des tableaux de bord MySQL personnalisés sans écrire de SQL ?

Oui. Dites ce qu'il doit montrer, ou partez d'une capture d'un tableau de bord existant. Les modifications sont des demandes en langage naturel, les graphiques peuvent combiner des tables MySQL avec d'autres systèmes connectés, et un filtre de lignes limite chaque lecteur à ses propres données.

Puis-je interroger ChatGPT ou Claude sur mes données MySQL ?

Oui. Querri se branche sur Claude ou ChatGPT comme connecteur, configuré une seule fois. Dès lors, l'assistant répond à partir de votre Bibliothèque Querri, avec vos définitions, vos règles et les droits d'accès de chaque personne, et n'obtient jamais d'identifiants pour votre base. Ses chiffres reposent sur les mêmes définitions que vos tableaux de bord.

Querri fonctionne-t-il avec MariaDB et Amazon RDS for MySQL ?

Amazon RDS for MySQL utilise le même formulaire hôte et port que n'importe quel serveur MySQL, à condition que l'IP de Querri soit autorisée ou qu'un VPN soit configuré. MariaDB se connecte via le même connecteur MySQL. Chaque connexion lit une base de données : plusieurs bases signifient donc plusieurs connexions.

Pourquoi mon utilisateur MySQL 8 n'arrive-t-il pas à se connecter ?

Les utilisateurs sur caching_sha2_password, le plugin d'authentification par défaut de MySQL 8, peuvent échouer à se connecter. Le message d'erreur de Querri l'indique ; la solution est de passer cet utilisateur sur mysql_native_password. Vérifiez aussi que l'IP de Querri est autorisée sur votre pare-feu.

Quelles sont les limites du connecteur MySQL ?

Chaque connexion couvre une seule base. Les synchronisations incrémentielles demandent une colonne curseur qui ne fait qu'augmenter, ne font qu'ajouter des lignes et ne détectent pas les suppressions : lancez une actualisation complète pour les éliminer. Une requête personnalisée n'a pas de mode incrémentiel ; chaque synchronisation la relance de zéro. Il n'y a ni tunnel SSH ni réplication binlog en temps réel.

Puis-je connecter une base MySQL située sur un réseau privé ?

Oui, via un tunnel OpenVPN : chargez votre fichier .ovpn avec le certificat de l'autorité de certification, le certificat client et la clé client, tous stockés chiffrés. Querri ne propose pas de tunnels SSH : une base derrière un bastion a donc besoin d'un accès VPN ou d'une IP en liste blanche.

Mes données MySQL sont-elles en sécurité dans Querri ?

Querri est certifié SOC 2 Type II, HIPAA et ISO 27001:2022, et vos données ne servent jamais à entraîner un modèle. Votre mot de passe est stocké chiffré, SSL est activé par défaut, et le Connector Agent ne voit jamais le mot de passe. Notez que le certificat du serveur n'est pas vérifié.

Vos tables MySQL ont des réponses. Commencez à les demander.

Connectez une base, approuvez le premier chargement, et posez vos questions. Querri ne fait que lire : la production reste exactement telle qu'elle est.