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

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

ייבוא נתונים

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SELECT collname FROM pg_collation WHERE collprovider = 'i';

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

ייצוא נתונים

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

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

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

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

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