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

レプリケーションシステムテーブルのリファレンス

重要

Managed DR はゲート付きです。Databricksアカウントチームを通じてアクセスを申請してください。承認後、Databricksはお客様のアカウントで管理対象DRを有効にします。

このページでは、Databricksのマネージド ディザスタリカバリ (DR)のレプリケーションステータスを追跡する、replication システムスキーマ内のstates テーブルに関するリファレンスを提供します。各行はフェイルオーバーグループのステータスイベントであり、定期的に、およびフェイルオーバーグループが変更されるたびに発行されます。このテーブルを使用して、フェイルオーバーグループの現在および過去のレプリケーションステータス(レプリケーション遅延や、少なくとも1つのアセットのレプリケーションを妨げているエラーを含む)を監視します。

テーブルパスsystem.replication.states

レプリケーションステータスの読み取り方法

ステータスイベントは定期的に発行されます。各イベントは、フェイルオーバーグループの集計状態、現在のラグ、および少なくとも1つのアセットのレプリケーションをブロックしているエラーを報告します。どの個別のオブジェクトが正常にレプリケートされたかはリストされません。

replication_lag_msnullではない場合、そのイベント内のエラーの対象となっていないすべてのデータが、そのラグまでレプリケートされています。errors配列が空ではない場合でも、他のスコープ内アセットはレプリケートを継続し、ラグに対して最新の状態を維持します。INITIAL_REPLICATION中、すべてのスコープ内アセットが一度レプリケートされる前は、replication_lag_msnullになる可能性があります。イベントには引き続きブロッキングエラーがリストされることがありますが、完了状況はまだ測定されません。

管理対象DRが全くサポートしていないアセットタイプは、成功としてもエラーとしてもテーブルに表示されません。それらが存在しないことは、レプリケートされたことを意味するわけではありません。制限事項を参照してください。行フィルター、列マスク、属性ベースアクセス制御(ABAC)など、サポートされていない機能を使用しているスコープ内のアセットは、テーブルに失敗として表示されます。

特定のアセットがセカンダリに存在することを確認するには、セカンダリ側でそのオブジェクトを調査してください。セカンダリのスコープ内カタログは読み取り専用であるため、Databricks ではセカンダリリージョンに個別の読み取り専用モニターワークスペースを設けることを推奨しています。レプリケーションのセットアップを参照してください。

ステートテーブルスキーマ参照

このstatesテーブルは次のスキーマを使用しています。

列名

データ型

説明

event_id

string

ステータスイベントの一意の識別子。

ca886134-876c-4671-a38b-332edf48c602

event_time

timestamp

イベントが出力されたときのタイムスタンプ。

2024-01-05T00:00:00.000+00:00

account_id

string

フェイルオーバーグループが属するアカウントのIDです。

ca886134-876c-4671-a38b-332edf48c602

failover_group_name

string

フェイルオーバーグループの完全修飾名

accounts/account1/failover-group/group1

replication_state

string

イベント発行時のレプリケーションの状態。可能な値は、 INITIAL_REPLICATIONACTIVECREATEDUPDATEDDELETEDFAILOVER_STARTEDFAILOVER_FINISHED、 および FAILOVER_ABORTEDです。

ACTIVE

errors

array

replication_stateINITIAL_REPLICATIONまたはACTIVEの場合、少なくとも1つのアセットのレプリケーションをブロックしているエラーの集計リスト(各エラーが影響を与えるアセット数を含む)。エラーリファレンスを参照してください。

エラー参照を参照してください。

replication_lag_ms

long

イベントが生成されたとき、すべての対象アセットが最後に正常にレプリケーションされてからのミリ秒。nullの値は、少なくとも1つのアセットがソースからレプリカにレプリケートされたことがないことを示します。値の増加は、DRがスコープ内のアセットを1つ以上レプリケートできないことを意味しますが、他のスコープ内のアセットへの変更は引き続きレプリケートされます。

2323

effective_primary_region

string

イベントが発行された時点でのフェイルオーバーグループのプライマリリージョンです。

us-west-2

managed_assets

struct

イベント発生時にフェイルオーバーグループが管理していたアセット管理対象アセットの参照をご覧ください。

管理アセット参照を参照してください

列名

データ型

説明

event_id

string

ステータスイベントの一意の識別子。

ca886134-876c-4671-a38b-332edf48c602

event_time

timestamp

イベントが出力されたときのタイムスタンプ。

2024-01-05T00:00:00.000+00:00

