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

مثال على سير العمل في التطوير

يكون سير العمل المعتاد للتطوير المحلي على النحو التالي: ينسجم Managed Postgres مع سير عمل تطوير PostgreSQL الحالية. ومن خلال التطوير باستخدام مثيل PostgreSQL محلي، يمكن للفرق إجراء التعديلات بسرعة، والحفاظ على بيئات قابلة لإعادة الإنشاء، واكتساب الثقة بأن التطبيقات ستعمل بشكل متسق عند نشرها على Managed Postgres.

شغّل PostgreSQL محليًا باستخدام Docker

أسهل طريقة لإنشاء بيئة تطوير محلية هي تشغيل PostgreSQL داخل Docker. اختر إصدار PostgreSQL الذي يطابق نشر Managed Postgres لديك:
docker-compose.yml
ابدأ تشغيل PostgreSQL:
تحقّق من إمكانية الاتصال:
في هذه المرحلة، يعمل PostgreSQL محليًا، لكنه لا يتضمن بعد مخطط التطبيق أو أي بيانات خاصة ببيئة التطوير.

تطبيق مخطط بيانات التطبيق

لا توجد طريقة موحّدة إلزامية لإنشاء المخطط في بيئة محلية. لدى معظم المؤسسات بالفعل سير عمل راسخ لإدارة المخطط يمكن إعادة استخدامه كما هو.

ترحيلات التطبيق

تستخدم فرق كثيرة إطار الترحيل نفسه الذي يعمل في بيئتَي ما قبل الإنتاج والإنتاج — مثل أدوات Flyway وLiquibase وRails migrations وDjango migrations وPrisma migrations وAlembic. يضمن تطبيق الترحيلات محليًا اختبار تطور المخطط باستمرار ضمن سير التطوير المعتاد:

تفريغات PostgreSQL الخاصة بالمخطط فقط

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

تعريفات SQL المحفوظة في المستودع

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

ملء بيانات تطويرية تمثيلية

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

مثال على مخطط متعدد المستأجرين

يوضح المخطط التالي تطبيق SaaS مبسطًا متعدد المستأجرين:

إنشاء بيانات تجريبية

ثبّت التبعيات:
أنشئ ملفًا باسم seed.py:
seed.py
نفِّذ البرنامج النصي:
تحتوي مجموعة البيانات الناتجة على: هذه المجموعة من البيانات كبيرة بما يكفي لتجربة سير عمل التطبيقات الشائعة، ومنطق عزل المستأجرين، واستعلامات التقارير، وفحوصات سلامة العلاقات، مع بقائها خفيفة بما يكفي للتطوير والاختبار محليًا.

بيئة تطوير PostgreSQL + ClickHouse

تركّز الأمثلة أعلاه على تطوير PostgreSQL محليًا. إذا كنت تريد اختبار معمارية PostgreSQL-to-ClickHouse الكاملة محليًا، يمكنك تشغيل مكدس PostgreSQL + ClickHouse مفتوح المصدر. يجمع هذا المكدس بين PostgreSQL لأحمال عمل المعاملات، وClickHouse للتحليلات، وPeerDB لالتقاط بيانات التغيير (CDC) الأصلي. ويتيح لك التطوير على PostgreSQL مع تكرار البيانات باستمرار إلى ClickHouse، مما يتيح اختبار التحليلات التشغيلية، وأحمال عمل التقارير، ومسارات البيانات الآنية مباشرةً من حاسوبك المحمول. يمكن تشغيل هذا المكدس بأمر واحد، وهو يتضمن جميع الخدمات المطلوبة معدّة مسبقًا:
يتضمن المكدس:
  • PostgreSQL
  • ClickHouse
  • PeerDB لالتقاط بيانات التغيير (CDC) في PostgreSQL
  • خدمات مساندة وتطبيقات تجريبية
للحصول على إرشادات الإعداد، وتفاصيل المعمارية، وشرح عملي للمكدس الكامل، راجع: تُعد هذه خطوة تالية مفيدة بعد تشغيل تطبيقك محليًا على PostgreSQL، وعندما تريد التحقق من المزامنة من PostgreSQL إلى ClickHouse، والتحليلات في الوقت الفعلي، وسلوك التطبيق من طرف إلى طرف.
آخر تعديل في ٢٥ يونيو ٢٠٢٦