منصة البيانات · النسخ المتماثل لـ PostgreSQL
النسخ المتماثل لقاعدة PostgreSQL: الخيارات المدمجة وحدودها ومتى تفيد أداة CDC
يُبقي النسخ المتماثل لقاعدة PostgreSQL نسخةً ثانية من بياناتكم محدّثة كلما تغيرت الأولى. ويأتي PostgreSQL بطريقتين مدمجتين: النسخ المتدفق (streaming replication) لخادم احتياطي يتولى العمل عند التعطل، والنسخ المنطقي (logical replication) لجداول مختارة. والطريقتان سليمتان، ولكلٍّ منهما حدود لا تظهر إلا في بيئة الإنتاج. وتصمم إنتركي النسخ المتماثل لقواعد PostgreSQL من الرياض، وتستخدم iblync، منصتها للنسخ المتماثل، حيث تتوقف الخيارات المدمجة.
النسخ المتماثل لقاعدة PostgreSQL في لمحة
| السؤال | الإجابة المختصرة |
|---|---|
| الغرض منه | التوافر العالي، ونسخ للقراءة والتقارير، ونسخ للتعافي من الكوارث، ونقل البيانات أثناء الترحيل |
| الخيارات المدمجة | النسخ المتدفق (الفيزيائي) للعنقود كاملًا، والنسخ المنطقي لجداول مختارة |
| أين يتوقف النسخ المنطقي | تغييرات الهيكل، والتسلسلات، والجداول بلا مفتاح، والأهداف غير PostgreSQL، والخانات التي تحتجز سجل الكتابة المسبقة |
| متى تفيد أداة خارجية | هدف ليس PostgreSQL، أو مطابقة الأعمدة وتصفيتها، أو تقييد المعدل، أو الطابور، أو المزامنة في الاتجاهين، أو التحقق |
| أين يعمل | يمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة |
| التسعير | لكل مشروع بعد التقييم، وiblync بعرض سعر بحسب نظام المصدر ونظام الهدف وحجم البيانات |
وللإدارة العليا: أغلب بيئات PostgreSQL لا تحتاج إلى أكثر من النسخ المدمج إذا شُغّل وروقب كما ينبغي. ويبيّن التقييم أي الأجزاء تحتاج إلى غيره ولماذا.
ما الذي يجب أن يغطيه النسخ المتماثل لـ PostgreSQL
قبل اختيار الطريقة، اكتبوا الغرض من النسخة. فهذا الجواب يغيّر التصميم أكثر من أي إعداد.
اقرأ المزيد
- التوافر العالي. خادم احتياطي يتولى العمل حين يتعطل الخادم الرئيسي، مع حدّ معروف للبيانات التي قد تُفقد ووقت معروف للتحويل.
- نسخ للقراءة. نقل التقارير والتحليلات بعيدًا عن الخادم الرئيسي، مع قبول قدر من التأخر.
- التعافي من الكوارث. نسخة في موقع ثانٍ. والنسخ المتماثل ينقل الحذف الخاطئ إلى النسخة بسرعة نقل التغيير الصحيح نفسها، فلا يغني عن النسخ الاحتياطية، وبقية الصورة في صفحة التعافي من الكوارث.
- تغذية نظام آخر. إرسال جداول مختارة إلى مستودع بيانات أو فهرس بحث أو محرك قواعد بيانات مختلف.
- الترحيل. خادم جديد أو إصدار رئيسي جديد أو منصة جديدة تبقى على اتفاق مع القديمة حتى التحويل، كما في صفحة الترحيل إلى PostgreSQL.
روابط ذات صلةصفحة التعافي من الكوارثصفحة الترحيل إلى PostgreSQL
النسخ المتدفق أم المنطقي أم أداة CDC خارجية
| النقطة | النسخ المتدفق | النسخ المنطقي | أداة CDC خارجية مثل iblync |
|---|---|---|---|
| ما الذي يُنسخ | العنقود كاملًا، كتلةً بكتلة | جداول مختارة، على هيئة تغييرات في الصفوف | جداول مختارة، على هيئة تغييرات في الصفوف، مع مطابقة الأعمدة |
| الهدف | PostgreSQL بالإصدار الرئيسي نفسه | PostgreSQL | PostgreSQL أو محرك آخر في قائمة موصلات الأداة |
| هل يقبل الهدف الكتابة | لا، للقراءة فقط حتى يُرقّى | نعم | نعم، ومزامنة في الاتجاهين حيث يُتفق عليها |
| تغييرات الهيكل | تُنسخ تلقائيًا | لا تُنسخ، وتُطبَّق يدويًا على الطرفين | تُعالج بقواعد المطابقة في الأداة، ويُتفق عليها لكل مشروع |
| أنسب استخدام | التوافر العالي وخادم احتياطي للتحويل عند التعطل | نسخ التقارير وتجميع القواعد وترقية الإصدارات | محركات مختلفة، وتحويل البيانات، وجسر أثناء الترحيل |
| أهم ما يُراقب | التأخر، وإدارة التحويل عند التعطل، وحمل الخادم الاحتياطي نفسه | خانات تحتجز سجل الكتابة المسبقة، وتعارضات توقف التطبيق | التأخر، والطوابير، وفحوص التحقق المتفق عليها |
هذه الأعمدة لا يلغي بعضها بعضًا: كثير من البيئات تشغّل النسخ المتدفق للتوافر، وتغذية منطقية أو خارجية للتقارير، في الوقت نفسه.
النسخ المتدفق والتوافر العالي لـ 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 يكفي غالبًا النسخ المنطقي المدمج إذا أُحسن تشغيله. ويراجع التقييم إعدادات السجلات في المصدر، فهي التي تحدد طريقة قراءة التغييرات. والمزيد عن البث المستمر في صفحة النسخ المتماثل الفوري.
روابط ذات صلةصفحة التقاط تغييرات البياناتiblyncصفحة المزامنة ثنائية الاتجاهصفحة النسخ المتماثل الفوري
أين نرى النسخ المتماثل لـ PostgreSQL مستخدمًا
- خادم احتياطي في قاعة بيانات ثانية، مع دليل ترقية مكتوب ومُتمرَّن عليه.
- نسخة للتقارير يغذيها النسخ المنطقي، فلا تعود تقارير نهاية الشهر تبطئ التطبيق.
- ترقية إصدار رئيسي يشترك فيها العنقود الجديد في القديم، فيستغرق التحويل دقائق بدل تفريغ طويل واستعادة.
- تغذية منصة أخرى عبر CDC، مع مطابقة وتحقق، ويبقى PostgreSQL مرجع البيانات.
والبيئات التي تشغّل عدة محركات تطرح الأسئلة نفسها على كل محرك، وتتناول صفحتا النسخ المتماثل لـ MySQL والنسخ المتماثل لـ SQL Server هذين المصدرين.
روابط ذات صلةالنسخ المتماثل لـ MySQLالنسخ المتماثل لـ SQL Server
كيف يسير مشروع النسخ المتماثل لـ PostgreSQL
-
التقييم.
الإصدارات، وتوزيع العناقيد، والجداول ومفاتيحها، ومعدل التغير في الذروة، وإعدادات WAL، والغرض من كل نسخة، والتأخر وفقد البيانات المقبولان، وإقامة البيانات. ونتيجته تصميم قد يكتفي بالنسخ المدمج وحده.
-
التصميم.
متدفق أو منطقي أو CDC أو مزيج منها، متزامن أو غير متزامن، وأين تعمل كل نسخة، وكيف يُعالج التحويل عند التعطل وتغييرات الهيكل.
-
البناء والنسخة الأولى.
إعداد الخوادم الاحتياطية أو النشر أو موصلات iblync، ثم النسخة الأولى دون أن يُحرم الإنتاج من موارده.
-
المراقبة.
قياس التأخر ونمو الخانات وعمق الطوابير وأخطاء التطبيق، مع تنبيهات تصل إلى شخص.
-
التمرين.
تمرين التحويل عند التعطل واستعادة الخانات وتغيير في الهيكل قبل التشغيل، ثم تحديث أدلة التشغيل.
-
التسليم.
إلى مديري قواعد البيانات لديكم مع أدلة التشغيل، أو دعم مستمر من إنتركي.
ما تقدمه إنتركي في السعودية
فريق واحد للتقييم والتصميم والبناء والمراقبة والتمارين، مع دعم من الرياض بالعربية والإنجليزية ومهندسين يتحدثون العربية. ويمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة، وهذا مهم إذا كانت البيانات شخصية أو خاضعة لجهة تنظيمية، ويُحسم مكان كل نسخة قبل أي نسخ. وإن كان تأخر النسخ مصدر قلق في بيئة تعمل الآن، فإن صفحة مراقبة PostgreSQL تشرح طريقة متابعته.
روابط ذات صلةصفحة مراقبة PostgreSQL
ما الذي يحدد الكلفة
يُسعَّر كل مشروع على حدة بعد التقييم. وأهم ما يحدد الكلفة: عدد العناقيد والنسخ، ومعدل التغير، وهل يجب أن تكون نسخة ما متزامنة، وعدد الجداول بلا مفاتيح، وكثرة تغييرات الهيكل، وهل الهدف محرك آخر، ونموذج النشر، ومن يشغّل النسخ بعد ذلك. ويُسعَّر iblync نفسه بعرض سعر بحسب نظام المصدر ونظام الهدف وحجم البيانات.
أسئلة شائعة
هل يكفي النسخ المنطقي المدمج في PostgreSQL، أم نحتاج إلى أداة نسخ منفصلة؟
في نسخة من PostgreSQL إلى PostgreSQL بهيكل مستقر يكفي غالبًا ما هو مدمج، إذا روقبت الخانات والتعارضات. وتستحق الأداة المنفصلة مكانها حين يكون الهدف محركًا آخر، أو تحتاج البيانات إلى مطابقة، أو يستقبل نظامان الكتابة معًا.
هل ينقل النسخ المنطقي في PostgreSQL تغييرات الهيكل وقيم التسلسلات إلى القاعدة المشتركة؟
تغييرات الهيكل لا، فيُطبَّق كل تغيير على الطرفين. وقيم التسلسلات، بحسب الإصدار، لا تُنسخ أيضًا، فتُضبط قبل أن تستقبل القاعدة المشتركة الكتابة.
أيهما يحقق التوافر العالي لقاعدة PostgreSQL: النسخ المتدفق أم المنطقي؟
النسخ المتدفق، مع مدير للتحويل عند التعطل أو دليل تشغيل مُتمرَّن عليه لترقية الخادم الاحتياطي. أما النسخ المنطقي فلجداول مختارة ونسخ تبقى قابلة للكتابة، لا للتحويل عند التعطل.
هل يمكن نسخ التغييرات من قاعدة PostgreSQL لدينا إلى محرك قواعد بيانات مختلف؟
نعم، عبر التقاط تغييرات البيانات. يذكر iblync قاعدة PostgreSQL ضمن موصلاته، ويطبّق التغييرات على المحركات الأخرى في قائمته، مع مطابقة وتحقق يُتفق عليهما لكل مشروع.
كيف يُسعَّر مشروع النسخ المتماثل لـ PostgreSQL في السعودية، وكم يستغرق؟
لكل مشروع بعد التقييم، ويُسعَّر iblync بحسب نظام المصدر ونظام الهدف وحجم البيانات. وتُقدَّم المدة مدىً تقريبيًا بعد التقييم، يحدده عدد النسخ ومعدل التغير وعمل الهيكل.
هل يمكن استضافة الخادم الاحتياطي وخوادم النسخ في مركز بيانات داخل المملكة؟
نعم. يمكن تشغيل الخادم الاحتياطي والنسخة وأدوات النسخ على بنية داخل المملكة. ويُتفق قبل أول نسخة على مكان كل نسخة ومن يحق له الوصول إليها.
التالي
صفحات ذات صلة
الخطوة التالية
راجعوا معنا تصميم النسخ المتماثل لـ PostgreSQL
أخبرونا بإصدارات PostgreSQL وعدد العناقيد، والغرض من كل نسخة، والمعدل التقريبي للتغير، وأي أهداف ليست PostgreSQL، وفقد البيانات ووقت التحويل اللذين تقبلونهما.
أو مباشرةً
+966-11-2180999 [email protected]أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية