دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۵
  • فروردین

جلسه ۲۰ : عملیات Sharding در MongoDB

  • دسته‌بندی‌ها :
جلسه ۲۰ : عملیات Sharding در MongoDB
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ،در این جلسه از آموزش های دوره MongoDB  ، عملیات Sharding در MongoDB را شرح خواهیم داد.  Sharding فرآیند ذخیره سازی رکوردهای اطلاعاتی در چندین سرور است و این رویکرد MongoDB برای درخواست داده‌های در حال رشد است.

      چرا Sharding؟
      • در عمل تکثیر، همه‌ی نوشتن‌ها به سمت گره اصلی می‌ روند.
      • پرس و جوهای حساس به تاخیر نیز به سمت گره اصلی می‌ روند.
      • مجموعه کپی مفرد به ۱۲ گره محدود است.
      • وقتی دیتاست خیلی بزرگ می‌شود، حافظه به اندازه کافی نمی‌تواند بزرگ شود.
      • دیسک محلی به اندازه‌ی کافی بزرگ نیست.
      • هزینه مقیاس پذیری عمودی بسیار بالاست.

      عملیات Sharding در MongoDB

      دیاگرام زیر نحوه Sharding در MongoDB را نشان می‌دهد:
      عملیات Sharding در MongoDB

      در دیاگرام بالا سه جز اصلی وجود دارند که در ادامه توضیح داده شده‌اند:

      Shards: Shard برای ذخیره داده استفاده می‌شود. آنها دسترس پذیری بالا و پایداری داده را فراهم می‌کنند.

      در محیط تولید هر Shard یک مجموعه کپی جداست.

      Config Servers: Config Server متا دیتای کلاستر را نگهداری می‌کند.

      این داده‌ها شامل اطلاعات نگاشت دیتاست کلاستر برای Shardهاست. مسیریاب کوئری (query router) از این متا دیتا برای نشان گذاری عملیات برای Shard‌های تعیین شده استفاده می‌کند. در محیط تولید Shard شده، کلاسترها دقیقا ۳ سرور تنظیمات دارند.

      Query Routers: مسیریاب کوئری‌ها بطور اساسی نمونه‌های mongos و واسط بین برنامه کلاینت هستند و عملیات را به Shard مناسب هدایت می‌کنند. مسیریاب کوئری عملیات را برای Shard، پردازش و نشان گذاری می‌کنند و نتیجه را برای کاربر برمی گردانند. یک Shard کلاستر شده می‌تواند شامل چندین مسیریاب کوئری (برای تقسیم بارگیری درخواست کلاینت) باشد. یک کلاینت می‌تواند درخواست هایش را یه یک مسیریاب کوئری ارسال کند. عموما یک Shard کلاستر شده چندین مسیریاب کوئری دارد.

      کلام آخر

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

      QR:  جلسه ۲۰ : عملیات Sharding در MongoDB
      به اشتراک بگذارید