אימות של העברה

בדף הזה מוסבר איך לוודא שהנתונים שהועברו מלאים ומדויקים. לכל הפחות, כדאי להריץ הצהרות SQL כדי לוודא שהטבלאות קיימות במסד הנתונים של AlloyDB ל-PostgreSQL שהועבר. כדי להשוות בין הנתונים במסד הנתונים של המקור לבין הנתונים במסד הנתונים של היעד בצורה מדויקת יותר, אתם יכולים להשתמש בכלי Data Validation Tool בקוד פתוח.

אימות נתוני היעד באמצעות הצהרות SQL

אתם יכולים להריץ הצהרות SQL כדי לוודא שהטבלאות קיימות במסד הנתונים של AlloyDB ל-PostgreSQL שהועבר. מבצעים את הפעולות הבאות:

  1. מתחברים למכונה של Cloud SQL ל-PostgreSQL באמצעות כלי שמאפשר להריץ פקודות SQL במסדי הנתונים שהועברו.

    למידע נוסף על התחברות למכונות של Cloud SQL, קראו את המאמר אפשרויות התחברות במסמכי התיעוד של Cloud SQL.

  2. מריצים פקודות SQL כדי לאמת את הנתונים שהועברו. לדוגמה:

    • רשימה של כל הטבלאות במסד הנתונים:
      SELECT * FROM pg_catalog.pg_tables;
    • מאמתים את תוכן הטבלה:
      SELECT * FROM TABLE_NAME';

אימות באמצעות Data Validation Tool

הכלי בקוד פתוח לאימות נתונים מאפשר לבצע השוואות נתונים מדויקות מאוד בין שני מסדי נתונים, אבל צריך ליצור חיבורי רשת למסדי הנתונים של המקור והיעד.

השלבים הבאים מציגים דוגמה מינימלית:

  1. פורסים מכונה וירטואלית עם גישה גם למקור וגם ליעד, או משתמשים במכונה וירטואלית כזו.

  2. במכונה הווירטואלית, יוצרים תיקייה שבה מתקינים את Data Validation Tool.

  3. עוברים לתיקייה הזו.

  4. משתמשים ב- pip כדי להתקין את Data Validation Tool.

    pip install google-pso-data-validator
    
  5. יוצרים חיבורים למסד הנתונים של 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
    
  6. יוצרים או מפיקים רשימה של טבלאות כדי להשוות בין הנתונים במסד הנתונים של המקור לבין הנתונים במסד הנתונים של היעד:

    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)
    
  7. מריצים אימות מלא על כל הטבלאות:

    data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
    

מומלץ להריץ את האימות הזה במהלך הרפליקציה כדי להבטיח עקביות יחסית. יכול להיות שייקח יותר מדי זמן להריץ שאילתות על טבלאות גדולות במהלך חלון קידום קצר. במקרים כאלה, משתמשים ב-Data Validation Tool כדי להוסיף מסננים שיקצרו את זמן הריצה, או מכינים רשימה של קבוצת משנה של טבלאות לאימות הסופי.