قراءة النسخ المتماثلة في قاعدة بيانات Azure لـ PostgreSQL - خادم مفرد

ينطبق على: قاعدة بيانات Azure لـ PostgreSQL - خادم واحد

هام

قاعدة بيانات Azure ل PostgreSQL - خادم واحد على مسار التقاعد. نوصي بشدة بالترقية إلى Azure Database for PostgreSQL - Flexible Server. لمزيد من المعلومات حول الترحيل إلى قاعدة بيانات Azure ل PostgreSQL - خادم مرن، راجع ما يحدث لقاعدة بيانات Azure لخادم PostgreSQL الفردي؟.

تسمح لك ميزة النسخ المتماثل للقراءة بنسخ البيانات من قاعدة بيانات Azure لخادم PostgreSQL إلى خادم للقراءة فقط. يتم تحديث النسخ المتماثلة بشكل غير متزامن مع تقنية النسخ المتماثل الفعلية الأصلية مشغل PostgreSQL. يمكنك إجراء نسخ متماثل من الخادم الأساسي إلى النسخ المتماثلة الخمسة.

تعتبر النسخ المتماثلة خوادم جديدة يتم إدارتها بشكل مشابه لقاعدة بيانات Azure العادية الخاصة بخوادم PostgreSQL. لكل نسخة متماثلة للقراءة، تُحاسب على الحوسبة المتوفرة في وحدات vCore والتخزين بالجيجابايت/شهر.

تعرف على كيفية إنشاء النسخ المتماثلة وإدارتها.

متى تستخدم نسخة متماثلة للقراءة

تساعد ميزة النسخ المتماثل للقراءة على تحسين أداء وحجم أحمال العمل التي تتطلب القراءة بشكل مكثف. يمكن عزل أحمال العمل للقراءة إلى النسخ المتماثلة، بينما يمكن توجيه أحمال العمل للكتابة إلى أحمال العمل الأساسية. يمكن أيضا نشر النسخ المتماثلة للقراءة على منطقة مختلفة ويمكن ترقيتها لتكون خادم قراءة/كتابة في حالة حدوث استرداد بعد عطل فادح.

يتمثّل السيناريو الشائع في جعل أحمال عمل ذكاء الأعمال وأحمال العمل التحليلية تستخدم نسخة متماثلة للقراءة كمصدر بيانات لإعداد التقارير.

لأن النسخ المتماثلة للقراءة فقط، فإنها لا تقلل بشكل مباشر من أعباء سعة الكتابة على الأساسي.

الاعتبارات

الميزة مخصصة للسيناريوهات حيث يكون التأخير مقبولا ومقصدا التفريغ الاستعلامات. ليس المقصود لسيناريوهات النسخ المتماثل متزامن حيث من المتوقع أن تكون بيانات النسخة المتماثلة محدثة. سيكون هناك تأخير قابل للقياس بين النسخة الأساسية والنسخة المتماثلة. يمكن أن يكون هذا في دقائق أو حتى ساعات اعتمادا على حمل العمل وزمن الانتقال بين النسخة المتماثلة والابتدائية. تصبح البيانات الموجودة على النسخة المتماثلة متسقة في النهاية مع البيانات الموجودة على الأساسي. استخدم هذه الميزة لأحمال العمل التي يمكنها استيعاب هذا التأخير.

إشعار

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

إشعار

يتم إجراء النسخ الاحتياطي التلقائية لخوادم النسخ المتماثلة التي تم تكوينها مع تكوين تخزين يصل إلى 4 تيرابايت.

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

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

إشعار

تدعم خوادم المستوى الأساسي النسخ المتماثل في نفس المنطقة فقط.

يمكن أن يكون لديك خادم أساسي في أية قاعدة بيانات Azure لمنطقة PostgreSQL. يمكن أن يكون لدى الخادم الأساسي نسخة متماثلة في المنطقة المقترنة به أو مناطق النسخ المتماثلة العالمية. توضح الصورة أدناه المناطق المتماثلة المتوفرة وفقا للمنطقة الأساسية.

