Aller au contenu principal

Diagnostiquer et corriger les problèmes avec Genie

info

Bêta

Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.

Dans l'interface utilisateur de Lakebase, Genie diagnostique et répare votre base de données. Vous posez une question sur un problème spécifique avec vos propres mots, et il l'examine en utilisant la même télémétrie que les Insights: état Postgres en direct, plans de query, événements d'attente et historique des modifications DDL et de schéma. C'est le même Genie que vous utilisez sur l'ensemble du Lakehouse et des applications ; ici, il fonctionne sur votre projet Lakebase.

Genie fonctionne comme une conversation étape par étape : il montre son raisonnement et vous demande d'approuver chaque action, y compris les queries qu'il exécute lors de son investigation. Toute correction, y compris une modification de base de données, nécessite votre confirmation explicite avant d'être appliquée.

Cette page présente un incident de production courant (un déploiement qui supprime une colonne que l'application continue d'interroger) pour montrer comment demander de l'aide à Genie, de bout en bout.

Prérequis

Le scénario

Un changement de schéma s'exécute ALTER TABLE users DROP COLUMN bio dans le cadre d'un déploiement de routine. L'application lit toujours cette colonne sur sa page de profil. En quelques minutes, les requêtes de pages de profil start à échouer avec column "bio" does not exist, et le taux d'erreur de l'application augmente.

Comment se déroule une enquête Genie

Ce que Genie trouve et recommande dépend de vos données et du problème sous-jacent, traitez donc cela comme une illustration, et non comme un script que vous verrez mot pour mot. Ouvrez Genie depuis votre projet (il récupère automatiquement le contexte de votre projet, de votre Branch et de votre Endpoint) et décrivez le symptôme. De là, une investigation typique passe par quatre étapes :

  1. Vous décrivez le symptôme. Demandez en langage simple, comme vous le diriez à un collègue : « Pourquoi le taux d'erreur est-il en hausse ? » Vous n'avez pas besoin de connaître la cause, la query en échec ou la table impliquée.
  2. Genie corrèle et lit l'historique. Il lie l'erreur à la query défaillante, puis vérifie l'historique DDL pour les modifications. L'historique DDL ne capture pas toutes les modifications (une modification effectuée juste au moment où un compute reprend après une mise à l'échelle à zéro peut être manquée), donc lorsqu'un enregistrement est manquant, Genie le signale et se rabat sur la comparaison des colonnes actuelles de la table avec ce que la query attend. Dans tous les cas, il identifie bio comme la colonne supprimée. C'est le même historique que Insights lit, donc Genie peut reprendre là où un insight en arrière-plan s'est arrêté.
  3. Genie propose une récupération, basée sur ce qu’il a trouvé. Cela commence généralement par une Branch à un instant précis créée juste avant la modification : un clone instantané, copie sur écriture, qui partage le stockage avec la production, ce qui est suffisamment économique pour être utilisé pour toute correction. À partir de là, la récupération est une conversation : Genie pourrait copier les données manquantes dans votre table actuelle, ou basculer votre application vers la Branch restaurée. Certains chemins nécessitent un détail de votre part en cours de route, comme une chaîne de connexion que Genie ne peut pas découvrir par lui-même.
  4. Vous confirmez avant que quoi que ce soit ne soit appliqué. Genie ne restaure, ne modifie ni n'applique de correctif de lui-même. Il signale les actions qu'il entreprend, mais vérifiez celles qui ont des conséquences (un point de restauration, une Branch supprimée) dans l'interface utilisateur de Lakebase avant de vous y fier.

Limitations dont il faut être conscient

  • Certains éléments génériques de l'interface utilisateur de Genie (tels que Personnalisations, Automatisations, Spaces et Ajouter du contexte) apparaissent actuellement dans Genie mais ne sont pas encore fonctionnels.
  • Une conversation Genie continuée depuis l'extérieur de l'interface utilisateur Lakebase (par exemple, depuis un Notebook) conserve l'historique de la conversation mais perd les outils et le contexte de la page d'origine. Start de nouvelles investigations depuis le projet Lakebase pour les résultats les plus fiables.
  • Les Branch et les Endpoint apparaissent par ID interne, et non par un nom d'affichage comme « production ». Si la réponse de Genie est ambiguë quant à la Branch ou à l'Endpoint qu'elle désigne, recoupez l'ID dans l'interface utilisateur de Lakebase. Pour en savoir plus, consultez les limites de l'aperçu.

Étapes suivantes