SAP BW 데이터를 ELT 프로세스를 통해 Snowflake에 적재하는 과정에서 Data Validation 을 확인하기 위한 방법들입니다. 우선은 Data Transformation 과정은 제외하고, SAP BW raw dataset을 Snowflake에 Load가 잘 되었는지 확인했습니다.
1) 데이터 표준 정의
2) 데이터 검증 자동화
3) 오류 보고
두 데이터베이스에서 동일한 테이블의 레코드 수를 비교하여 데이터가 제대로 복사되었는지 확인합니다.
-- A database
SELECT COUNT(*) FROM A_table;
-- B database
SELECT COUNT(*) FROM B_table;
각 레코드의 해시 값을 계산하여 데이터의 무결성을 확인합니다.
-- A database
SELECT MD5(CONCAT_WS(',', col1, col2, col3, ...)) AS hash_value FROM A_table;
-- B database
SELECT MD5(CONCAT_WS(',', col1, col2, col3, ...)) AS hash_value FROM B_table;
각 컬럼에 대해 NULL 값이 동일하게 존재하는지 확인합니다.
-- A database
SELECT COUNT(*) FROM A_table WHERE col1 IS NULL;
-- B database
SELECT COUNT(*) FROM B_table WHERE col1 IS NULL;
각 컬럼의 값 범위가 동일한지 확인합니다.
-- A database
SELECT MIN(col1), MAX(col1), AVG(col1) FROM A_table;
-- B database
SELECT MIN(col1), MAX(col1), AVG(col1) FROM B_table;
두 데이터베이스에서 중복된 레코드가 동일하게 존재하는지 확인합니다.
-- A database
SELECT col1, COUNT(*) FROM A_table GROUP BY col1 HAVING COUNT(*) > 1;
-- B database
SELECT col1, COUNT(*) FROM B_table GROUP BY col1 HAVING COUNT(*) > 1;