レプリケーションシステムテーブルのリファレンス
Managed DR はゲート付きです。Databricksアカウントチームを通じてアクセスを申請してください。承認後、Databricksはお客様のアカウントで管理対象DRを有効にします。
このページでは、Databricksのマネージド ディザスタリカバリ (DR)のレプリケーションステータスを追跡する、replication システムスキーマ内のstates テーブルに関するリファレンスを提供します。各行はフェイルオーバーグループのステータスイベントであり、定期的に、およびフェイルオーバーグループが変更されるたびに発行されます。このテーブルを使用して、フェイルオーバーグループの現在および過去のレプリケーションステータス(レプリケーション遅延や、少なくとも1つのアセットのレプリケーションを妨げているエラーを含む)を監視します。
テーブルパス : system.replication.states
レプリケーションステータスの読み取り方法
ステータスイベントは定期的に発行されます。各イベントは、フェイルオーバーグループの集計状態、現在のラグ、および少なくとも1つのアセットのレプリケーションをブロックしているエラーを報告します。どの個別のオブジェクトが正常にレプリケートされたかはリストされません。
replication_lag_msがnullではない場合、そのイベント内のエラーの対象となっていないすべてのデータが、そのラグまでレプリケートされています。errors配列が空ではない場合でも、他のスコープ内アセットはレプリケートを継続し、ラグに対して最新の状態を維持します。INITIAL_REPLICATION中、すべてのスコープ内アセットが一度レプリケートされる前は、replication_lag_msがnullになる可能性があります。イベントには引き続きブロッキングエラーがリストされることがありますが、完了状況はまだ測定されません。
管理対象DRが全くサポートしていないアセットタイプは、成功としてもエラーとしてもテーブルに表示されません。それらが存在しないことは、レプリケートされたことを意味するわけではありません。制限事項を参照してください。行フィルター、列マスク、属性ベースアクセス制御(ABAC)など、サポートされていない機能を使用しているスコープ内のアセットは、テーブルに失敗として表示されます。
特定のアセットがセカンダリに存在することを確認するには、セカンダリ側でそのオブジェクトを調査してください。セカンダリのスコープ内カタログは読み取り専用であるため、Databricks ではセカンダリリージョンに個別の読み取り専用モニターワークスペースを設けることを推奨しています。レプリケーションのセットアップを参照してください。
ステートテーブルスキーマ参照
このstatesテーブルは次のスキーマを使用しています。
列名 | データ型 | 説明 | 例 |
|---|---|---|---|
| string | ステータスイベントの一意の識別子。 |
|
| timestamp | イベントが出力されたときのタイムスタンプ。 |
|
| string | フェイルオーバーグループが属するアカウントのIDです。 |
|
| string | フェイルオーバーグループの完全修飾名 |
|
| string | イベント発行時のレプリケーションの状態。可能な値は、 |
|
| array |
| エラー参照を参照してください。 |
| long | イベントが生成されたとき、すべての対象アセットが最後に正常にレプリケーションされてからのミリ秒。 |
|
| string | イベントが発行された時点でのフェイルオーバーグループのプライマリリージョンです。 |
|
| struct | イベント発生時にフェイルオーバーグループが管理していたアセット管理対象アセットの参照をご覧ください。 | 管理アセット参照を参照してください |
エラーリファレンス
errors 列には、レプリケーションをブロックしているエラーの配列が含まれています。配列の各要素は、次のフィールドを持つ構造体です。
フィールド名 | データ型 | 説明 |
|---|---|---|
| struct | エラーの詳細です。 |
| array | 対象のアセットタイプにつき、エントリは1つです。各エントリには、影響を受けるアセットのタイプである「 |
管理アセット参照
managed_assets 列は、イベントが発行されたときにフェールオーバーグループによって管理されていた資産を記述する構造体です。次のフィールドが含まれます:
フィールド名 | データ型 | 説明 |
|---|---|---|
| array | フェイルオーバーグループによって管理されるメタストアのID。 |
| array | フェールオーバーグループによって管理されるワークスペースです。各エントリには、 |
| array | フェイルオーバーグループで管理されているカタログです。各エントリには |
テーブルの読み込みに関する注意事項
statesテーブルを分析する際には、以下の点にご注意ください。
- データはイベント発生後に反映されるのに最大3時間かかる場合があります。
- このテーブルには、Databricksアカウントのすべてのフェイルオーバーグループのイベントが含まれています。
クエリの例
次のクエリーは、特定のフェイルオーバーグループについて、現在のreplication_state、レプリケーションラグ、およびブロックエラーを含む最新のレプリケーションステータスを返します。
SELECT
event_time,
replication_state,
replication_lag_ms,
errors
FROM system.replication.states
WHERE failover_group_name = :failover_group_name
ORDER BY event_time DESC
LIMIT 1
次のクエリは、特定のフェイルオーバーグループのレプリケーションラグの分散を返します。
SELECT histogram_numeric(replication_lag_ms, 20) AS replication_lag_distribution
FROM system.replication.states
WHERE failover_group_name = :failover_group_name