Englishworlber.sa
علم المملكة العربية السعوديةشركة سعودية · الرياض

PostgreSQL

PostgreSQL في بيئة الإنتاج: ما يجب حسمه بعد نجاح نموذج المفهوم

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

٥ أكتوبر ٢٠٢٦ · 6 دقيقة قراءة

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

من يُستدعى إذا توقف الخادم الأساسي عن الاستجابة؟ هل قام أحد باستعادة نسخة احتياطية على خادم نظيف؟ ماذا يحدث عندما يطلب مطور نسخة من بيانات الإنتاج للاختبار؟ هل يمكنك إظهار المستخدم الذي قرأ صفًا محددًا في مارس الماضي؟

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

يتعامل PostgreSQL مع العديد من أحمال العمل المؤسسية بشكل جيد. حسم خمس قرارات قبل التحويل هو ما يجعل ذلك صحيحًا في الممارسة العملية.

1. كيفية فشل التجمع والتعافي

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

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

أربع نقاط تستحق الحسم:

  • مكان تشغيل طبقة الإجماع. ثلاثة عقد etcd على مضيفين منفصلين، وليس عقدتين.

  • ما تتصل به التطبيقات. نقطة نهاية عائمة أو مُجمِّع اتصالات، وليس عنوان IP لخادم مكتوباً في ملف الإعدادات.

  • هل تم اختبار تحويل الفشل خلال نافذة صيانة. الإعداد لا يعني الاختبار.

  • من هو في جدول المناوبات، وما هي الخطوات الثلاث الأولى في دليل التشغيل الخاص بهم.

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

2. ما إذا تم استعادة النسخة الاحتياطية من قبل

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

ينشر منصّة Worlber's Quick Deploy عناقيد PostgreSQL وتدعم النسخ الاحتياطي من خلال pgBackRest أو WAL-G أو pg_probackup، لذا يكون اختيار الأداة مألوفًا عادةً. ما هو أكثر أهمية هو الجدول الزمني المحيط بذلك: اختبار استعادة كامل مرة كل ربع سنة، في بيئة معزولة، مع تحديد الوقت وتوثيقه. الرقم الذي تريده ليس "اكتمل النسخ الاحتياطي" بل "استغرق الاستعادة هذا المدة، وإليك السجل".

الأهمية أيضًا للحالة. Quick Deploy هي منصة ذاتية الاستضافة برخصة دائمة لمرة واحدة، وتأتي مع وحدة تحكم ويب بالإضافة إلى REST API. لا يزال Worlber يصنفها على أنها قيد الإنجاز، لذا اطلب ملاحظات الإصدار الحالية قبل أن تخطط لنشر عليها.

3. البيانات الساكنة، والنسخة في بيئة الاختبار

يُصنَّف مشكلتان منفصلتان تحت العنوان نفسه.

الأول هو التشفير على القرص. PGEE، توزيع PostgreSQL التجاري من CYBERTEC، يأتي بتشفير البيانات الشفاف (Transparent Data Encryption)، والذي يغطي البيانات الساكنة، وقناة العميل والخادم، وحركة التكرار. إدارة المفاتيح هي الجزء الذي يجب التخطيط له: مدير مفاتيح خارجي بدلاً من ملف مفاتيح موجود على خادم قاعدة البيانات، وتدوير مفاتيح لا يتطلب توقف الخدمة.

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

تُطبّق PGEE الإخفاء على مستوى الأعمدة. تُربط دالة الإخفاء بعمود، فتخرج البيانات المُصدَّرة مُموّهة بينما تبقى البيانات في بيئة الإنتاج قابلة للقراءة. هناك حدّان يستحقان المعرفة قبل تصميم النظام بناءً على ذلك. لا تُقبل سوى الدوال غير المتغيّرة (immutable)، لذا لا يمكن أن تعتمد دالة الإخفاء على قيم متقلبة (volatile)، كما أن الإخفاء يُطبَّق على مسار التصدير وليس على جدول الإنتاج. يستخدم التكرار المنطقي المُموَّه خيار نشر (publication option)، بحيث يمكن أن تحمل النسخة المُكررة بيانات مُموّهة بينما يحتفظ الأصل بالقيم الحقيقية.

4. من يمكنه رؤية ماذا، وماذا يمكنك إثباته لاحقًا