قراءة مناطق النسخ المتماثلة

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

يمكنك دائما إنشاء نسخة متماثلة للقراءة في أي من المناطق التالية بغض النظر عن مكان الخادم الأساسي. هذه هي مناطق النسخ المتماثلة العالمية:

أستراليا الشرق، أستراليا جنوب شرق، البرازيل جنوب، كندا الوسطى، كندا الشرق، وسط الولايات المتحدة، شرق آسيا، شرق الولايات المتحدة 2، اليابان الشرق، اليابان الغربية، كوريا الوسطى، كوريا الجنوبية، شمال وسط الولايات المتحدة، أوروبا الشمالية، جنوب وسط الولايات المتحدة، جنوب شرق آسيا، المملكة المتحدة الجنوبية، المملكة المتحدة الغربية، أوروبا الغربية، غرب الولايات المتحدة 2، غرب وسط الولايات المتحدة.

المناطق المقترنة

بالإضافة إلى مناطق النسخ المتماثلة العالمية، يمكنك إنشاء نسخة متماثلة للقراءة في المنطقة المقترنة أزور من الخادم الأساسي. إذا كنت لا تعرف منطقتك المُقترنة، يمكنك معرفة المزيد من مقالة المناطق المُقترنة في Azure.

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

هناك قيود يجب مراعاتها:

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

إنشاء نسخة متماثلة

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

تُمكّن كل نسخة متماثلة auto-grow للتخزين. تسمح ميزة النمو التلقائي للنسخة المتماثلة بمواكبة البيانات المنسوخة نسخا متماثلا إليها، ومنع حدوث انقطاع في النسخ المتماثل بسبب أخطاء التخزين.

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

تعرف على كيفية إنشاء نسخة متماثلة للقراءة في مدخل Microsoft Azure.

إذا تم تشفير خادم PostgreSQL المصدر باستخدام مفاتيح يديرها العميل، فيرجى مراجعة الوثائق لاعتبارات إضافية.

الاتصال بنسخة متماثلة

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

النسخة المتماثلة يرث حساب المسؤول من الخادم الأساسي. يتم نسخ كافة حسابات المستخدمين على الخادم الأساسي نسخا متماثلا إلى النسخ المتماثلة للقراءة. يمكنك الاتصال بنسخة متماثلة للقراءة فقط باستخدام حسابات المستخدمين المتوفرة على الخادم الأساسي.

يمكنك الاتصال بالنسخة المتماثلة باستخدام اسم المضيف الخاص به وحساب مستخدم صالح، كما تفعل على قاعدة بيانات Azure العادية لخادم PostgreSQL. لخادم اسمه my replica مع اسم المستخدم المسؤول myadmin، يمكنك الاتصال بالنسخة المتماثلة باستخدام psql:

psql -h myreplica.postgres.database.azure.com -U myadmin@myreplica -d postgres

أدخل كلمة المرور لحساب المستخدم عند مطالبتك بها.

مراقبة النسخ المتماثل

توفر قاعدة بيانات Azure لـ PostgreSQL مقياسين لمراقبة النسخ المتماثل. المقياسان هما Max Lag Across Replicas وReplica Lag. لمعرفة كيفية عرض هذه المقاييس، راجع المقطع مراقبة نسخة متماثلة من مقالة كيفية قراءة النسخة المتماثلة.

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

يظهر مقياس "تأخر النسخ المتماثلة" الوقت منذ آخر حركة معاد تشغيلها. إذا لم تكن هناك معاملات تحدث على الخادم الأساسي، فإن المقياس يعكس هذا الفارق الزمني. هذا المقياس قابل للتطبيق ومتاح لخوادم النسخ المتماثلة فقط. يتم حساب تأخر النسخة المتماثلة من pg_stat_wal_receiver طريقة العرض:

SELECT EXTRACT (EPOCH FROM now() - pg_last_xact_replay_timestamp());

