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

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

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

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

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

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

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

mongoimport

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

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

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

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

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

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

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