التحكم في الوصول الذي يوجد فقط في التطبيق ليس تحكمًا في الوصول. يحتاج قاعدة البيانات إلى إجاباتها الخاصة على أربعة أسئلة:

  • أي دور (role) يمكنه قراءة أي جدول.

  • أي أحداث تُسجَّل، وأين توجد السجلات، وهل يمكن للمستخدم الخاص بقاعدة البيانات نفسه تعديلها.

  • ماذا يحدث بعد محاولات تسجيل الدخول الفاشلة المتكررة.

  • أي حسابات لا تزال تحتفظ بصلاحيات لم تعد بحاجة إليها.

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

pgwatch، أداة المراقبة مفتوحة المصدر التي تُديرها CYBERTEC، هي الجزء المكمّل: مقاييس ولوحات معلومات وتنبيهات على نفس قائمة النسخ.

5. الجرد الذي لا يملكه أحد

لا يمكنك ترقيع ما لا تستطيع إحصاؤه، أو تأمينه، أو تحديد حجمه، ومعظم بيئات PostgreSQL تتجاوز حجم جدول البيانات الذي بدأ به.

PG-Inventory هو أداة Worlber مفتوحة المصدر الخاصة بهذا الغرض، منشورة تحت رخصة MIT على GitHub، لذا لا يكلفك شيء تجربتها. تحتفظ بسجلات النسخ مع فئات التطوير، واختبار الجودة، والإنتاج، وبمعلومات اعتمادية مشفرة باستخدام AES-256-GCM، وإتاحة وصول مبنية على الأدوار مع المصادقة الثنائية TOTP، وتُجري فحصًا كل دقيقتين لتقرير الحالة، والإصدار، ونظام التشغيل، والمعالج، والذاكرة. تقرأ طوبولوجيا عناقيد Patroni من واجهة REST API الخاصة بـ Patroni، وتُصدّر إلى CSV أو Excel. يتم نشرها باستخدام Docker Compose.

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

أين تكسب التوزيعات المؤسسية مكانتها

يختلف PostgreSQL العادي عن PGEE في مجموعة محددة من الجوانب، ومن الجدير بالدقة في تحديد تلك الجوانب، لأن الفرق يحدد ما إذا كنت بحاجة إلى PGEE أم لا.

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

تستهدف أعمال المُحسِّن استعلامات التقارير. في حالة نموذجية، يجمع الاستعلام جدول حقائق كبير ثم يربط جدول بحث صغير للحصول على تسمية. يمكن لـ PGEE أن يجمع على المفتاح الرقمي أثناء المسح ويربط النتيجة الأصغر بكثير، بدلاً من تجميع المفاتيح النصية بعد الربط. تُبلّغ CYBERTEC عن مكاسب أداء من هذه الفئة من التحسينات، ومن الجدير بطلب منهجية الاختبار المرجعي قبل تكرار أي رقم داخلياً.

الدعم مُصنَّف، مع أوقات استجابة منشورة تبلغ ساعة واحدة في المستوى القياسي، و45 دقيقة في المستوى الاحترافي، و30 دقيقة في المستوى المؤسسي، الذي يعمل على مدار الساعة ويتضمن PGEE.

تُطوّر CYBERTEC تقنية PGEE. تشمل عروض Worlber منتجات وخدمات PostgreSQL من CYBERTEC، ويقوم فريقنا التقني بتثبيت هذه العناقيد ودعمها.

إذا كنت تنتقل أيضاً من Oracle أو SQL Server

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

لمجموعات أنظمة SQL Server، طبقة التوافق هي Babelfish، التي تتحدث بروتوكول TDS وترجم T-SQL، لذا تنتقل بعض التطبيقات دون تغييرات في الكود. الملاءمة ليست موحدة. بيئات التطوير والاختبار والاختبار النهائي، إلى جانب قواعد البيانات الصغيرة التي تستخدم القليل من T-SQL، هي الحالات القوية. منطق الإجراءات الثقيلة في T-SQL يقع في المنتصف. يجب أن تتوقع الأنظمة المعتمدة على ميزات MS SQL الخاصة ترحيلاً كاملاً بدلاً من اختصار. الطبقة غير متوافقة بالكامل، وخطة تفترض العكس ستُنتج مفاجآت في وقت متأخر من الجدول الزمني.

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

ما يُختزل إليه الأمر

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

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

أرسل لنا خطة الإنتاج

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

تحدث إلى Worlber

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

تحدث مع مهندسي Worlber

أرسل لنا بيئتك وهدفك. سنوضح لك ما يصلح، وما لا يصلح، والخطوة الآمنة التالية.

contactus@worlber.com

PostgreSQL في بيئة الإنتاج: ما يجب حسمه بعد نجاح نموذج المفهوم | Worlber Insights