عيّن تنبيه لإعلامك عندما يصل تأخّر النسخ المتماثل إلى قيمة غير مقبولة لحمل العمل.

للحصول على رؤية إضافية الاستعلام الخادم الأساسي مباشرة للحصول على تأخر النسخ المتماثل بالبايت على كافة النسخ المتماثلة.

إشعار

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

إيقاف النسخ المتماثل / ترقية النسخة المتماثلة

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

إشعار

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

الاعتبارات

  • قبل إيقاف النسخ المتماثل على نسخة متماثلة للقراءة، تحقق من تأخر النسخ المتماثل للتأكد من أن النسخة المتماثلة تحتوي على كافة البيانات التي تحتاجها.
  • كما يحتوي النسخة المتماثلة للقراءة لتطبيق كافة السجلات المعلقة قبل أن يمكن إجراء خادم مستقل RTO يمكن أن تكون أعلى للكتابة أحمال العمل الثقيلة عند حدوث النسخ المتماثل إيقاف كما يمكن أن يكون هناك تأخير كبير على النسخة المتماثلة. يرجى الانتباه إلى هذا عند التخطيط للترويج لنسخة متماثلة.
  • لا يمكن إجراء خادم النسخة المتماثلة ترقيتها إلى نسخة متماثلة مرة أخرى.
  • إذا قمت بترقية نسخة متماثلة إلى الخادم الأساسي لا يمكنك تأسيس النسخ المتماثل مرة أخرى إلى الخادم الأساسي القديم. إذا كنت تريد العودة إلى المنطقة الأساسية القديمة، يمكنك إما تأسيس خادم نسخة متماثلة جديدة باسم جديد (أو) حذف الأساسي القديم وإنشاء نسخة متماثلة باستخدام الاسم الأساسي القديم.
  • إذا كان لديك عدة نسخ متماثلة للقراءة، وإذا قمت بترقية أحدها ليكون الخادم الأساسي الخاص بك، لا تزال خوادم النسخ المتماثلة الأخرى متصلة بالخدمة الأساسية القديمة. قد تضطر إلى إعادة إنشاء النسخ المتماثلة من الخادم الجديد، ترقية.

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

تعرف على كيفية إيقاف النسخ المتماثل إلى نسخة متماثلة.

تجاوز الفشل للنسخ المتماثل

في حالة فشل ملقم أساسي، لا يتم فشل تلقائيا إلى النسخة المتماثلة للقراءة.

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

تلميح

إذا قمت بالفشل إلى النسخة المتماثلة، فإن التأخير في الوقت الذي تقوم فيه بإلغاء ربط النسخة المتماثلة من النسخة الأساسية سيشير إلى مقدار البيانات المفقودة.

بمجرد أن تقرر أنك تريد تجاوز الفشل إلى نسخة متماثلة،

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

  2. وجّه التطبيق إلى النسخة المتماثلة (السابقة)
    يحتوي كل خادم على سلسلة اتصال فريدة. تحديث سلسلة اتصال التطبيق للإشارة إلى النسخة المتماثلة (السابقة) بدلا من الأساسي.

بمجرد أن يتم بنجاح معالجة التطبيق الخاص بك القراءات والكتابة، إكمال تجاوز الفشل. سيعتمد مقدار وقت التعطل الذي ستختبره في التطبيق على وقت اكتشاف مشكلة ما وإكمال الخطوتين 1 و2 المذكورتين أعلاه.

التعافي من الكوارث

عند حدوث حدث كارثة رئيسية مثل فشل منطقة توفر أو الإقليمية، يمكنك تنفيذ عملية استرداد بعد عطل فادح عن طريق ترقية النسخة المتماثلة للقراءة. من مدخل واجهة المستخدم، يمكنك الانتقال إلى خادم النسخة المتماثلة للقراءة. ثم حدد علامة التبويب النسخ المتماثل ثم يمكنك إيقاف النسخة المتماثلة لترقيتها إلى خادم مستقل. بدلا من ذلك، يمكنك استخدام Azure CLI لإيقاف وترقية خادم النسخ المتماثلة.

