כדי להעביר מסדי נתונים אל AlloyDB ל-PostgreSQL או ממנו, אתם יכולים להעביר מכונות פעילות של PostgreSQL עם זמן השבתה מינימלי באמצעות Database Migration Service, או לייבא ולייצא קובצי CSV, DMP ו-SQL שמאוחסנים ב-Cloud Storage.
ייבוא נתונים
אפשר להעביר נתונים ל-AlloyDB בשתי שיטות:
ייבוא ידני של קבצים שמכילים את הנתונים שלכם.
שימוש ב-Database Migration Service כדי להעביר את התוכן של מכונה פעילה שלמה של PostgreSQL לאשכול חדש של AlloyDB. מידע נוסף זמין במאמר העברה ל-AlloyDB ל-PostgreSQL באמצעות Database Migration Service.
ייבוא נתונים שהועברו לארכיון מקבצים
ב-AlloyDB אפשר לייבא נתונים מקבצים שנמצאים בקטגוריה של Cloud Storage. AlloyDB תומך במגוון פורמטים של קבצים לייבוא נתונים, כולל:
CSV, עם תוכן של טבלה אחת לכל קובץ, שנטען באמצעות
psql.DMP, ארכיון בינארי של מסד נתונים שלם של PostgreSQL, שיובא באמצעות
pg_restore.SQL, שחזור של מסד נתונים ב-PostgreSQL בטקסט פשוט, שעבר עיבוד באמצעות
psql.
העברת מכונה פעילה באמצעות Database Migration Service
במקום לייבא ידנית קובצי dump של נתונים, אתם יכולים להשתמש ב-Database Migration Service ל-AlloyDB. השירות הזה מאפשר להעביר את כל התוכן של מכונה פעילה של PostgreSQL – כולל כל מסדי הנתונים והמטא-נתונים שלה – לאשכול חדש של AlloyDB. בעזרת Database Migration Service תוכלו להעביר את האפליקציות הקיימות שלכם לשימוש ב-AlloyDB כמאגר הנתונים החדש שלהן, עם זמן השבתה מינימלי.
הגדרות מקומיות נתמכות לנתונים מיובאים
ב-AlloyDB יש תמיכה בלוקאלים הבאים:
- הקבוצה המלאה של הלוקאלים שסופקו על ידי ICU.
- קבוצה מוגבלת של לוקאלים שסופקו על ידי
libc:C.UTF-8en_US.utf8
אם מסד הנתונים שאתם רוצים לייבא ל-AlloyDB מוגדר כברירת מחדל ללוקאל libc שונה משני הלוקאלים שרשומים כאן, עדיין תוכלו לייבא את הנתונים, אבל ברירת המחדל הזו לא תועבר. כדי לוודא ששאילתות SQL שמשתמשות ב-ORDER BY ממיינות את התוצאות שלהן כמו שצריך, יכול להיות שתצטרכו לבצע שלבים נוספים אחרי ייבוא הנתונים.
Google ממליצה לאפשר למסד הנתונים החדש להשתמש בלוקאל שמוגדר כברירת מחדל ב-AlloyDB: C.UTF-8, שסופק על ידי libc. לאחר מכן, משייכים איסופים לכל עמודה שהשאילתות של האפליקציה עשויות לכלול בסעיפי ORDER BY, ונותנים שם לאיסוף מתאים שמבוסס על ICU לכל אחד מהם. אפשר לעשות את זה באמצעות שאילתות DDL ב-ALTER TABLE, כמו:
ALTER TABLE TABLE_NAME
ALTER COLUMN COLUMN_NAME
SET DATA TYPE COLUMN_DATA_TYPE
COLLATE "COLLATION_NAME";
מחליפים את מה שכתוב בשדות הבאים:
-
TABLE_NAME: שם הטבלה שמכילה את העמודה. -
COLUMN_NAME: שם העמודה שרוצים לעדכן. -
COLUMN_DATA_TYPE: סוג הנתונים של העמודה. -
COLLATION_NAME: השם של ההשוואה מבוססת ה-ICU שרוצים להחיל.
באשכול חדש של AlloyDB מוגדרים מאות איסופים שמבוססים על לוקאלים שסופקו על ידי ICU, ואפשר להוסיף עוד באמצעות המתקן CREATE COLLATION של PostgreSQL. כדי לראות את הרשימה המלאה של שמות ההשוואות שמבוססות על ICU ומוגדרות באשכול AlloyDB, מריצים את השאילתה הבאה בכל אחד מהמכונות שלו:
SELECT collname FROM pg_collation WHERE collprovider = 'i';
בנוסף לאיסופים שמבוססים על ICU, AlloyDB תומך באיסוף המובנה של PostgreSQL שנקרא ucs_basic. ההשוואה הזו משתמשת בסדר הסטנדרטי של מיקומי התווים (code points) ב-Unicode כדי לאפשר מיון יעיל במיוחד. Google ממליצה להשתמש בזה עם עמודות שסדר המיון המתאים שלהן תואם לזה של רשימת מיקומי התווים (code point) של Unicode.
ייצוא נתונים
אתם יכולים להשתמש בכלי שורת הפקודה כדי לייצא את הנתונים של AlloyDB לקבצים שמאוחסנים בקטגוריה של Cloud Storage, במגוון פורמטים:
CSV, ייצוא של טבלה אחת לכל קובץ, באמצעות
psql.DMP, באמצעות
pg_dumpכדי ליצור ארכיון בינארי נייד של כל מסד הנתונים.SQL, באמצעות
pg_dumpכדי ליצור רשימה של הצהרות DDL והצהרות SQL לשחזור מסד הנתונים.