שכפול לוגי

שכפול לוגי - התהליך של העתקה פקודות של אחד ממסדי הנתונים למשנה ולבצע אותם על מסדי הנתונים משוכפלים. גישה זו מאפשרת לנו לשכפל באופן סלקטיבי את החלקים הדרושים ממסדי נתונים.

שכפול לוגי הוא גמיש יותר ומספק יותר אפשרויות עבור ארכיטקטים ומפתחים של מסדי נתונים, אבל יש לו כמה חסרונות.

יתרונות:

  • היכולת לשכפל חלק מטבלאות של מסד הנתונים
  • היכולת לשכפל מסד נתונים
  • יכולת כתיבה לרפליקה
  • היכולת לשכפל גרסאות PostgreSQL שונות

חסרונות:

  • מהירות השכפול נמוכה מזו של streaming replication
  • התנגשויות בין הנתונים ב Master ו Slave
  • הצורך השרות לכל הרפליקות (VACUUM, ANALYZE)
  • ניתן לשכפל נתונים בלבד. פקודות DDL אינם נינתים לשכפול
  •  

שכפול לוגי של Postgres הוא יותר גרועה מ streaming replication. עד 9.4 שכפול לוגי PostgreSQL התבצע רק על ידי כלים חיצוניים, כגון Slony-I, Bucardo, Londiste. כל הפתרונות הללו בנויים על trigger replication, ויש להם מספר חסרונות. כלים אלה הפכו למיושנים והשימוש בהם הי רק בשל חוסר פתרונות יציבים פנימיים עבור שכפול לוגי. החל מ 9.4 הופיעה הרחבה pglogical. אך היא לא נכללה עדיין בליבה.מצפים להכנסתה בגרסה עיקרית הבאה.

אני מאמין ש pglogical בעתיד יהיה הכלי העיקרי עבור שכפול לוגי.

נמשיך עם pglogical בכתבה הבאה.