مفهوم MongoDB و ویژگی های آن

مانگودی‌بی یک پایگاه داده‌های سند-گرای متن‌باز، کارا، مقیاس‌پذیر، بدون نیاز به طرح‌بندی اولیه نوشته شده در زبان برنامه‌نویسی سی++ است.

هدف مانگودی‌بی پرکردن فاصلهٔ ذخیره‌بندی‌های کلید/مقداری—که سریع و مقیاس پذیر هستند— و سامانه‌های سنتی مدیریت پایگاه داده رابطه‌ای—که درخواست‌های غنی و عملکرد عمیقی دارند— بوده‌است. مانگودی‌بی برای رفع مشکلاتی طراحی شده که با پایگاه داده‌های رابطه‌ای به سادگی رفع نمی‌شوند؛ برای مثال اگر پایگاه داده کارسازهای زیادی را دربرگیرد.

مفهوم MongoDB و ویژگی های آن

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

توسعه مانگودی‌بی در 10gen در سال ٢٠٠٧، هنگامی که شرکت در حال ایجاد یک بستر به عنوان سرویس مشابه با ویندوز آژور یا گوگل اپ انجین بود، آغاز شد. در سال ٢٠٠٩ مانگودی‌بی عنوان یک محصول مستقل و متن باز با مجوز آجی‌پی‌ال ارائه شد.

در ماه مارس ٢٠١٠، با شروع از نسخه ١.۴، مانگودی‌بی قابل استفاده در خط تولید شناخته شد.

 

ویژگی های پایگاه داده MongoDB

در زیر خلاصه ای از برخی از ویژگی های اصلی آمده است:

  • پرس و جوهای تک کاره: مانگودی‌بی از جستجو بر اساس فیلد، پرس و جوهای بازه‌ای، و جستجوهای با عبارت منظم پشتیبانی می کند.
  • فهرست بندی: هر فیلدی در مانگودی‌بی قابل فهرست بندی است. فهرست های ثانویه نیز موجود هستند.
  • انعکاس: مانگودی‌بی از انعکاس تابع-متبوع (master-slave) پشتیبانی می کند. هر متبوعی قادر به انجام نوشتن ها و خواندن ها است. یک تابع داده ها را از متبوع رونوشت می کند و تنها برای خواندن ها و یا پشتیبانی به کار می رود. تابع ها توانایی انتخاب متبوع جدید در صورت از کار افتادن متوبع فعلی را دارند.
  • توازن بار: مانگودی‌بی با استفاده از بخش بندی (sharding) قابل مقیاس پذیری به صورت افقی است. شخص توسعه دهنده کلید بخش بندی را انتخاب می کند که مشخص می کند داده در یک مجموعه چگونه توزیع خواهد شد. داده بر مبنای کلید بخش بندی به بازه های مختلف تکه تکه می شود و در بخش های مختلف توزیع می شود. (هر بخش یک متبوع با یک یا چند تابع است).
  • ذخیره‌سازی فایل: از مانگودی‌بی می توان به عنوان یک سیستم فایل استفاده کرد و از مزایای توازن بار و انعکاس داده در چندین ماشین برای ذخیره فایل های استفاده کرد.
  • تجمیع: برای پردازش دسته ای داده های و عملیات تجمیع می توان از نگاشت‌کاهش استفاده کرد.
  • اجرای جاواسکریپت سمت سرور
  • مجموعه‌های دربسته

موارد استفاده و استقرار

با توجه به مقاله «موارد استفاده» در وب سایت مانگودی‌بی، مانگودی‌بی برای موارد زیر مناسب است:

  • بایگانی و ثبت رخداد ها
  • سامانه های مدیریت محتوا و سندها
  • تجارت الکترونیکی
  • بازی سازی
  • مساله های حجم بالا
  • موبایل
  • نگهداری داده در یک وب سایت
  • پروژه های که از روش های توسعه چابک استفاده می کنند
  • آمار و تحلیل های بلادرنگ
مفهوم MongoDB و ویژگی های آن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نه − پنج =