الاعتبارات

يلخص هذا القسم اعتبارات حول ميزة النسخ المتماثلة للقراءة.

المتطلبات الأساسية

قراءة النسخ المتماثلة وفك شفرة منطقية تعتمد على سجل الكتابة مسبقا Postgres (WAL) للحصول على معلومات. تحتاج هاتان الميزتان إلى مستويات مختلفة من التسجيل من Postgres. يحتاج فك التشفير المنطقي إلى مستوى تسجيل أعلى من قراءة النسخ المتماثلة.

لتكوين المستوى المناسب من التسجيل، استخدم معلمة دعم النسخ المتماثل من Azure. يحتوي دعم النسخ المتماثل لـ Azure على ثلاثة خيارات إعداد:

  • إيقاف - يلحق أقل المعلومات في WAL. هذا الإعداد غير متوفر على معظم قاعدة بيانات Azure لخوادم PostgreSQL.
  • النسخة المتماثلة - مطول أكثر من إيقاف التشغيل. هذا هو الحد الأدنى من مستوى التسجيل المطلوب لتشغيلالنسخ المتماثلة للقراءة. هذا الإعداد هو الإعداد الافتراضي على معظم الخوادم.
  • منطقي - مطول أكثر من النسخة المتماثلة. هذا هو الحد الأدنى من مستوى التسجيل لفك التشفير المنطقي. تعمل قراءة النسخ المتماثلة أيضاً في هذا الإعداد.

النُسخ المتماثلة الجديدة

يتم إنشاء نسخة متماثلة للقراءة كقاعدة بيانات Azure جديدة لخادم PostgreSQL. لا يمكن تحويل خادم موجود إلى نسخة متماثلة. لا يمكنك إنشاء نسخة متماثلة من نسخة متماثلة أخرى للقراءة.

تكوين نسخة متماثلة

يتم إنشاء نسخة متماثلة باستخدام نفس إعدادات الحوسبة والتخزين كإعدادات أساسية. بعد إنشاء نسخة متماثلة، يمكن تغيير إعدادات متعددة بما في ذلك فترة التخزين والاحتفاظ بالنسخ الاحتياطية.

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

تغير الحجم

تحجيم vCores أو بين الغرض العام و الذاكرة الأمثل:

  • يتطلب PostgreSQL الإعداد max_connections على ملقم ثانوي أن يكون أكبر من أو يساوي الإعداد على الأساسي، وإلا لن يبدأ تشغيل الثانوي.
  • في قاعدة بيانات Azure ل PostgreSQL، يتم إصلاح الحد الأقصى المسموح به للاتصالات لكل خادم إلى حساب sku نظرا لأن الاتصالات تشغل الذاكرة. يمكنك معرفة المزيد عن تعيين بين max_connections وحساب skus.
  • توسيع نطاق: أولا توسيع حساب النسخة متماثلة، ثم توسيع نطاق الأساسي. سيمنع هذا الأمر الأخطاء من انتهاك المطلب max_connections.
  • التحجيم: قم أولا بتقليص حساب الأساسي، ثم قم بتقليص النسخة المتماثلة. إذا حاولت تغيير حجم النسخة المتماثلة أقل من الأساسي، سيكون هناك خطأ لأن هذا ينتهك المطلب max_connections.

تخزين التحجيم:

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

الطبقة الأساسية

تدعم خوادم المستوى الأساسي النسخ المتماثل في نفس المنطقة فقط.

max_prepared_transactions

يتطلب PostgreSQL أن تكون قيمة المعلمة max_prepared_transactions الموجودة في النسخة المتماثلة للقراءة أكبر من القيمة الأساسية أو مساوية لها؛ وإلا، فلن تبدأ النسخة المتماثلة. إذا كنت تريد تغيير max_prepared_transactions على الأساسي، فقم أولا بتغييره على النسخ المتماثلة.

النُسخ المتماثلة المتوقفة

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

الخوادم الأساسية المستقلة المحذوفة

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

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