メインコンテンツまでスキップ

Genieを使用して問題を診断し、修正する

備考

ベータ版

この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。

Lakebase UIでは、Genieがデータベースを診断して修正します。ユーザーは、独自の言葉で特定の質問をします。Genieは、知見と同じテレメトリー、つまりライブPostgresステート、クエリープラン、待機イベント、DDL、およびスキーマ変更履歴を使用して調査します。これは、Lakehouseおよびアプリ全体で使用するのと同じGenieです。ここでは、Lakebaseプロジェクトで機能します。

Genieは段階的な会話形式で動作します。その推論を示し、調査中に実行するクエリーを含む各アクションの承認を求めます。データベースの変更を含むすべての修正には、適用される前に明示的な確認が必要です。

このページでは、一般的な本番運用インシデント (アプリケーションが引き続きクエリーする列を削除するデプロイ) を例に、Genieにヘルプを求めることがエンドツーエンドでどのように行われるかを説明します。

前提条件

シナリオ

スキーマ変更により、定常的なデプロイの一部としてALTER TABLE users DROP COLUMN bioが実行されます。アプリケーションは引き続き、そのプロファイルページでその列を読み取ります。数分以内に、プロファイルページのリクエストがcolumn "bio" does not existで失敗し始め、アプリケーションのエラー率が上昇します。

Genieの調査の流れ

Genieが見つけ出して推奨することは、お客様のデータとその背後にある問題によって異なります。そのため、これは参考として扱ってください。逐語的に表示されるスクリプトではありません。プロジェクトからGenieを開き(プロジェクト、Branch、Endpointのコンテキストが自動的に取得されます)、症状を説明してください。そこから、一般的な調査は4つの段階を経て進みます。

  1. 症状を記述してください。 同僚に伝えるように平易な言葉で尋ねてください: 「なぜエラー率が上がっているのですか?」 原因、失敗したクエリー、またはどのテーブルが関係しているかを知る必要はありません。
  2. Genieは履歴を関連付け、読み取ります。 エラーを失敗したクエリーに結び付け、何が変更されたかについてはDDL履歴を確認します。DDL履歴はすべての変更を捕捉しません(コンピュートがスケールゼロから再開した直後に行われた変更は見逃される可能性があります)。そのため、レコードが不足している場合、Genieはそう伝え、テーブルの現在の列とクエリーが期待する内容との比較にフォールバックします。いずれにしても、bioを削除された列として識別します。これは、知見が読み取るのと同じ履歴であるため、Genie はバックグラウンドの知見が中断したところから再開できます。
  3. Genie は、検出結果に基づいて回復策を提案します。 通常、それは変更直前に作成された特定の時点のBranchから始まります。これは、本番運用とストレージを共有する即時コピーオンライトクローンであるため、あらゆる修正のために起動するのに十分安価です。そこから、復元は対話形式で行われます。Genieは不足しているデータを現在のテーブルにコピーし直すか、アプリケーションを復元されたBranchに切り替えることができます。一部のパスでは、Genieが単独で検出できない接続文字列など、途中で詳細な情報が必要になります。
  4. 適用前に確認することになります。 Genieは、それ自体で復元、変更、または修正を適用することはありません。実行するアクションを報告しますが、信頼する前に、結果的に生じるもの(復元ポイント、削除されたBranch)をLakebase UIで確認してください。

注意すべき制限事項

  • いくつかの一般的なGenie UI要素 (カスタマイズ、自動化、スペース、コンテキストの追加など) は現在Genieに表示されますが、まだ機能しません。
  • Lakebase UIの外部(例えば、ノートブックから)で継続されたGenieの会話は、会話履歴は保持されますが、元のページのツールとコンテキストは失われます。最も信頼性の高い結果を得るために、Lakebaseプロジェクト内から新しい調査を開始してください。
  • BranchとEndpointは、「本番運用」のような表示名ではなく、内部IDで表示されます。Genieの回答がどのBranchまたはEndpointを指しているかが曖昧な場合、Lakebase UIでIDを相互参照してください。詳細については、概要の制限事項を参照してください。

次のステップ