0Pricing
SQL Academy · درس

النسخ المتماثل المنطقي للتقسيم

استخدم النسخ المتماثل المنطقي PUBLICATION/SUBSCRIPTION لنقل الجداول بين العناقيد ودعم الترقية بين الإصدارات الرئيسية

النسخ المتماثل المنطقي للتقسيم درس مجاني في SQL Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SQL Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SQL Academy 4 دروس في المجموع.

النسخ المتماثل المنطقي مقابل الفعلي

ينسخ الفعلي بايتات WAL، أي العنقود بالكامل وبالإصدار نفسه. أما المنطقي فينسخ الصفوف، أي جداول محددة، وربما عبر إصدارات مختلفة من PG:

  • الاشتراك في جداول محددة
  • النسخ من PG 14 إلى PG 16، للترقية مثلًا
  • اتصال ثنائي الاتجاه أو متعدد العقد الرئيسية، مع اتخاذ الحيطة
  • السماح بمخططات مختلفة

الإعداد: الناشر

عيّن الخادم الأساسي بوصفه ناشرًا:

-- postgresql.conf
wal_level = logical

-- Create a publication:
CREATE PUBLICATION pub_orders FOR TABLE orders, order_items;

-- Or all tables in the database:
CREATE PUBLICATION pub_all FOR ALL TABLES;

الإعداد: المشترك

في قاعدة البيانات المستهدفة:

CREATE SUBSCRIPTION sub_orders
  CONNECTION 'host=primary port=5432 user=repl dbname=mydb'
  PUBLICATION pub_orders;

المزامنة الأولية

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

حالة استخدام: الترقية إلى إصدار رئيسي جديد

يُعد النسخ المتماثل المنطقي الطريقة الحديثة لترقية Postgres مع الحد الأدنى من التوقف:

  1. أنشئ عنقود PG16
  2. نفّذ نسخًا متماثلًا منطقيًا من PG14 إلى PG16
  3. حوّل التطبيقات عندما يلحق PG16 بالمصدر
  4. أوقف PG14

حالة استخدام: تقسيم قاعدة بيانات

لتقسيم قاعدة بيانات ضخمة إلى قواعد أصغر:

  1. انشر الجداول التي تحتاج إليها الخدمة الجديدة فقط
  2. أنشئ اشتراكًا في قاعدة البيانات الجديدة
  3. انقل عمليات الكتابة بعد اكتمال اللحاق بالمصدر

حالة استخدام: نسخ متماثلة غير متجانسة

انسخ البيانات إلى نسخة متماثلة للقراءة تحتوي على فهارس مختلفة، أو إلى Postgres مخصص لمستودع بيانات مع أعمدة إضافية لإعداد التقارير.

التعارضات

لا يحل النسخ المتماثل المنطقي التعارضات تلقائيًا. فإذا حُدّث الصف نفسه على الجانبين، يتوقف المشترك مع ظهور خطأ. تجنب ذلك من خلال:

  • إجراء الكتابة على جانب واحد فقط
  • استخدام REPLICA IDENTITY FULL لتحسين التشخيص
  • حل التعارضات يدويًا ثم إعادة تشغيل الاشتراك

تغييرات المخطط

لا تُنسخ DDL. طبّق تغييرات المخطط يدويًا على الجانبين، وعادةً على المشترك أولًا ثم الناشر. أو استخدم الامتداد pglogical الذي يستطيع نسخ DDL.

النسخ المتماثل الجزئي

يسمح PG الحديث بمرشحات الصفوف وقوائم الأعمدة لكل منشور:

CREATE PUBLICATION us_only FOR TABLE customers
  WHERE (country = 'US');

CREATE PUBLICATION compact FOR TABLE users (id, email);

التقسيم إلى شظايا باستخدام النسخ المتماثل المنطقي

انقل المستأجرين إلى شظية مخصصة:

  1. أنشئ منشورًا في المصدر يرشح مستأجرًا واحدًا
  2. أنشئ اشتراكًا من الوجهة
  3. حوّل التطبيق إلى الشظية الجديدة
  4. احذف بيانات المستأجر من المصدر

الأداء والتأخر

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

مراجعة

يتيح النسخ المتماثل المنطقي بثًا على مستوى الصفوف.

  • عبر الإصدارات ومع الجداول الجزئية
  • ترقيات رئيسية مع الحد الأدنى من التوقف
  • حل التعارضات مسؤوليتك أنت
  • لا يُنسخ DDL

تحقق سريع

تحتاج إلى الترقية من PostgreSQL 14 إلى 16 مع الحد الأدنى من التوقف. أي نوع من النسخ المتماثل يساعدك؟

الأسئلة الشائعة

هل درس «النسخ المتماثل المنطقي للتقسيم» مجاني؟

نعم — نص درس «النسخ المتماثل المنطقي للتقسيم» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SQL Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SQL Academy 4 دروس في المجموع.

ماذا ستتعلم في «النسخ المتماثل المنطقي للتقسيم»؟

استخدم النسخ المتماثل المنطقي PUBLICATION/SUBSCRIPTION لنقل الجداول بين العناقيد ودعم الترقية بين الإصدارات الرئيسية تتمرن على SQL Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SQL Academy؟

لا تُشترط خبرة سابقة. SQL Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «النسخ المتماثل المنطقي للتقسيم»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SQL Academy هذا؟

نعم. كل درس في SQL Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. النسخ المتماثل المتدفق وWAL
  2. النسخ المتماثل المنطقي للتقسيم
  3. التجاوز التلقائي وانتخاب القائد (Patroni وStolon)
  4. النسخ المتماثلة للقراءة وتوجيه الاتصالات
← العودة إلى SQL Academy