أفضل الممارسات لتحميل البيانات المجمّعة

ينطبق ذلك على إصدار Cloud Firestore Enterprise فقط.

توضّح هذه الصفحة أفضل الممارسات عند تحميل البيانات بشكل مجمّع إلى Cloud Firestore مع توافق MongoDB باستخدام أدوات مثل mongoimport.

Cloud Firestore هو نظام موزّع بشكل كبير يوفّر توسيعًا تلقائيًا للنطاق لتلبية احتياجات نشاطك التجاري. Cloud Firestore تقسيم بياناتك ودمجها بشكلٍ ديناميكي استنادًا إلى الحمل الذي يتلقّاه النظام

يتم التقسيم المستند إلى الحمل تلقائيًا بدون الحاجة إلى أي إعداد مسبق. يتميّز نظام التقسيم المستند إلى الحمل في Cloud Firestore ببعض الخصائص المهمة والفريدة مقارنةً بقواعد بيانات المستندات الأخرى التي يجب أخذها في الاعتبار عند تصميم نموذج بياناتك.

يمكن أن تتطلّب الطبيعة الموزّعة لـ Cloud Firestore تغيير بعض خيارات التصميم، خاصةً بالنسبة إلى أحمال العمل التي تم تحسينها لقواعد البيانات التي تكون فيها النسخة المتماثلة الأساسية هي نقطة الاختناق لإنتاجية الكتابة.

أفضل الممارسات

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

mongoimport

عند استخدام أداة mongoimport، يتم تقديم الطلبات بالتسلسل تلقائيًا. لتحسين وقت التحميل في Cloud Firestore، اضبط عدد العمال باستخدام العلامة --numInsertionWorkers. قد يتطلّب الإعداد الصحيح إجراء تعديلات استنادًا إلى حجم العميل، ولكن ننصحك بشكل عام بالبدء بقيمة 32 على الأقل.

البرمجة غير المتزامنة

عند تطوير برنامجك الخاص باستخدام واجهات برمجة تطبيقات متوافقة مع MongoDB، يمكنك تحسين التوازي بالطرق التالية:

  • أُطر العمل غير المتزامنة: تتيح لك أُطر العمل غير المتزامنة معالجة الطلبات والرد عليها بشكل متوازٍ. ليس من الضروري تطوير أي تجميع أو وضع في قائمة انتظار معقّد عند إجراء طلبات إلى قاعدة البيانات. يمكن أن يستخدم كل مسار طلب اتصالات مستقلة ويجري طلبات قاعدة البيانات بالتوازي.
  • استخدام عروض الحوسبة المتوازية: باستخدام خدمات مثل Cloud Run، يمكن لنظامك توسيع نطاق عدد العاملين في الحوسبة المطلوبين لمعالجة البيانات.

الأخطاء المؤقتة

عند العمل باستخدام نظام موزّع كبير مثل Cloud Firestore، قد تواجه أخطاء مؤقتة، مثل مشاكل في الشبكة أو تعارض في مستند.

عند التحميل المجمّع لكميات كبيرة من المعلومات، من المهم الحفاظ على استراتيجية إعادة المحاولة لعمليات الكتابة التي تعذّر إجراؤها بدون أن يؤدي ذلك إلى تعذُّر عملية التحميل المجمّع الأكبر.