כדי להזרים עדכונים של לכידת נתוני שינוי (CDC) אל יעדים נתמכים, כמו BigQuery או Cloud Storage, אפשר לקשר מסד נתונים של Amazon RDS ל-PostgreSQL אל Datastream. כדי להכין את מופע המקור, צריך להפעיל את הפרמטר rds.logical_replication, ליצור פרסום ומשבצת שכפול ולהגדיר משתמש Datastream.
יצירת קבוצת פרמטרים
מפעילים את מרכז השליטה של Amazon RDS.
בחלונית ההזזה לניווט, לוחצים על קבוצות פרמטרים ואז על יצירת קבוצת פרמטרים. מופיע הדף Create Parameter Group.
בוחרים את משפחת מסדי הנתונים שתואמת למסד הנתונים שלכם, נותנים שם ותיאור לקבוצת הפרמטרים ולוחצים על Create.
מסמנים את התיבה שמימין לקבוצת הפרמטרים החדשה שיצרתם, ובקטע פעולות בקבוצת הפרמטרים לוחצים על עריכה.
מגדירים את הפרמטר הבא לקבוצה.
פרמטר ערך rds.logical_replication 1לוחצים על שמירת השינויים.
הגדרת מסד הנתונים של המקור
מפעילים את מרכז הבקרה של Amazon RDS.
בחלונית ההזזה לניווט, לוחצים על Databases.
בוחרים את המקור ולוחצים על שינוי.
עוברים לקטע הגדרות נוספות.
בוחרים את קבוצת הפרמטרים שיצרתם.
לוחצים על Continue.
בקטע Scheduling of modifications (תזמון שינויים), בוחרים באפשרות Apply immediately (החלה מיידית).
מוודאים שקבוצת הפרמטרים מוקצית למכונה של מסד הנתונים
מפעילים את מרכז השליטה של Amazon RDS.
בחלונית ההזזה לניווט, לוחצים על Databases ובוחרים את המכונה של מסד הנתונים.
לוחצים על הכרטיסייה Configurations.
מוודאים שרואים את קבוצת הפרמטרים שיצרתם, ושהסטטוס שלה הוא pending-reboot.
מפעילים מחדש את מופע מסד הנתונים כדי להשלים את ההגדרה. כדי להפעיל מחדש את המכונה:
- בחלונית ההזזה לניווט, לוחצים על Instances.
- בוחרים את המכונה של מסד הנתונים.
- בתפריט Instance Actions, בוחרים באפשרות Reboot.
יצירת פרסום ומשבצת רפליקציה
יוצרים אתר חדשות. מומלץ ליצור פרסום רק לטבלאות שרוצים לשכפל. כך 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;
מחליפים את מה שכתוב בשדות הבאים:
- USER_NAME: המשתמש שרוצים לתת לו את ההרשאות.
- SCHEMA_NAME: השם של הסכימה שרוצים לתת לה את ההרשאות.