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

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

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

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

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

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

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

mongoimport

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

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

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

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

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

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

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