MySQL 8.0 リファレンスマニュアル


27.12.12 パフォーマンススキーマ NDB Cluster テーブル

NDB 8.0.16 以降、NDB の自動同期は NDB Cluster 内部ディクショナリと MySQL Server データディクショナリの間のメタデータのすべての不一致を自動的に検出して同期しようとします。 これは、ndb_metadata_check を使用して無効にしたり、ndb_metadata_sync を設定してオーバーライドしたりしないかぎり、デフォルトで ndb_metadata_check_interval システム変数によって決定される一定の間隔でバックグラウンドで実行されます。 NDB 8.0.21 より前は、このプロセスに関してユーザーがすぐにアクセスできる情報は、ステータス変数 Ndb_metadata_detected_countNdb_metadata_synced_count、および Ndb_metadata_excluded_count (NDB 8.0.22 より前) として使用可能なロギングメッセージとオブジェクト数の形式のみで利用可能でした (NDB 8.0.18 から)、(ステータス変数 Ndb_metadata_detected_countNdb_metadata_synced_count、および Ndb_metadata_excluded_count) (NDB 8.0.22 以前、この変数は Ndb_metadata_blacklist_size という名前でした)。 NDB 8.0.21 以降、自動同期の現在の状態に関するより詳細な情報は、NDB クラスタ内で次の 2 つの「パフォーマンススキーマ」テーブルで SQL ノードとして機能する MySQL サーバーによって公開されます:

  • ndb_sync_pending_objects: NDB ディクショナリと MySQL データディクショナリの間で不一致が検出された NDB データベースオブジェクトに関する情報を表示します。 このようなオブジェクトを同期しようとすると、NDB は同期を待機しているキューおよびこのテーブルからオブジェクトを削除し、不一致の調整を試みます。 一時エラーのためにオブジェクトの同期が失敗した場合、次回 NDB が不一致検出を実行したときに、オブジェクトが取得されてキュー (およびこのテーブル) に追加されます。永続エラーのために試行が失敗した場合、オブジェクトは ndb_sync_excluded_objects テーブルに追加されます。

  • ndb_sync_excluded_objects: 不一致による永続的エラーのために自動同期が失敗した NDB データベースオブジェクトに関する情報を表示します。これらのオブジェクトは手動操作なしではリコンサイルできません。これらのオブジェクトはブロックされ、これが完了するまで不一致検出のために再度考慮されません。

ndb_sync_pending_objects および ndb_sync_excluded_objects テーブルは、MySQL で NDBCLUSTER ストレージエンジンのサポートが有効になっている場合にのみ存在します。

これらのテーブルについては、次の 2 つのセクションで詳しく説明します。


関連キーワード:  テーブル, パフォーマンス, スキーマ, NDB, オブジェクト, events, ndb, 変数, replication, metadata