Genie に関する問題を診断して修正する

Important

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

Lakebase UI では、Genie がデータベースを診断して修正します。 自分の言葉で特定の問題について質問すると、Insights と同じテレメトリ (ライブ Postgres 状態、クエリ プラン、待機イベント、DDL とスキーマ変更履歴) を使用して調査されます。 これは、レイクハウスとアプリ全体で使用するのと同じ Genie です。ここでは、Lakebase プロジェクトで動作します。

Genie は段階的な会話として機能します。その理由が示され、調査中に実行されるクエリを含め、各アクションを承認するように求められます。 データベースの変更を含む修正には、適用する前に明示的な確認が必要です。

このページでは、一般的な運用インシデント (アプリケーションがまだクエリを実行する列を削除するデプロイ) について説明し、Genie にヘルプを求める方法をエンド ツー エンドで示します。

前提条件

  • 可観測性が構成された、AWS または Azure 上の Lakebase 自動スケーリング プロジェクト。 「 観察可能性の設定」を参照してください。

シナリオ

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

Genie 調査の流れ

Genie が検出して推奨するものは、データとその背後にある問題によって異なるため、逐語的に表示されるスクリプトではなく、説明として扱ってください。 プロジェクトから Genie を開き (プロジェクト、ブランチ、エンドポイントのコンテキストが自動的に取得されます)、現象を説明します。 そこから、一般的な調査は次の 4 つの段階を経て進みます。

症状を説明していますね

同僚に「 なぜエラー率が上がっているのか」 と言う方法を、平易な言葉で尋ねます。原因、失敗したクエリ、または関係するテーブルを把握する必要はありません。

ジーニーが歴史を関連付けて読み取る

エラーを失敗したクエリに結び付け、DDL 履歴で変更内容を確認します。 DDL 履歴では、すべての変更がキャプチャされるわけではありません (コンピューティングがスケールからゼロに再開されるのと同じように行われた変更は見落とされる可能性があります)。そのため、レコードが見つからない場合、Genie はそう言い、テーブルの現在の列とクエリが期待するものを比較することにフォールバックします。 いずれの場合も、削除された列として bio が識別されます。 これは Insights が読み取るのと同じ履歴であるため、Genie はバックグラウンド分析情報が中断された場所を取得できます。

ジーニーは発見したものを根拠に回収を提案します

通常は、変更の直前に作成されたある時点のブランチから始まります。これは、本番環境とストレージを共有する即時作成可能なコピーオンライトクローンで、どんな修正のためでも気軽に立ち上げられるほど低コストです。 そこから、回復は会話です。Genie は、不足しているデータを現在のテーブルにコピーし直すか、アプリケーションを復元されたブランチに切り替える可能性があります。 一部のパスでは、Genie だけでは検出できない接続文字列など、途中でユーザーによる詳細情報の入力が必要になる場合があります。

何かを適用する前に必ず確認してください

Genie は、それ自体で修正プログラムを復元、変更、または適用することはありません。 実行したアクションを報告しますが、それに依存する前に、Lakebase UI で結果的なアクション (復元ポイント、削除されたブランチ) を確認します。

注意すべき制限事項

  • 一部の汎用 Genie UI 要素 (カスタマイズ、オートメーション、スペース、コンテキストの追加など) は現在 Genie に表示されますが、まだ機能していません。
  • Genie の会話が Lakebase UI の外部 (ノートブックなど) から継続された場合、会話履歴は保持されますが、元のページのツールとコンテキストは失われます。 最も信頼性の高い結果を得るには、Lakebase プロジェクト内から新しい調査を開始します。
  • ブランチとエンドポイントは、"production" のような表示名ではなく、内部 ID によって表示されます。Genie の答えが意味するブランチまたはエンドポイントについてあいまいな場合は、Lakebase UI で ID を相互参照します。 詳細は テレメトリの制限をご覧ください。

次のステップ