account_id

string

フェイルオーバーグループが属するアカウントのIDです。

ca886134-876c-4671-a38b-332edf48c602

failover_group_name

string

フェイルオーバーグループの完全修飾名

accounts/account1/failover-group/group1

replication_state

string

イベント発行時のレプリケーションの状態。可能な値は、 INITIAL_REPLICATIONACTIVECREATEDUPDATEDDELETEDFAILOVER_STARTEDFAILOVER_FINISHED、 および FAILOVER_ABORTEDです。

ACTIVE

errors

array

replication_stateINITIAL_REPLICATIONまたはACTIVEの場合、少なくとも1つのアセットのレプリケーションをブロックしているエラーの集計リスト(各エラーが影響を与えるアセット数を含む)。エラーリファレンスを参照してください。

エラー参照を参照してください。

replication_lag_ms

long

イベントが生成されたとき、すべての対象アセットが最後に正常にレプリケーションされてからのミリ秒。nullの値は、少なくとも1つのアセットがソースからレプリカにレプリケートされたことがないことを示します。値の増加は、DRがスコープ内のアセットを1つ以上レプリケートできないことを意味しますが、他のスコープ内のアセットへの変更は引き続きレプリケートされます。

2323

effective_primary_region

string

イベントが発行された時点でのフェイルオーバーグループのプライマリリージョンです。

us-west-2

managed_assets

struct

イベント発生時にフェイルオーバーグループが管理していたアセット管理対象アセットの参照をご覧ください。

管理アセット参照を参照してください

エラーリファレンス

errors 列には、レプリケーションをブロックしているエラーの配列が含まれています。配列の各要素は、次のフィールドを持つ構造体です。

フィールド名

データ型

説明

error

struct

エラーの詳細です。error_class(文字列)、エラーのクラス名;parameters(マップ)、エラーの詳細を含むキーと値のパラメーター;およびmessage(文字列)、人間が判読できるエラーメッセージが含まれます。

affected_assets_counts

array

対象のアセットタイプにつき、エントリは1つです。各エントリには、影響を受けるアセットのタイプである「asset_type」(文字列)、およびエラーが影響するそのタイプのアセットの数である「failing_count」(長整数)が含まれます。

フィールド名

データ型

説明

error

struct

エラーの詳細です。error_class(文字列)、エラーのクラス名;parameters(マップ)、エラーの詳細を含むキーと値のパラメーター;およびmessage(文字列)、人間が判読できるエラーメッセージが含まれます。

affected_assets_counts

array

対象のアセットタイプにつき、エントリは1つです。各エントリには、影響を受けるアセットのタイプである「asset_type」(文字列)、およびエラーが影響するそのタイプのアセットの数である「failing_count」(長整数)が含まれます。

管理アセット参照

managed_assets 列は、イベントが発行されたときにフェールオーバーグループによって管理されていた資産を記述する構造体です。次のフィールドが含まれます:

フィールド名

データ型

説明

metastore_ids

array

フェイルオーバーグループによって管理されるメタストアのID。

workspace_sets

array

フェールオーバーグループによって管理されるワークスペースです。各エントリには、name (文字列) と workspace_ids (配列) が含まれています。

catalogs

array

フェイルオーバーグループで管理されているカタログです。各エントリにはname(文字列)が含まれています。

フィールド名

データ型

説明

metastore_ids

array

フェイルオーバーグループによって管理されるメタストアのID。

workspace_sets

array

フェールオーバーグループによって管理されるワークスペースです。各エントリには、name (文字列) と workspace_ids (配列) が含まれています。

catalogs

array

フェイルオーバーグループで管理されているカタログです。各エントリにはname(文字列)が含まれています。

テーブルの読み込みに関する注意事項

statesテーブルを分析する際には、以下の点にご注意ください。

  • データはイベント発生後に反映されるのに最大3時間かかる場合があります。
  • このテーブルには、Databricksアカウントのすべてのフェイルオーバーグループのイベントが含まれています。

クエリの例

次のクエリーは、特定のフェイルオーバーグループについて、現在のreplication_state、レプリケーションラグ、およびブロックエラーを含む最新のレプリケーションステータスを返します。

SQL
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

次のクエリは、特定のフェイルオーバーグループのレプリケーションラグの分散を返します。

SQL
SELECT histogram_numeric(replication_lag_ms, 20) AS replication_lag_distribution
FROM system.replication.states
WHERE failover_group_name = :failover_group_name