منصة البيانات · النسخ المتماثل لـ PostgreSQL

النسخ المتماثل لقاعدة PostgreSQL: الخيارات المدمجة وحدودها ومتى تفيد أداة CDC

يُبقي النسخ المتماثل لقاعدة PostgreSQL نسخةً ثانية من بياناتكم محدّثة كلما تغيرت الأولى. ويأتي PostgreSQL بطريقتين مدمجتين: النسخ المتدفق (streaming replication) لخادم احتياطي يتولى العمل عند التعطل، والنسخ المنطقي (logical replication) لجداول مختارة. والطريقتان سليمتان، ولكلٍّ منهما حدود لا تظهر إلا في بيئة الإنتاج. وتصمم إنتركي النسخ المتماثل لقواعد PostgreSQL من الرياض، وتستخدم iblync، منصتها للنسخ المتماثل، حيث تتوقف الخيارات المدمجة.

النسخ المتماثل لقاعدة PostgreSQL في لمحة

أهم ما يلزم معرفته عن النسخ المتماثل لقاعدة PostgreSQL مع إنتركي
السؤالالإجابة المختصرة
الغرض منهالتوافر العالي، ونسخ للقراءة والتقارير، ونسخ للتعافي من الكوارث، ونقل البيانات أثناء الترحيل
الخيارات المدمجةالنسخ المتدفق (الفيزيائي) للعنقود كاملًا، والنسخ المنطقي لجداول مختارة
أين يتوقف النسخ المنطقيتغييرات الهيكل، والتسلسلات، والجداول بلا مفتاح، والأهداف غير PostgreSQL، والخانات التي تحتجز سجل الكتابة المسبقة
متى تفيد أداة خارجيةهدف ليس PostgreSQL، أو مطابقة الأعمدة وتصفيتها، أو تقييد المعدل، أو الطابور، أو المزامنة في الاتجاهين، أو التحقق
أين يعمليمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة
التسعيرلكل مشروع بعد التقييم، وiblync بعرض سعر بحسب نظام المصدر ونظام الهدف وحجم البيانات

وللإدارة العليا: أغلب بيئات PostgreSQL لا تحتاج إلى أكثر من النسخ المدمج إذا شُغّل وروقب كما ينبغي. ويبيّن التقييم أي الأجزاء تحتاج إلى غيره ولماذا.

ما الذي يجب أن يغطيه النسخ المتماثل لـ PostgreSQL

قبل اختيار الطريقة، اكتبوا الغرض من النسخة. فهذا الجواب يغيّر التصميم أكثر من أي إعداد.

اقرأ المزيد
  • التوافر العالي. خادم احتياطي يتولى العمل حين يتعطل الخادم الرئيسي، مع حدّ معروف للبيانات التي قد تُفقد ووقت معروف للتحويل.
  • نسخ للقراءة. نقل التقارير والتحليلات بعيدًا عن الخادم الرئيسي، مع قبول قدر من التأخر.
  • التعافي من الكوارث. نسخة في موقع ثانٍ. والنسخ المتماثل ينقل الحذف الخاطئ إلى النسخة بسرعة نقل التغيير الصحيح نفسها، فلا يغني عن النسخ الاحتياطية، وبقية الصورة في صفحة التعافي من الكوارث.
  • تغذية نظام آخر. إرسال جداول مختارة إلى مستودع بيانات أو فهرس بحث أو محرك قواعد بيانات مختلف.
  • الترحيل. خادم جديد أو إصدار رئيسي جديد أو منصة جديدة تبقى على اتفاق مع القديمة حتى التحويل، كما في صفحة الترحيل إلى PostgreSQL.

النسخ المتدفق أم المنطقي أم أداة CDC خارجية

