أفضل الممارسات ل Python SDK في Azure Cosmos DB ل NoSQL

ينطبق على: NoSQL

يتضمن هذا الدليل أفضل الممارسات للحلول التي تم إنشاؤها باستخدام أحدث إصدار من Python SDK ل Azure Cosmos DB ل NoSQL. تساعد أفضل الممارسات المضمنة هنا على تحسين زمن الانتقال وتحسين التوفر وتعزيز الأداء العام للحلول الخاصة بك.

تكوين الحساب

  • تأكد من تشغيل تطبيقك في منطقة Azure نفسها الموجودة في حساب Azure Cosmos DB، لتقليل زمن الانتقال إن أمكن ذلك. تمكين النسخ المتماثل في أكثر من 2 منطقة في حساباتك للحصول على أفضل توفر. بالنسبة لأحمال عمل الإنتاج، قم بتمكين تجاوز الفشل المدار بواسطة الخدمة. في حالة عدم وجود هذا التكوين، يواجه الحساب فقدان توفر الكتابة طوال مدة انقطاع منطقة الكتابة، حيث لا يمكن أن ينجح تجاوز الفشل اليدوي بسبب نقص الاتصال بالمنطقة. لمزيد من المعلومات حول كيفية إضافة مناطق متعددة باستخدام Python SDK، راجع البرنامج التعليمي للتوزيع العالمي.

استخدام SDK

  • استخدم دائما أحدث إصدار من Azure Cosmos DB SDK المتوفر للحصول على الأداء الأمثل.
  • استخدم مثيلا CosmosClient واحدا لمدة بقاء التطبيق الخاص بك للحصول على أداء أفضل.
  • preferred_locations تعيين التكوين على عميل cosmos. أثناء تجاوز الفشل، يتم إرسال عمليات الكتابة إلى منطقة الكتابة الحالية ويتم إرسال جميع القراءات إلى المنطقة الأولى ضمن قائمة المواقع المفضلة لديك. لمزيد من المعلومات حول آليات تجاوز الفشل الإقليمية، راجع استكشاف أخطاء التوفر وإصلاحها.
  • خطأ عابر هو خطأ يحدث بسبب أساسي يحل نفسه قريباً. يجب إنشاء التطبيقات التي تتصل بقاعدة البيانات لتوقع هذه الأخطاء عابرة. لمعالجتها، استخدم منطق إعادة المحاولة في التعليمات البرمجية بدلاً من الظهور للمستخدمين كأخطاء في التطبيق. تتبع أداة SDK منطقاً مضمناً لمعالجة هذه الفشل العابر في الطلبات القابلة لإعادة المحاولة مثل عمليات القراءة أو الاستعلام. لا يمكن ل SDK إعادة المحاولة على عمليات الكتابة للإخفاقات العابرة لأن عمليات الكتابة ليست متكررة. تسمح أداة SDK للمستخدمين بتكوين منطق إعادة المحاولة لعمليات التقييد. للحصول على تفاصيل حول الأخطاء التي يجب إعادة المحاولة عند الزيارة هنا.
  • استخدم تسجيل SDK لالتقاط معلومات التشخيص واستكشاف مشكلات زمن الانتقال وإصلاحها.

تصميم البيانات

  • يرتبط رسم الطلب لعملية محددة بحجم المستند مباشرة. نوصي بتقليل حجم المستندات حيث تكلف العمليات التي تُجرى على المستندات الكبيرة مبلغاً أكبر من العمليات التي تُجرى على المستندات الأصغر.
  • بعض الأحرف مقيدة ولا يمكن استخدامها في بعض المعرفات: '/'، '\'، '?'، '#'. التوصية العامة هي عدم استخدام أي أحرف خاصة في معرفات مثل اسم قاعدة البيانات أو اسم المجموعة أو معرف العنصر أو مفتاح القسم لتجنب أي سلوك غير متوقع.
  • يسمح لك نهج فهرسة Azure Cosmos DB أيضا بتحديد مسارات المستند التي يجب تضمينها أو استبعادها من الفهرسة باستخدام مسارات الفهرسة. تأكد من استبعاد المسارات غير المستخدمة من الفهرسة للكتابة بشكل أسرع. لمزيد من المعلومات، راجع إنشاء فهارس باستخدام نموذج SDK.

خصائص المضيف

  • قد تواجه مشكلات في الاتصال/التوفر بسبب عدم وجود موارد على جهاز العميل. راقب استخدام CPU الخاص بك على العقد التي تقوم بتشغيل عميل Azure Cosmos DB، وقم بزيادة / زيادة الاستخدام إذا كان الاستخدام مرتفعاً.
  • في حالة استخدام جهاز ظاهري لتشغيل التطبيق، مكِّن الشبكات المتسارعة على الجهاز الظاهري للمساعدة في تخفيف الازدحامات بسبب ارتفاع نسبة استخدام الشبكة وتقليل زمن الانتقال أو توتر وحدة المعالجة المركزية. قد ترغب أيضاً في النظر في استخدام جهاز ظاهري بنهاية عالية حيث يبلغ الحد الأقصى لاستخدام وحدة المعالجة المركزية أقل من 70٪.
  • بشكل افتراضي، يتم إرجاع نتائج الاستعلام في مجموعات من 100 عنصر أو 4 ميغابايت، أيهما يصل أولا. إذا قام استعلام بإرجاع أكثر من 100 عنصر، فقم بزيادة حجم الصفحة لتقليل عدد الرحلات ذهابا و إيابا المطلوبة. يزداد استهلاك الذاكرة مع زيادة حجم الصفحة.

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

لمعرفة المزيد حول نصائح الأداء ل Python SDK، راجع نصائح الأداء ل Azure Cosmos DB Python SDK.

لمعرفة مزيد حول تصميم تطبيقك بحيث يتناسب مع الحجم والأداء العالي، راجع التقسيم والقياس في Azure Cosmos DB.

هل تحاول القيام بتخطيط السعة للترحيل إلى Azure Cosmos DB؟ يمكنك استخدام معلومات حول نظام مجموعة قاعدة البيانات الموجودة لديك لـ تخطيط السعة.