بار کردن انبوه دادهها در Cloud Firestore با ابزارهایی مثل mongoimport و
mongorestore.
Cloud Firestore سیستمی بسیار توزیعشده است که مقیاسبندی خودکار را برای برآورده کردن نیازهای کسبوکارتان ارائه میدهد. Cloud Firestore بهطور پویا دادههای شما را براساس بار دریافتی سیستم تقسیم و ترکیب میکند.
تقسیم براساس بار بهطور خودکار و بدون نیاز به پیشپیکربندی انجام میشود. سیستم تقسیمبندی مبتنی بر بار Cloud Firestore دارای برخی ویژگیهای مهم و منحصربهفرد در مقایسه با سایر پایگاههای داده سند است که باید هنگام مدلسازی دادههای خود به آنها توجه داشته باشید.
ماهیت توزیعشده Cloud Firestore ممکن است نیاز به تغییر برخی انتخابهای طراحی داشته باشد، بهویژه برای حجمهای کاری که برای پایگاههای دادهای بهینهسازی شدهاند که نسخه اصلی گلوگاهی برای توان عملیاتی نوشتن است.
روالهای مطلوب
حجمهای کاری که حجم زیادی از دادهها را در یک کلاینت تکرشتهای پردازش میکنند میتوانند گلوگاه ایجاد کنند. کارخواهها ممکن است بتوانند از تکرشتهای برای بارگذاری انبوه دادهها استفاده کنند، زیرا توان عملیاتی کارخواه و سرور بهطور مشابه مطابقت دارند. پایگاه داده Cloud Firestore میتواند موازیسازی بسیار بیشتری را مدیریت کند، اما این امر مستلزم آن است که کارخواهها را برای ارسال درخواستها بهصورت موازی پیکربندی کنید.
mongoimport
هنگام استفاده از ابزار mongoimport، درخواستها بهطور پیشفرض بهصورت متوالی انجام میشوند. برای
بهبود زمان بارگیری در Cloud Firestore، تعداد کارگران را با
پرچم --numInsertionWorkers تنظیم کنید. تنظیم صحیح ممکن است نیاز به تنظیم براساس
اندازه کارخواه شما داشته باشد.
mongorestore
هنگام استفاده از ابزار mongorestore، پارامتر retryWrites=false را از رشته اتصال خود بردارید تا تابآوری دربرابر خرابیهای گذرا بهبود یابد.
برای بهبود زمان بارگیری در Cloud Firestore، میتوانید
تعداد کارگران درج در هر مجموعه را با پرچم
--numInsertionWorkersPerCollection و تعداد مجموعههای موازی را با پرچم
--numParallelCollections افزایش دهید. تنظیمات صحیح ممکن است
براساس اندازه کارخواه شما نیاز به تنظیم داشته باشد.
برنامهنویسی غیرهمگام
هنگام توسعه نرمافزار خود بااستفاده از عملیات سازگار با MongoDB، میتوانید موازیسازی را به روشهای زیر بهبود دهید:
- چارچوبهای غیرهمگام: استفاده از چارچوبهای غیرهمگام به شما امکان میدهد درخواستها را بهصورت موازی پردازش کنید و به آنها پاسخ دهید. هنگام برقراری تماس با پایگاه داده، نیازی به توسعه هیچگونه صفبندی یا ادغام پیچیدهای نیست. هر جریان درخواست میتواند از اتصالهای مستقل استفاده کند و فراخوانیهای پایگاه داده خود را بهصورت موازی انجام دهد.
- استفاده از پیشنهادهای محاسباتی موازی: بااستفاده از سرویسهایی مانند Cloud Run، سیستم شما میتواند تعداد پردازشگرهای محاسباتی موردنیاز برای پردازش دادهها را مقیاسبندی کند.
خطاهای موقت
هنگام کار با سیستم توزیعشده بزرگی مثل Cloud Firestore، ممکن است با خرابیهای گذرا مانند اختلالات شبکه یا رقابت بر سر سند مواجه شوید.
هنگام بار کردن انبوه حجم زیادی از اطلاعات، مهم است که یک استراتژی تکرار برای نوشتنهای ناموفق حفظ شود بدون اینکه عملیات بارگذاری انبوه بزرگتر با شکست مواجه شود.