Diagnostisera och åtgärda problem med Genie

Important

Den här funktionen finns i Beta. Arbetsyteadministratörer kan styra åtkomsten till den här funktionen från sidan Förhandsversioner . Se Hantera förhandsversioner av Azure Databricks.

I Lakebase-användargränssnittet diagnostiserar Genie och åtgärdar databasen. Du frågar om ett specifikt problem med egna ord, och det undersöker det med hjälp av samma telemetri som Insights: Postgres-status i realtid, frågeplaner, väntehändelser samt historik över DDL- och schemaändringar. Det här är samma Genie som du använder i Lakehouse och Apps. här fungerar det på ditt Lakebase-projekt.

Genie fungerar som en stegvis konversation: den visar dess resonemang och ber dig att godkänna varje åtgärd, inklusive de frågor som körs under undersökningen. Alla korrigeringar, inklusive en databasändring, behöver din explicita bekräftelse innan den tillämpas.

Den här sidan går igenom en vanlig produktionsincident (en driftsättning som tar bort en kolumn som applikationen fortfarande använder i frågor) för att visa hur det går till att be Genie om hjälp från början till slut.

Förutsättningar

Scenariot

En schemaändring körs ALTER TABLE users DROP COLUMN bio som en del av en rutindistribution. Programmet läser fortfarande kolumnen på sin profilsida. Inom några minuter börjar profilsidesbegäranden misslyckas med column "bio" does not existoch programmets felfrekvens ökar.

Hur en undersökning i Genie går till

Vad Genie hittar och rekommenderar beror på dina data och problemet bakom dem, så behandla detta som illustrativt, inte ett skript som du ser ordagrant. Öppna Genie från projektet (det hämtar automatiskt projekt-, gren- och slutpunktskontexten) och beskriv symptomet. Därifrån går en typisk undersökning igenom fyra steg:

Du beskriver symtomet

Fråga i klartext hur du skulle säga till en kollega: "Varför ökar felfrekvensen?" Du behöver inte känna till orsaken, den misslyckade frågan eller vilken tabell som ingår.

Genie korrelerar och läser historik

Det kopplar felet till den misslyckade frågan och kontrollerar sedan DDL-historiken för vad som har ändrats. DDL-historiken samlar inte in alla ändringar (en som görs precis som en beräkning återupptas från skala till noll kan missas), så när en post saknas säger Genie det och återgår till att jämföra tabellens aktuella kolumner med vad frågan förväntar sig. Hur som helst identifieras bio som den borttagna kolumnen. Det här är samma historik som Insights läser, så Genie kan ta vid där en bakgrundsinsikt slutade.

Genie föreslår en återställning, baserad på det den hittade

Vanligtvis börjar det med en gren vid en viss tidpunkt, branch, som skapas precis före ändringen: en omedelbar copy-on-write-klon som delar lagring med produktionsmiljön, så den är tillräckligt billig att starta upp för varje korrigering. Därifrån är återställning en konversation: Genie kan kopiera tillbaka saknade data till den aktuella tabellen eller växla programmet till den återställde grenen. Vissa vägar behöver viss information från dig under resans gång, till exempel en anslutningssträng som Genie inte kan hitta på egen hand.

Du bekräftar innan något appliceras

Genie återställer, ändrar eller tillämpar aldrig en korrigering på egen hand. Den rapporterar de åtgärder som den vidtar, men verifierar följdåtgärder (en återställningspunkt, en borttagen gren) i Lakebase-användargränssnittet innan du förlitar dig på dem.

Begränsningar att vara medveten om

  • Vissa allmänna Genie-gränssnittselement (till exempel anpassningar, automatiseringar, utrymmen och lägg till kontext) visas för närvarande i Genie men fungerar inte ännu.
  • En Genie-konversation som fortsätter utanför Lakebase-gränssnittet (till exempel från en notebook) behåller konversationshistoriken men förlorar den ursprungliga sidans verktyg och kontext. Starta nya undersökningar inifrån Lakebase-projektet för de mest tillförlitliga resultaten.
  • Grenar och slutpunkter visas med internt ID, inte ett visningsnamn som "produktion". Om Genie-svaret är tvetydigt om vilken gren eller slutpunkt det innebär ska du korsreferensera ID:t i Lakebase-användargränssnittet. För mer, se telemetribegränsningarna.

Nästa steg