ثلاث طرق للنسخ المتماثل لقاعدة PostgreSQL في مقارنة
النقطةالنسخ المتدفقالنسخ المنطقيأداة CDC خارجية مثل iblync
ما الذي يُنسخالعنقود كاملًا، كتلةً بكتلةجداول مختارة، على هيئة تغييرات في الصفوفجداول مختارة، على هيئة تغييرات في الصفوف، مع مطابقة الأعمدة
الهدفPostgreSQL بالإصدار الرئيسي نفسهPostgreSQLPostgreSQL أو محرك آخر في قائمة موصلات الأداة
هل يقبل الهدف الكتابةلا، للقراءة فقط حتى يُرقّىنعمنعم، ومزامنة في الاتجاهين حيث يُتفق عليها
تغييرات الهيكلتُنسخ تلقائيًالا تُنسخ، وتُطبَّق يدويًا على الطرفينتُعالج بقواعد المطابقة في الأداة، ويُتفق عليها لكل مشروع
أنسب استخدامالتوافر العالي وخادم احتياطي للتحويل عند التعطلنسخ التقارير وتجميع القواعد وترقية الإصداراتمحركات مختلفة، وتحويل البيانات، وجسر أثناء الترحيل
أهم ما يُراقبالتأخر، وإدارة التحويل عند التعطل، وحمل الخادم الاحتياطي نفسهخانات تحتجز سجل الكتابة المسبقة، وتعارضات توقف التطبيقالتأخر، والطوابير، وفحوص التحقق المتفق عليها

هذه الأعمدة لا يلغي بعضها بعضًا: كثير من البيئات تشغّل النسخ المتدفق للتوافر، وتغذية منطقية أو خارجية للتقارير، في الوقت نفسه.

النسخ المتدفق والتوافر العالي لـ PostgreSQL

يرسل النسخ المتدفق سجل الكتابة المسبقة (WAL) من الخادم الرئيسي إلى خادم احتياطي أو أكثر، فيعيد كلٌّ منها تطبيقه. والخادم الاحتياطي نسخة مطابقة للعنقود كاملًا، ويستطيع أن يجيب عن استعلامات القراءة. وهذا هو الأساس المعتاد للتوافر العالي في PostgreSQL.

والقرارات المهمة قليلة. النسخ غير المتزامن يُبقي الخادم الرئيسي سريعًا، لكنه قد يفقد آخر المعاملات عند التحويل. أما النسخ المتزامن فينتظر تأكيد الخادم الاحتياطي، فيحمي تلك المعاملات ويضيف تأخيرًا إلى كل عملية تثبيت. ولا يقرر PostgreSQL وحده متى يحوّل العمل: بل يرقّي الخادمَ الاحتياطي مديرُ تحويلٍ عند التعطل، أو شخصٌ يتبع دليل تشغيل مكتوبًا، ثم تُنقل التطبيقات إليه. ومن غير هذه القطعة يبقى الخادم الاحتياطي نسخةً لا توافرًا.

اقرأ المزيد

ويتطلب النسخ المتدفق الإصدار الرئيسي نفسه على الطرفين، فلا يصلح لترقية الإصدار ولا للانتقال إلى محرك آخر. وقد تتعارض التقارير الطويلة على الخادم الاحتياطي مع التغييرات التي يعيد تطبيقها، والإعدادات التي تضبط ذلك توازن بين إلغاء الاستعلامات وتأخر إعادة التطبيق.

النسخ المنطقي في Postgres: ما الذي يفعله وأين يتوقف

ينشر النسخ المنطقي تغييرات الصفوف من جداول مختارة (publication) إلى قاعدة PostgreSQL أخرى مشتركة فيها (subscription). ويحتاج إلى ضبط wal_level على القيمة logical، وهذا يتطلب إعادة تشغيل. ويعمل بين إصدارات رئيسية مختلفة، وتبقى القاعدة المشتركة قابلة للكتابة، فيناسب نسخ التقارير وتجميع القواعد والترقيات. وحدوده معروفة، ويحسن حصرها قبل أن يكتشفها الإنتاج:

اقرأ المزيد
  • تغييرات الهيكل لا تُنسخ. العمود الجديد على قاعدة النشر لا يُضاف إلى القاعدة المشتركة، فيُطبَّق كل تغيير في الهيكل على الطرفين وبالترتيب الصحيح.
  • التسلسلات. بحسب الإصدار، لا تُنسخ قيم التسلسلات، فتُضبط يدويًا قبل أن تستقبل القاعدة المشتركة الكتابة.
  • المفاتيح. التحديث والحذف يحتاجان إلى مفتاح أساسي أو هوية نسخ (replica identity) معلنة لكل جدول، والجداول التي ليس لها ذلك تحتاج إلى قرار.
  • الخانات تحتجز السجل. تحتفظ خانة النسخ (replication slot) بسجل WAL حتى تؤكد القاعدة المشتركة استلامه. والقاعدة المشتركة التي تغيب عطلة أسبوع قد تملأ قرص الخادم الرئيسي، ما لم يُضبط حدّ ويُراقب.
  • التعارض يوقف التطبيق. إن خالف صف وارد قيدًا على القاعدة المشتركة توقف النسخ عند ذلك التغيير حتى يعالجه أحد.
  • التحويل عند التعطل. بحسب الإصدار، قد لا تنتقل الخانة المنطقية إلى الخادم الاحتياطي بعد ترقيته، فتحتاج القواعد المشتركة إلى خطة ليوم يتعطل فيه الخادم الرئيسي.
  • PostgreSQL فقط. النشر والاشتراك يربطان PostgreSQL بـ PostgreSQL. وتغذية محرك آخر تعني قراءة التغييرات عبر الفك المنطقي (logical decoding) بأداة منفصلة.

