TableA (ユーザー ソース データベース - DB2 内) が TableB (データ ウェアハウス - DB2/Netezza 内) のコピーである 2 つのテーブル間でデータを検証しようとしています。
データをコピーするプロセスが安定しておらず、リアルタイムではなく日常的に実行されているため、ターゲット DB に不一致があり、それを見つけて見つける必要があります。また、サーバーに大きな負荷をかけないようにしてください。これにより、組織の通常の運用が中断される可能性があります。
現在、次のことを行っています。
a) SUM checks on all numeric fields
b) MAX / MIN checks
c) Row Count checks (COUNT(*))
d) Checking the Data Types on both the DB's to be equal
e) Checking the DISTINCT count of the PRIMARY fields
f) Check MAX of Date on which the row was copied over (we put a new column to specify when that row was copied over)
上記以外に、単一の SQL クエリでデータベース サーバーのリソースをあまり消費しない、より簡単な方法はありますか?
また、SAS テーブルでできるように、DB2-DB2 および DB2-Netezza テーブルで行を行に一致させる方法を知っている人はいますか?
ノート:
a) Netezza does not have the concept of UNIQUE or PRIMARY, so Referential Integrity and UNIQUE checking is not valid.
b) All the tables have > 100M rows, so running a simple RowCount on each table can sometimes take upto 30-45 mins