Google Cloud / المتوسط: عقود الخدمات وتشغيلها / الدرس 9
Cloud SQL وعقود البيانات العلائقية
صمم الوصول والاتصالات والتوافر والتعافي للقاعدة المدارة دون عد إدارتها إعفاء من المسؤولية.
في هذه الصفحة
أهداف الدرس
- فصل الشبكة و IAM وتفويض القاعدة.
- تحديد طلب الاتصالات من التطبيق.
- تمييز HA والنسخ والنسخ الاحتياطي والاستعادة الزمنية.
لا تصمم البنية المدارة مخطط البيانات
توفر Cloud SQL قواعد علائقية مدارة للمحركات والإصدارات المدعومة، ويبقى المخطط والاستعلام والترحيل والمعاملة والمستخدم والتجميع والتصنيف والتعافي على مالك التطبيق. تختلف الميزات والافتراضيات حسب النسخة والموقع؛ نستخدم وثائق PostgreSQL مرجعا ملموسا لـ HA لا مساواة كل المحركات.
قد تصح القاعدة ويستنفد التطبيق الاتصال أو يرسل إليها استعلامات مكلفة. تختلف إدارة البنية عن صحة النموذج. سجل الصيانة والترقية والامتداد والتوافق والإعادة قبل الإعداد.
قد يحمّل توسع التطبيق القاعدة فوق طاقتها
يحسب البرنامج طلب اتصالات من حدود نسخ ومجمعات مخترعة ويضيف احتياطا؛ فيلائم حدا اصطناعيا ستين لا حصة Cloud SQL أوسعة مختبرة. يعتمد الفعلي على الإعداد والآخرين والإدارة وتداخل الإطلاق والمجمع.
قد ينمو طلب Cloud Run أو VM أسرع من القاعدة. حد المجمع والخامل والإعادة والتزامن معا؛ لا تضمن عتبة النسخ وحدها اتصالا دقيقا في كل حدث. راقب الضغط وعالج الرفض أوالصف بسياسة.
instances = 8
pool_per_instance = 5
reserve = 10
synthetic_limit = 60
modeled = instances * pool_per_instance + reserve
print(f"modeled={modeled} limit={synthetic_limit} fits={modeled <= synthetic_limit}")
modeled=50 limit=60 fits=True
تجمع ثمانية مجمعات منخمسة واحتياط عشرة إلى خمسين، لاحدود Google.
ليس العنوان الخاص وصولا كاملا للقاعدة
تختلف الشبكة وصلاحيات Google ومصادقة المحرك وأدواره والتشفير. للموصل و Auth Proxy عقود محددة ولا يستبدلان كل متطلب شبكة أو تفويض قاعدة. اختر طريقة تدعم بيئة التشغيل والعنوان.
لا تضع كلمة مرور أو مفتاحا في المصدر أو الصورة؛ عين مالك التسليم والدوران والأدوار الدنيا. ميز فشل المسار والموصل والدخول و SQL قبل التوسيع. لا يفتح الدرس أي قاعدة محلية أو سحابية.
تختلف HA من التاريخ القابل للاستعادة
يتضمن تصميم PostgreSQL الإقليمي الموثق أصلا و standby في نطاقين وتكرار تخزين متزامنا للملتزم وفق عقده. قد يغلق الفشل الاتصالات فيلزم إعادة الاتصال والتعامل الآمن مع المعاملة مجهولة النتيجة. ليست read replica هي standby ببساطة وللإقليم الآخر دلالة تكرار وترقية.
تعالج النسخ و PITR تاريخ التعافي والحادث المنطقي ولا تساوي علَم HA. تهم المدة والسجلات والإصدار والإجراء؛ لا تقتبس زمنا وفقدا عالميين. حدد RTO/RPO واختبر المسار مخولا.
تكشف قائمة التعافي الدليل المفقود
يفحص البرنامج سجلا اصطناعيا يوثق HA ويفتقد دليل استعادة، فيعرض الفجوة لا يستنتج التعافي. ليست قيمة منطقية في ملف إثباتا لوجود نسخة فعلية؛ ينبغي ربط الدليل بتاريخ ونطاق ومالك في نظام تشغيل مضبوط.
راجع الترحيل والصيانة والوصول والاتصالات والاحتفاظ والاختبار والرجوع معا، وافصل امتياز استعادة النسخ من التطبيق. لا تنفذ الدورة SQL أو تفحص محركا أو تستعيد قاعدة.
evidence = {"ha_design_documented": True, "restore_test_recorded": False, "application_reconnect_reviewed": True}
missing = [name for name, present in evidence.items() if not present]
print("missing evidence", ",".join(missing))
missing evidence restore_test_recorded
يفتقد السجل اختبار الاستعادة رغم توثيق HA دون استعلام قاعدة.
الأخطاء الشائعة وإصلاحها
يعد IP الخاص منح SQL.
- لماذا يحدث؟
- اختلطت طبقات الوصول.
- كيف تصلحه؟
- راجع الشبكة والموصل والدخول والأدوار.
- كيف تتجنب تكراره؟
- سجل المسار كاملا.
يستنفد التوسع الجلسات.
- لماذا يحدث؟
- أُهملت مجمعات كل نسخة.
- كيف تصلحه؟
- حد الطلب وراقب الفعلي.
- كيف تتجنب تكراره؟
- أدرج الإطلاق والعملاء الآخرين.
تعد HA استعادة نسخة مختبرة.
- لماذا يحدث؟
- اختلط التوافر بالتاريخ.
- كيف تصلحه؟
- حدد وافحص إجراء الاستعادة.
- كيف تتجنب تكراره؟
- افصل دليل الضمانين.
اختبر فهمك
1. تتوسع خدمة من اثنتين لعشرين بعشرة اتصالات. ماذا يراجع؟
اعرض الحل المشروح
يتغير طلب التطبيق المحتمل من عشرين اتصالا إلى مئتين، قبل الاحتياط والعملاء الآخرين والإعادات وتداخل الإطلاق. افحص حدود المحرك والإعداد الفعلية وسلوك المجمع المرصود، ولا تفترض أن القاعدة تتوسع بالمعدل نفسه. حد قبول العمل وحجم المجمع عمدا ووثق التدهور عند نفاد الميزانية. الأرقام نموذج حسابي لا ادعاء حصة Google، وقد تضيف المراجعات المتزامنة ضغطا لا يظهر في حاصل ضرب ثابت.
2. لماذا تفحص معاملة مجهولة بعد انقطاع فشل؟
اعرض الحل المشروح
ربما التزم الخادم بالمعاملة قبل أن يفقد العميل جوابها. قد تكرر إعادة فعل غير قابل للتكرار أثره. استخدم معرفات معاملة وعدم تكرار ومطابقة وسياسة إعادة تناسب المجال. تحسن HA التوافر، لكنها لا تستنتج سلوك مرة واحدة للتطبيق ولا تلغي ضرورة إعادة الاتصال بأمان. يجب أن تحدد حالة النتيجة المجهولة قبل وصف كل خطأ اتصال بأنه فشل معاملة مؤكد.
أهم ما تعلمته
- تحتاج القاعدة المدارة ملكية التطبيق والبيانات.
- الاتصالات ميزانية مشتركة للتوسع والإطلاق.
- تحتاج HA والنسخ و PITR أدلة مستقلة.