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



  • ۱۵
  • فروردین

جلسه ۱۹ : عمل تکثیر در MongoDB

  • دسته‌بندی‌ها :
جلسه ۱۹ : عمل تکثیر در MongoDB
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ،در این جلسه از آموزش های دوره MongoDB  ، عمل تکثیر در MongoDB را فرا می گیرید.تکثیر (Replication ) به فرآیند همزمان سازی داده در میان چند سرور گفته می‌شود.

      عمل تکثیر در MongoDB

      تکثیر، افزونگی را فراهم می‌آورد و دسترسی پذیری داده‌ها را توسط کپی داده در چندین سرور مختلف افزایش می‌دهد.

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

      همچنین امکان بازیابی از خرابی سخت افزار و وقفه‌های سرویس را به کاربر می‌دهد.

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

      چرا تکثیر؟

      • برای ایمن نگه داری اطلاعات
      • دسترسی پذیری بالای اطلاعات (شبانه روزی)
      • بازیابی اطلاعات
      • نیازی به از کار افتادن هنگام انجام عملیات نگه‌داری ندارد
      • مقایس پذیری خواندن داده‌ها (کپی برداری‌های اضافه برای عمل خواندن)
      • کپی اطلاعات برای نرم افزارها شفاف و قابل دستیابی است.

      تکثیر در MongoDB چگونه عمل می‌کند ؟

      MongoDB عمل تکثیر را با استفاده از مجموعه کپی (Replica set) انجام می‌دهد. مجموعه کپی یک گروه از نمونه‌های mongodb هستند که مجموعه داده یا dataset مشابهی را میزبانی (Host) می‌کنند.
      در کپی داده، یک گره، گره اصلی است و تمام عملیات نوشتن را دریافت می‌کند. بقیه‌ی نمونه‌ها، عملیات را از گره اصلی، دریافت و اعمال می‌کنند.
      بنابراین آنها هم dataset مشابهی دارند. مجموعه‌ی کپی تنها می‌تواند یک گره‌ اصلی داشته باشد.
      1. یک مجموعه‌ی کپی، یک گروه از دویا چند گره است. (عموما حداقل ۳ گره نیاز است.)
      2. در یک مجموعه‌ی کپی، یک گره، گره اصلی است و بقیه گره‌ها گره‌های ثانویه هستند.
      3. همه‌ی داده‌ها از گره‌ی اصلی به گره‌های ثانویه تکثیر می‌شوند.
      4. هنگام انجام عملیات نگه داری یا ازدسترس خارج شدن سرور، گزینش برای گره اصلی و انتخاب گره اصلی جدید آغاز می‌شود.
      5. گره از کار افتاده، بعد از بازیابی دوباره، به مجموعه کپی ملحق می‌شود و بعنوان یک گره ثانویه کار می‌کند.
      در زیر یک نوع دیاگرام از تکثیر در MongoDB نشان داده شده است که در آن برنامه‌ی سمت کلاینت همیشه با گره‌ی اصلی در ارتباط است و گره‌ی اصلی، داده‌ها را گره‌های ثانویه تکثیر می‌کند.
      تکثیر در MongoDB
      ویژگی‌های مجموعه‌ی کپی
      • یک کلاستر از N عدد گره
      • هر گره‌ایی می‌تواند گره اصلی باشد .
      • همه‌ی عملیات نوشتن بر روی گره اصلی انجام می‌شود .
      • عمل ازدسترس خارج شدن سرور و جایگزین شدن یک گره بصورت اتوماتیک
      • بازیابی بصورت اتوماتیک
      • همراهی و توافق در گزینش گره اصلی


      ساختن یک مجموعه کپی

      در اینجا می‌خواهیم یک نمونه از mongodb را به یک مجموعه‌ی کپی تبدیل کنیم. برای این کار مراحل زیر را انجام دهید:
      • همه‌ی نمونه‌های در حال اجرای mongod را در سمت سرور، متوقف کنید.
      • اکنون mongod سمت سرور را با سوئیچ –replSet راه اندازی کنید.
      سینتکس پایه –replSet به شکل زیر است:
      مثال : 

      مثال
      مثال : 

      دستور فوق یک نمونه از mongod را با نام rs0، روی پورت ۲۷۰۱۷ راه اندازی می‌کند. اکنون command prompt را باز کنید و به این نمونه mongod متصل شوید.
      در سمت کلاینت، دستور ()rs.initiate را برای شروع کردن یک مجموعه‌ی کپی جدید صادر کنید.
      برای چک کردن تنظیمات مجموعه‌ی کپی، دستور ()rs.conf را صادر کنید. برای چک کردن وضعیت مجموعه کپی نیز دستور ()rs.status را صادر کنید.

      افزودن اعضا به مجموعه‌ی کپی

      برای افرودن اعضا به مجموعه‌ی کپی، چند نمونه mongodb را در چندین کامپیوتر راه اندازی کنید.
      اکنون برنامه‌ی سمت کلاینت را اجرا و دستور ()rs.add را اجرا کنید.

      سینتکس

      سینتکس پایه دستور ()rs.add به شکل زیر است:
      مثال : 

      مثال

      فرض کنید نام نمونه‌ی mongodb شما mongod1.net و بر روی پورت ۲۷۰۱۷ در حال اجراست. برای افزودن این نمونه به مجموعه کپی، دستور () rs.add را در سمت کلاینت اجرا کنید.

      مثال : 

      کلام آخر

      توجه کنید که فقط وقتی می‌توانید یک نمونه mongodb را برای مجموعه کپی اضافه کنید که به گره اصلی متصل باشید. برای چک کردن اینکه به گره اصلی متصل هستید، دستور ()db.isMaster را در سمت کلاینت صادر کنید. عمل تکثیر در MongoDB نیز به پایان رسید.Sharding در mongodb مبحث بعدی خواهد بود که به شما عزیزان آموزش داده می شود.

      QR:  جلسه ۱۹ : عمل تکثیر در MongoDB
      به اشتراک بگذارید