בדף הזה מוסבר איך לוודא שהנתונים שהועברו מלאים ומדויקים. לכל הפחות, כדאי להריץ הצהרות SQL כדי לוודא שהטבלאות קיימות במסד הנתונים של AlloyDB ל-PostgreSQL שהועבר. כדי להשוות בין הנתונים במסד הנתונים של המקור לבין הנתונים במסד הנתונים של היעד בצורה מדויקת יותר, אתם יכולים להשתמש בכלי Data Validation Tool בקוד פתוח.
אימות נתוני היעד באמצעות הצהרות SQL
אתם יכולים להריץ הצהרות SQL כדי לוודא שהטבלאות קיימות במסד הנתונים של AlloyDB ל-PostgreSQL שהועבר. מבצעים את הפעולות הבאות:
- מתחברים למכונה של Cloud SQL ל-PostgreSQL באמצעות כלי שמאפשר להריץ פקודות SQL במסדי הנתונים שהועברו.
למידע נוסף על התחברות למכונות של Cloud SQL, קראו את המאמר אפשרויות התחברות במסמכי התיעוד של Cloud SQL.
מריצים פקודות SQL כדי לאמת את הנתונים שהועברו. לדוגמה:
- רשימה של כל הטבלאות במסד הנתונים:
SELECT * FROM pg_catalog.pg_tables;
- מאמתים את תוכן הטבלה:
SELECT * FROM TABLE_NAME';
- רשימה של כל הטבלאות במסד הנתונים:
אימות באמצעות Data Validation Tool
הכלי בקוד פתוח לאימות נתונים מאפשר לבצע השוואות נתונים מדויקות מאוד בין שני מסדי נתונים, אבל צריך ליצור חיבורי רשת למסדי הנתונים של המקור והיעד.
השלבים הבאים מציגים דוגמה מינימלית:
פורסים מכונה וירטואלית עם גישה גם למקור וגם ליעד, או משתמשים במכונה וירטואלית כזו.
במכונה הווירטואלית, יוצרים תיקייה שבה מתקינים את Data Validation Tool.
עוברים לתיקייה הזו.
משתמשים ב-
pipכדי להתקין את Data Validation Tool.pip install google-pso-data-validator
יוצרים חיבורים למסד הנתונים של Oracle במקור ולמסד הנתונים של AlloyDB ל-PostgreSQL ביעד:
data-validation connections add -c source Oracle --host 'ip-address' --port port --user username --password pswd --database database-name data-validation connections add -c target Postgres --host 'ip-address' --port port --user username --password pswd --database database-name
לדוגמה:
data-validation connections add -c source Oracle --host '10.10.10.11' --port 1521 --user system --password pswd --database XE data-validation connections add -c target Postgres --host '10.10.10.12' --port 5432 --user postgres --password pswd --database postgres
יוצרים או מפיקים רשימה של טבלאות כדי להשוות בין הנתונים במסד הנתונים של המקור לבין הנתונים במסד הנתונים של היעד:
export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas schema-name)
לדוגמה:
export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas public)
מריצים אימות מלא על כל הטבלאות:
data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
מומלץ להריץ את האימות הזה במהלך הרפליקציה כדי להבטיח עקביות יחסית. יכול להיות שייקח יותר מדי זמן להריץ שאילתות על טבלאות גדולות במהלך חלון קידום קצר. במקרים כאלה, משתמשים ב-Data Validation Tool כדי להוסיף מסננים שיקצרו את זמן הריצה, או מכינים רשימה של קבוצת משנה של טבלאות לאימות הסופי.