بهترین روش ها برای بارگذاری انبوه داده ها

فقط مربوط به نسخه Cloud Firestore Enterprise است.

این صفحه بهترین شیوه‌ها را هنگام بارگذاری انبوه داده‌ها در Cloud Firestore با سازگاری MongoDB و با ابزارهایی مانند mongoimport شرح می‌دهد.

Cloud Firestore یک سیستم بسیار توزیع‌شده است که مقیاس‌پذیری خودکار را برای برآوردن نیازهای کسب‌وکار شما ارائه می‌دهد. Cloud Firestore به صورت پویا داده‌های شما را بر اساس بار دریافتی سیستم تقسیم و ترکیب می‌کند.

تقسیم‌بندی مبتنی بر بارگذاری به طور خودکار و بدون هیچ گونه پیکربندی از پیش تعیین‌شده‌ی مورد نیاز انجام می‌شود. سیستم تقسیم‌بندی مبتنی بر بارگذاری Cloud Firestore در مقایسه با سایر پایگاه‌های داده‌ی اسناد، ویژگی‌های مهم و منحصر به فردی دارد که هنگام مدل‌سازی داده‌های خود باید در نظر داشته باشید.

ماهیت توزیع‌شده‌ی Cloud Firestore می‌تواند مستلزم تغییر برخی از گزینه‌های طراحی باشد، به‌ویژه برای بارهای کاری که برای پایگاه‌های داده بهینه‌سازی شده‌اند و در آن‌ها کپی اصلی، گلوگاه توان عملیاتی نوشتن است.

بهترین شیوه‌ها

بارهای کاری که حجم زیادی از داده‌ها را در یک کلاینت تک‌رشته‌ای پردازش می‌کنند، می‌توانند باعث ایجاد گلوگاه شوند. کلاینت‌ها ممکن است بتوانند از تک‌رشته‌ای برای بارگذاری انبوه داده‌ها استفاده کنند، زیرا توان عملیاتی کلاینت و سرور به طور مشابه با هم مطابقت دارند. یک پایگاه داده Cloud Firestore می‌تواند موازی‌سازی بسیار بیشتری را مدیریت کند، اما این امر مستلزم آن است که کلاینت‌ها را برای ارسال درخواست‌ها به صورت موازی پیکربندی کنید.

mongoimport

هنگام استفاده از ابزار mongoimport ، درخواست‌ها به طور پیش‌فرض به صورت متوالی انجام می‌شوند. برای بهبود زمان بارگذاری در Cloud Firestore ، تعداد workerها را با پرچم --numInsertionWorkers تنظیم کنید. تنظیم صحیح ممکن است نیاز به تنظیم بر اساس اندازه کلاینت شما داشته باشد، اما ما معمولاً توصیه می‌کنیم حداقل با 32 شروع کنید.

برنامه‌نویسی ناهمگام

هنگام توسعه نرم‌افزار خود با استفاده از APIهای سازگار با MongoDB، می‌توانید موازی‌سازی را به روش‌های زیر بهبود بخشید:

  • چارچوب‌های ناهمگام : استفاده از چارچوب‌های ناهمگام به شما امکان می‌دهد درخواست‌ها را به صورت موازی پردازش و پاسخ دهید. هنگام برقراری تماس با پایگاه داده، نیازی به ایجاد هیچ گونه pooling یا صف‌بندی پیچیده‌ای نیست. هر جریان درخواست می‌تواند از اتصالات مستقل استفاده کند و تماس‌های پایگاه داده خود را به صورت موازی انجام دهد.
  • از سرویس‌های محاسباتی موازی استفاده کنید : با استفاده از سرویس‌هایی مانند Cloud Run ، سیستم شما می‌تواند تعداد نیروهای محاسباتی مورد نیاز برای پردازش داده‌ها را افزایش دهد.

خرابی‌های گذرا

هنگام کار با یک سیستم توزیع‌شده بزرگ مانند Cloud Firestore ، ممکن است با خرابی‌های گذرا مانند قطعی شبکه یا تداخل در یک سند مواجه شوید.

هنگام بارگذاری انبوه حجم زیادی از اطلاعات، حفظ یک استراتژی تلاش مجدد برای نوشتن‌های ناموفق بدون شکست عملیات بارگذاری انبوه اطلاعات، بسیار مهم است.