التقاط التغييرات من Postgres عبر iblync: متى تفيد أداة خارجية

التقاط تغييرات البيانات (CDC) يقرأ التغييرات التي تجريها قاعدة البيانات ويطبّقها في مكان آخر، وتقارن صفحة التقاط تغييرات البيانات بين طرق الالتقاط. وiblync منصة إنتركي لترحيل البيانات ونسخها، وPostgreSQL في قائمة موصلاتها المنشورة. وتفيد حيث تتوقف الخيارات المدمجة:

  • هدف مختلف. يمكن تطبيق التغييرات القادمة من PostgreSQL على محرك آخر في قائمة موصلات iblync، مع مطابقة للأنواع والأعمدة يُتفق عليها لكل مشروع.
  • تقييد المعدل والطابور. يُقيَّد معدل النسخ حتى يحتفظ الإنتاج بقدرته، وإن تعذّر الوصول إلى الهدف تنتظر التغييرات في طابور بدل أن تفشل، ثم تُطبَّق عند عودته.
  • المزامنة في الاتجاهين. يدعم iblync المزامنة ثنائية الاتجاه في مرحلة انتقالية يستقبل فيها نظامان الكتابة معًا، وتتناول صفحة المزامنة ثنائية الاتجاه قواعد التعارض التي يحتاجها ذلك.
  • الإثبات. يذكر موقع iblync أن التحقق يعتمد على المجاميع الاختبارية (checksums) وعدد الصفوف. ونتفق على شروط النجاح لبياناتكم قبل أن يعتمد أحد على النسخة.
اقرأ المزيد

وأين لا يناسب: iblync ليس مديرًا للتحويل عند التعطل، ولا يحل محل الخادم الاحتياطي المتدفق في التوافر العالي. وفي نسخة تقارير من PostgreSQL إلى PostgreSQL يكفي غالبًا النسخ المنطقي المدمج إذا أُحسن تشغيله. ويراجع التقييم إعدادات السجلات في المصدر، فهي التي تحدد طريقة قراءة التغييرات. والمزيد عن البث المستمر في صفحة النسخ المتماثل الفوري.

أين نرى النسخ المتماثل لـ PostgreSQL مستخدمًا

  • خادم احتياطي في قاعة بيانات ثانية، مع دليل ترقية مكتوب ومُتمرَّن عليه.
  • نسخة للتقارير يغذيها النسخ المنطقي، فلا تعود تقارير نهاية الشهر تبطئ التطبيق.
  • ترقية إصدار رئيسي يشترك فيها العنقود الجديد في القديم، فيستغرق التحويل دقائق بدل تفريغ طويل واستعادة.
  • تغذية منصة أخرى عبر CDC، مع مطابقة وتحقق، ويبقى PostgreSQL مرجع البيانات.

والبيئات التي تشغّل عدة محركات تطرح الأسئلة نفسها على كل محرك، وتتناول صفحتا النسخ المتماثل لـ MySQL والنسخ المتماثل لـ SQL Server هذين المصدرين.

كيف يسير مشروع النسخ المتماثل لـ PostgreSQL

  1. التقييم.

    الإصدارات، وتوزيع العناقيد، والجداول ومفاتيحها، ومعدل التغير في الذروة، وإعدادات WAL، والغرض من كل نسخة، والتأخر وفقد البيانات المقبولان، وإقامة البيانات. ونتيجته تصميم قد يكتفي بالنسخ المدمج وحده.

  2. التصميم.

    متدفق أو منطقي أو CDC أو مزيج منها، متزامن أو غير متزامن، وأين تعمل كل نسخة، وكيف يُعالج التحويل عند التعطل وتغييرات الهيكل.

  3. البناء والنسخة الأولى.

    إعداد الخوادم الاحتياطية أو النشر أو موصلات iblync، ثم النسخة الأولى دون أن يُحرم الإنتاج من موارده.

  4. المراقبة.

    قياس التأخر ونمو الخانات وعمق الطوابير وأخطاء التطبيق، مع تنبيهات تصل إلى شخص.

  5. التمرين.

    تمرين التحويل عند التعطل واستعادة الخانات وتغيير في الهيكل قبل التشغيل، ثم تحديث أدلة التشغيل.

  6. التسليم.

    إلى مديري قواعد البيانات لديكم مع أدلة التشغيل، أو دعم مستمر من إنتركي.

