Data Transmission Service (DTS) は、DTS タスクを中断することなく、ソースデータベースとターゲットデータベース間の不整合データを検出するためのデータ検証機能を提供します。
仕組み
データ検証は、DTS の移行または同期タスクと並行してバックグラウンドプロセスとして実行されます。以下の 3 つの検証モードが利用可能です:
フルデータ検証 — ソースデータベースとターゲットデータベース間の行レベルのデータを比較します。既存の全データが正しく移行されたことを確認する場合に実行します。
増分データ検証 — 増分変更がターゲットに対して一貫して適用されているかをチェックします。不整合が検出された場合、DTS は一定期間経過後に該当データを再検証し、その不整合が増分データ移行または同期の遅延によって引き起こされたものかどうかを確認します。
スキーマ検証 — ソースとターゲットのテーブル構造(スキーマ)が一致しているかを検証します。
上記 3 つのモードはいずれも、DTS タスクを中断せずに実行できます。また、異種データベース間での検証もサポートされており、ソースおよびターゲットが同一のデータベースエンジンである必要はありません。
各モードの使用タイミング
| モード | 使用するタイミング |
|---|---|
| フルデータ検証 | 初期フルロードの後 — すべての行が正しく移行されたことを確認してください |
| 増分データ検証 | 継続的なレプリケーション中 — 遅延や同期エラーによって生じた不整合を検出する場合 |
| スキーマ検証 | 移行前または移行後 — 両側のテーブル構造が一致していることを確認する場合 |
不整合が検出された場合の処理
DTS で不整合が検出された場合、一定期間経過後に該当データが再検証されます。これにより、不整合が増分データ移行または同期の遅延によって引き起こされたものかどうかが確認されます。再検証後も不整合が継続する場合は、DTS コンソールで詳細を確認してください。「データ検証の詳細の表示」を参照して、継続する不整合の特定および対応方法をご確認ください。
サポートされるデータベース
注: データ検証は双方向同期シナリオをサポートしています。ソースおよびターゲットのエンドポイントとして、Alibaba Cloud のデータベースインスタンスおよび自己管理データベースインスタンスの両方が利用可能です。
フルデータ検証
| ソースデータベース | ターゲットデータベース |
|---|---|
| MySQL | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、PostgreSQL、AnalyticDB for PostgreSQL、Oracle |
| PolarDB for MySQL | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL、Oracle |
| PostgreSQL | MySQL、PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL、PolarDB for Oracle |
| PolarDB for PostgreSQL | PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL、Oracle |
| スタンドアロン MongoDB データベース | スタンドアロン MongoDB データベース |
| レプリカセットアーキテクチャを使用する MongoDB データベース | レプリカセットアーキテクチャを使用する MongoDB データベース |
| シャードクラスタアーキテクチャを使用する MongoDB データベース | シャードクラスタアーキテクチャを使用する MongoDB データベース |
| マスターレプリカアーキテクチャを使用する Tair および Redis データベース | マスターレプリカアーキテクチャを使用する Tair および Redis データベース |
| クラスタアーキテクチャを使用する Tair および Redis データベース | クラスタアーキテクチャを使用する Tair および Redis データベース |
| SQL Server | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、SQL Server、AnalyticDB for PostgreSQL |
| Oracle | AnalyticDB for MySQL、AnalyticDB for PostgreSQL、MySQL、PolarDB for MySQL、PolarDB for PostgreSQL、PolarDB for Oracle、PostgreSQL、Oracle |
| PolarDB for Oracle | PolarDB for Oracle、AnalyticDB for MySQL、AnalyticDB for PostgreSQL、Oracle |
| Db2 for LUW | MySQL、PolarDB for MySQL、AnalyticDB for MySQL、AnalyticDB for PostgreSQL |
| Db2 for i (AS/400) | MySQL |
増分データ検証
| ソースデータベース | ターゲットデータベース |
|---|---|
| MySQL | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL |
| PolarDB for MySQL クラスター | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、AnalyticDB for PostgreSQL |
| PostgreSQL | MySQL、PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL |
| PolarDB for PostgreSQL | PostgreSQL、AnalyticDB for PostgreSQL、PolarDB for PostgreSQL |
| SQL Server | MySQL、AnalyticDB for MySQL、PolarDB for MySQL、SQL Server、AnalyticDB for PostgreSQL |
| Oracle | AnalyticDB for MySQL、MySQL、PolarDB for MySQL、PolarDB for Oracle |
スキーマ検証
| ソースデータベース | ターゲットデータベース |
|---|---|
| MySQL | MySQL、PolarDB for MySQL |
| PolarDB for MySQL | MySQL、PolarDB for MySQL |
| PostgreSQL | PostgreSQL、PolarDB for PostgreSQL |
| PolarDB for PostgreSQL | PostgreSQL、PolarDB for PostgreSQL |
サポートされるリージョン
データ検証は、すべてのリージョンおよびクロスリージョンシナリオで利用可能です。対応リージョンの完全な一覧については、「サポートされるリージョン」をご参照ください。
課金
課金の詳細については、「データ検証の課金方法」をご参照ください。
次のステップ
データ検証の有効化 — 検証タスクの設定および開始
データ検証の詳細の表示 — 結果の確認および不整合の特定