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

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

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

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

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

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

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

mongoimport

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

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

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

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

الأخطاء العابرة

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

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