Diagnostiquer et corriger les problèmes avec Genie
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
- Un projet d’autoscaling Lakebase sur AWS ou Azure, avec une observabilité configurée. Consultez Configurer l’observabilité.
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 :
Vous décrivez le symptôme
Posez votre question en langage clair, 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 défaillante ou la table concernée.
Genie corrèle et lit l’historique
Il associe l’erreur à la query défaillante, puis vérifie l’historique DDL pour identifier ce qui a changé. L’historique DDL ne capture pas chaque modification (une modification effectuée juste au moment où un compute reprend après une Monter en charge à zéro peut être manquée) ; ainsi, lorsqu’un enregistrement est manquant, Genie le signale et revient à une comparaison entre les colonnes actuelles de la table et ce que la query attend. Quoi qu’il en soit, il identifie bio comme la colonne supprimée. Il s’agit du même historique que celui lu par Insights, afin que Genie puisse reprendre là où un insight en arrière-plan s’est arrêté.
Genie propose une récupération, basée sur ce qu’il a trouvé
En général, cela commence par une Branch ponctuelle créée juste avant la modification : un clone instantané en copy-on-write qui partage le stockage avec la production, ce qui le rend suffisamment peu coûteux pour être lancé pour n’importe quel correctif. À partir de là, la récupération est une conversation : Genie peut copier les données manquantes dans votre table actuelle ou basculer votre application vers la Branch restaurée. Certains chemins nécessitent une précision de votre part en cours de route, comme une chaîne de connexion que Genie ne peut pas découvrir de lui-même.
Vous confirmez avant que quoi que ce soit ne soit appliqué
Genie ne restaure, ne modifie et n’applique jamais de correctif de lui-même. Il signale les actions qu’il entreprend, mais vérifiez les actions lourdes de 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 tel que « production ». Si la réponse de Genie est ambiguë quant à la Branch ou à l'Endpoint concerné, vérifiez l'ID dans l'interface utilisateur de Lakebase. Pour en savoir plus, consultez les limitations de la télémétrie.
Étapes suivantes
- Identifier et résoudre les problèmes avec Insights : activez le monitoring proactif afin que les problèmes de ce type apparaissent avant même que vous ayez à les chercher.
- Référence de la table de télémétrie : les tables que Genie lit, et les limitations actuelles.
- Restaurer un projet : En savoir plus sur la restauration à un instant T en dehors de Genie. Voir restauration à un instant T.