סקירה כללית על מיגרציה

בדף הזה מוסבר על הדרכים להעברת נתונים אל AlloyDB ל-PostgreSQL וממנו.

ייבוא נתונים

יש שתי שיטות להעברת נתונים אל AlloyDB:

  • ייבוא ידני של קבצים שמכילים את הנתונים.

  • שימוש ב- Google Cloud Database Migration Service כדי להעביר את התוכן של מכונת PostgreSQL פעילה שלמה לאשכול AlloyDB חדש. מידע נוסף זמין במאמר העברה באמצעות Database Migration Service.

ייבוא נתונים מקבצים שהועברו לארכיון

ב-AlloyDB אפשר לייבא נתונים מקבצים שנמצאים בקטגוריה של Cloud Storage.‫AlloyDB תומך במגוון פורמטים של קבצים לייבוא נתונים, כולל הפורמטים הבאים:

  • CSV, עם התוכן של טבלה אחת בכל קובץ, שנטען באמצעות psql.

  • DMP, ארכיון בינארי של מסד נתונים שלם ב-PostgreSQL, שיובא באמצעות pg_restore.

  • SQL, שחזור של מסד נתונים מסוג PostgreSQL בטקסט פשוט, שעבר עיבוד באמצעות psql.

העברת מופע פעיל באמצעות Database Migration Service

במקום לייבא ידנית קבצים של dump נתונים, אפשר להשתמש בDatabase Migration Service for AlloyDB. השירות הזה מאפשר להעביר את כל התוכן של מופע פעיל של PostgreSQL – כולל כל מסדי הנתונים והמטא-נתונים שלו – לאשכול חדש של AlloyDB. השירות להעברת מסדי נתונים יכול לעזור לכם להעביר את האפליקציות הקיימות שלכם לשימוש ב-AlloyDB כמאגר הנתונים החדש שלהן עם השבתה מינימלית.

לוקאלים נתמכים לנתונים מיובאים

‫AlloyDB תומך בלוקאלים הבאים:

  • הקבוצה המלאה של הלוקאלים שסופקו על ידי ICU.
  • קבוצה מוגבלת של לוקאלים שסופקו על ידי libc:
    • C.UTF-8
    • en_US.utf8

אם מסד הנתונים שרוצים לייבא ל-AlloyDB מוגדר כברירת מחדל ללוקאל libc ששונה משני הלוקאלים שמופיעים כאן, עדיין אפשר לייבא את הנתונים, אבל הגדרת ברירת המחדל לא תועבר. כדי לוודא ששאילתות SQL שמשתמשות ב-libc ימיינו את התוצאות שלהן בצורה תקינה, יכול להיות שתצטרכו לבצע פעולות נוספות אחרי ייבוא הנתונים.ORDER BY

מומלץ לאפשר למסד הנתונים החדש להשתמש בשילוב של שפה ואזור ברירת המחדל של AlloyDB: ‏ C.UTF-8, שסופק על ידי libc. לאחר מכן, צריך לשייך אוסף כללים (collation) לכל העמודות שהשאילתות של האפליקציה עשויות לכלול בפסוקיות ORDER BY, ולתת לכל אחת מהן שם של כלל מיון מתאים שמבוסס על ICU. אפשר לעשות את זה באמצעות שאילתות DDL של ALTER TABLE, כמו השאילתה הבאה:

ALTER TABLE TABLE_NAME
    ALTER COLUMN COLUMN_NAME
    SET DATA TYPE COLUMN_DATA_TYPE
    COLLATE "COLLATION_NAME";

אשכול חדש של AlloyDB מגדיר מאות כללים להשוואה (collation) שמבוססים על לוקאלים שסופקו על ידי ICU, ואפשר להוסיף עוד באמצעות הכלי CREATE COLLATION של PostgreSQL. כדי לראות את הרשימה המלאה של שמות אוסף הכללים (collation) מבוססי-ICU שמוגדרים באשכול AlloyDB, מריצים את השאילתה הבאה בכל אחת מהמכונות שלו:

SELECT collname FROM pg_collation WHERE collprovider = 'i';

בנוסף להשוואות מבוססות ICU, ‏ AlloyDB תומך באוסף הכללים המובנה של PostgreSQL שנקרא ucs_basic. ההשוואה הזו משתמשת בסדר הרגיל של מיקומי תווי Unicode כדי לאפשר מיון יעיל במיוחד. מומלץ להשתמש בו עם עמודות שסדר המיון המתאים שלהן תואם לסדר של רשימת נקודות הקוד של Unicode.

ייצוא נתונים

אתם יכולים להשתמש בכלי שורת פקודה כדי לייצא את נתוני AlloyDB לקבצים שמאוחסנים בקטגוריה של Cloud Storage, במגוון פורמטים:

  • CSV, ייצוא של טבלה אחת לכל קובץ, באמצעות psql.

  • DMP, באמצעות pg_dump כדי ליצור ארכיון בינארי נייד של כל מסד הנתונים.

  • SQL, באמצעות pg_dump כדי ליצור רשימה של DDL ומשפטי SQL לשחזור מסד הנתונים.

המאמרים הבאים