כדי להעביר עדכונים בסטרימינג של סימון נתונים שהשתנו (CDC) ממסד נתונים של Amazon Aurora PostgreSQL ל-BigQuery, ל-Cloud Storage או ליעד נתמך אחר, צריך לבצע רפליקציה לוגית באשכול המקור. כדי להכין את מסד הנתונים ל-Datastream, צריך להגדיר קבוצת פרמטרים של אשכול, ליצור פרסום ומשבצת רפליקציה ולהגדיר משתמש Datastream.
לפני שמתחילים, ודאו שיש לכם אשכול קיים של Amazon Aurora ושאתם מחוברים לנקודת הקצה של הכותב בשרת מסד הנתונים הראשי.
יצירת קבוצת פרמטרים
- מפעילים את מרכז השליטה של Amazon RDS.
- בחלונית הזזה לניווט, לוחצים על קבוצות פרמטרים ואז על יצירת קבוצת פרמטרים. מופיע הדף Create Parameter Group.
- ממלאים את השדות בדף לפי הטבלה הבאה ולוחצים על Create:
שדה תיאור משפחת קבוצות הפרמטרים בוחרים את המשפחה שמתאימה למסד הנתונים. סוג בוחרים באפשרות DB Cluster Parameter Group. שם הקבוצה נותנים שם לקבוצת הפרמטרים. תיאור מוסיפים תיאור לקבוצת הפרמטרים. - מסמנים את תיבת הסימון שמימין לקבוצת הפרמטרים החדשה שיצרתם, ואז בקטע פעולות בקבוצת פרמטרים לוחצים על עריכה.
- משנים את הערך של הפרמטר
rds.logical_replicationל-1. - לוחצים על שמירת השינויים.
הקצאת קבוצת הפרמטרים למופע של מסד הנתונים
- מפעילים את מרכז הבקרה של Amazon RDS.
- בחלונית ההזזה לניווט, לוחצים על Databases ובוחרים את המכונה של מסד הנתונים.
- בתפריט פעולות על המופע, בוחרים באפשרות שינוי. מופיעה תיבת הדו-שיח Modify DB Instance.
- בקטע Additional configuration (הגדרה נוספת), בוחרים את קבוצת הפרמטרים של אשכול מסד הנתונים שיצרתם.
- מגדירים את תקופת השמירה של הגיבוי ל-7 ימים.
- לוחצים על Continue.
- בחלונית Scheduling of modifications, בוחרים באפשרות Apply immediately.
הפעלה מחדש של מופע מסד הנתונים
- מפעילים את מרכז השליטה של Amazon RDS.
- בחלונית ההזזה לניווט, לוחצים על Databases ובוחרים את המכונה של מסד הנתונים.
- בתפריט הנפתח פעולות, בוחרים באפשרות הפעלה מחדש ואז באפשרות אישור.
יצירה של פרסום ושל משבצת שכפול
יוצרים פרסום לשינויים בטבלאות שרוצים לשכפל. מומלץ ליצור פרסום רק לטבלאות שרוצים לשכפל. כך Datastream יוכל לקרוא רק את הנתונים הרלוונטיים, והעומס על מסד הנתונים ועל Datastream יפחת:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
מחליפים את מה שכתוב בשדות הבאים:
- PUBLICATION_NAME: שם אתר החדשות. תצטרכו לספק את השם הזה כשתיצרו מקור נתונים באשף ליצירת מקור נתונים של Datastream.
- SCHEMA: השם של הסכימה שמכילה את הטבלה.
- TABLE: שם הטבלה שרוצים לשכפל.
אפשר גם ליצור פרסום לכל הטבלאות במסד הנתונים. הערה: הגישה הזו מגדילה את העומס גם על מסד הנתונים של המקור וגם על Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
יוצרים משבצת רפליקציה באמצעות הפקודה הבאה ב-PostgreSQL:
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');מחליפים את מה שכתוב בשדות הבאים:
- REPLICATION_SLOT_NAME: השם של מיקום הרפליקציה. תצטרכו לספק את השם הזה כשתיצרו מקור נתונים באשף ליצירת מקור נתונים של Datastream.
יצירת משתמש ב-Datastream
כדי ליצור משתמש ב-Datastream, מזינים את הפקודה הבאה ב-PostgreSQL:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: השם של משתמש Datastream שרוצים ליצור.
- USER_PASSWORD: הסיסמה למשתמש Datastream שרוצים ליצור.
נותנים למשתמש שיצרתם את ההרשאות הבאות:
GRANT RDS_REPLICATION TO USER_NAME; GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
מחליפים את מה שכתוב בשדות הבאים:
- SCHEMA_NAME: שם הסכימה שרוצים לתת לה את ההרשאות.
- USER_NAME: המשתמש שרוצים להעניק לו את ההרשאות.