ما تقدمه إنتركي في السعودية

فريق واحد للتقييم والتصميم والبناء والمراقبة والتمارين، مع دعم من الرياض بالعربية والإنجليزية ومهندسين يتحدثون العربية. ويمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة، وهذا مهم إذا كانت البيانات شخصية أو خاضعة لجهة تنظيمية، ويُحسم مكان كل نسخة قبل أي نسخ. وإن كان تأخر النسخ مصدر قلق في بيئة تعمل الآن، فإن صفحة مراقبة PostgreSQL تشرح طريقة متابعته.

ما الذي يحدد الكلفة

يُسعَّر كل مشروع على حدة بعد التقييم. وأهم ما يحدد الكلفة: عدد العناقيد والنسخ، ومعدل التغير، وهل يجب أن تكون نسخة ما متزامنة، وعدد الجداول بلا مفاتيح، وكثرة تغييرات الهيكل، وهل الهدف محرك آخر، ونموذج النشر، ومن يشغّل النسخ بعد ذلك. ويُسعَّر iblync نفسه بعرض سعر بحسب نظام المصدر ونظام الهدف وحجم البيانات.

أسئلة شائعة

هل يكفي النسخ المنطقي المدمج في PostgreSQL، أم نحتاج إلى أداة نسخ منفصلة؟

في نسخة من PostgreSQL إلى PostgreSQL بهيكل مستقر يكفي غالبًا ما هو مدمج، إذا روقبت الخانات والتعارضات. وتستحق الأداة المنفصلة مكانها حين يكون الهدف محركًا آخر، أو تحتاج البيانات إلى مطابقة، أو يستقبل نظامان الكتابة معًا.

هل ينقل النسخ المنطقي في PostgreSQL تغييرات الهيكل وقيم التسلسلات إلى القاعدة المشتركة؟

تغييرات الهيكل لا، فيُطبَّق كل تغيير على الطرفين. وقيم التسلسلات، بحسب الإصدار، لا تُنسخ أيضًا، فتُضبط قبل أن تستقبل القاعدة المشتركة الكتابة.

أيهما يحقق التوافر العالي لقاعدة PostgreSQL: النسخ المتدفق أم المنطقي؟

النسخ المتدفق، مع مدير للتحويل عند التعطل أو دليل تشغيل مُتمرَّن عليه لترقية الخادم الاحتياطي. أما النسخ المنطقي فلجداول مختارة ونسخ تبقى قابلة للكتابة، لا للتحويل عند التعطل.

هل يمكن نسخ التغييرات من قاعدة PostgreSQL لدينا إلى محرك قواعد بيانات مختلف؟

نعم، عبر التقاط تغييرات البيانات. يذكر iblync قاعدة PostgreSQL ضمن موصلاته، ويطبّق التغييرات على المحركات الأخرى في قائمته، مع مطابقة وتحقق يُتفق عليهما لكل مشروع.

كيف يُسعَّر مشروع النسخ المتماثل لـ PostgreSQL في السعودية، وكم يستغرق؟

لكل مشروع بعد التقييم، ويُسعَّر iblync بحسب نظام المصدر ونظام الهدف وحجم البيانات. وتُقدَّم المدة مدىً تقريبيًا بعد التقييم، يحدده عدد النسخ ومعدل التغير وعمل الهيكل.

هل يمكن استضافة الخادم الاحتياطي وخوادم النسخ في مركز بيانات داخل المملكة؟

نعم. يمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة. ويُتفق قبل أول نسخة على مكان كل نسخة ومن يحق له الوصول إليها.

الخطوة التالية

راجعوا معنا تصميم النسخ المتماثل لـ PostgreSQL

أخبرونا بإصدارات PostgreSQL وعدد العناقيد، والغرض من كل نسخة، والمعدل التقريبي للتغير، وأي أهداف ليست PostgreSQL، وفقد البيانات ووقت التحويل اللذين تقبلونهما.

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو قارنوا الطرق الثلاث

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.