mongo db چیست؟ کاربردها و ویژگی های پایگاه داده مونگو دیبی

سطح مقاله: ساده
زمان مطالعه: 7 دقیقه
۰۲ مهر ۱۳۹۸

برنامه نویسان در توسعه وب و اپلیکیشن از پایگاه داده های مختلفی استفاده می کنند. پایگاه داده های مبتنی بر SQL و یا NoSQL طبق نیازمندی های سیستم و اولویت برنامه نویسان کاربردهای مختلفی دارند. در این مطلب به توضیح پایگاه داده ها و انواع آن ها می پردازیم. سپس یاد می گیریم که پایگاه داده mongo db چیست و چه کاربردهایی دارد.

فهرست محتوای این مقاله

پایگاه داده چیست؟

پایگاه داده چیست

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

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

انواع پایگاه داده ها

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

پایگاه داده NoSQL چیست؟

پایگاه داده nosql چیست

NoSQL که مخفف عبارت Not Only SQL DataBase است، انواعی از پایگاه داده ها هستند که در سطحی وسیع تر از پایگاه داده های SQL کار می کنند و با مدل های مختلف داده ها مانند کلید – مقدار (Key-Value)، داده های گرافی، مبتنی بر مستند و غیره سر و کار دارند. این پایگاه داده ها با مجموعه های عظیمی از داده های توزیع شده کار می کنند و جایگزینی برای دیتابیس های رابطه ای هستند که داده را در جدول ذخیره می کردند.

mongo db چیست؟

پایگاه داده mongo db چیست

مونگو دیبی (Mongo DB) یکی از معروف ترین پایگاه داده های No SQL است که ساختار منعطفی دارد و بیشتر در پروژه هایی با حجم بالای داده استفاده می شود. این پایگاه داده پلتفرمی متن باز و رایگان است و با مدل داده های مستند گرا (Document - Oriented) کار می کند و در ویندوز، مکینتاش و لینوکس قابل استفاده است. مقادیر داده ای ذخیره شده در مونگو دیبی، با دو کلید اولیه (Primary Key) و ثانویه (Secondary Key) مورد استفاده قرار می گیرند.

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

ویژگی های مونگو دیبی چیست؟

  • مونگو دیبی به علت مستند گرا بودن مدل ذخیره داده ها در مقایسه با دیتابیس های رابطه ای بسیار منعطف تر و مقیاس پذیر تر است و بسیاری از نیازمندی های کسب و کارها را برطرف می کند.
  • این پایگاه داده برای تقسیم داده ها و مدیریت بهتر سیستم از شاردینگ (Sharding) استفاده می کند. شاردینگ به معنی تکه تکه کردن است و در لود بالای شبکه انجام می شود. به گونه ای که دیتابیس به چند زیربخش تقسیم می شود تا روند پاسخ دهی به درخواست هایی که از سمت سرور می آید، راحت تر شود.
  • داده ها با دو کلید اولیه و ثانویه قابل دسترسی هستند و هر فیلدی قابلیت کلید شدن را دارد. این امر زمان دسترسی و پردازش داده را بسیار سریع می کند.
  • همانند سازی (Replication ) یکی دیگر از خصوصیات مهم مونگو دیبی است. در این تکنیک از یک داده به عنوان داده اصلی کپی هایی تهیه شده و بخش های دیگری از سیستم پایگاه داده ذخیره می شود. در صورت از بین رفتن و یا مخدوش شدن این داده، داده های کپی شده به عنوان داده اصلی و جایگزین مورد استفاده قرار می گیرند.

روش کار mongo db چیست؟

روش کار mongo db چیست

در دیتابیس های رابطه ای داده ها به شکل رکورد (Record) نگهداری می شوند اما در مونگو دیبی، ساختار نگهداری داده ها به شکل سند است. هر سند از نوع Binary JSON یا BSON است و دارای فیلدهای کلید و مقدار می باشد.

 برای اجرا کردن کدهایی که در مونگو دیبی نوشته شده است باید از طریق Mongo Shell اقدام کرد. مونگو شل رابط تعاملی دیتابیس و برنامه نویس محسوب می شود و به آن ها اجازه ارسال کوئری (Query) و به روزرسانی داده ها را می دهد.

مزایا و معایب استفاده از mongo db چیست؟

دیتابیس های رابطه ای دارای اسکیما (Schema) هستند. یعنی ساختار خاصی برای داده هادر نظر گرفته و مدل های محدودی را ذخیره می کنند. اما مونگو دیبی و به طور کلی دیتابیس های NoSQL در برابر پذیرش داده هایی با توع مختلف بسیار منعطف هستند و این مزیت مهمی برای برنامه نویسان محسوب می شود. مقیاس پذیری این پایگاه داده باعث استفاده از آن در پروژه هایی می شود که با کلان داده ها (Big Data) سروکار دارند.

علاوه بر مزایای گفته شده مشکلاتی نیز در مونگو دیبی وجود دارد که ممکن است دردسرساز شود. این دیتابیس در استفاده از کلید خارجی (Foreign Key) برای داده ها ضعف دارد و ممکن است پایداری داده ها و یکپارچگی سیستم را به هم بریزد. همچنین در خوشه بندی داده های موجود در این پایگاه داده، تنها می توان یک گره (Node) را به عنوان گره اصلی (Master) انتخاب کرد که اگر از بین برود، ممکن است مرتب سازی زیرگره های آن از بین برود. این مشکل در پایگاه داده کاساندرا (Cassandra) برطرف شده است.

جمع بندی

معمولا مونگو دیبی در سطوح بالاتر توسعه نرم افزار و برنامه نویسی استفاده می شود. این پایگاه داده بسیار قدرتمند است و ساختار ذخیره داده آن، باعث تمایز آن از سایر پایگاه داده ها شده است. همچنین کوئری های ساده ای دارد و کار با آن، برای کسانی که تجربه حرفه ای در انجام پروژه های مختلف برنامه نویسی دارند کار چندان سختی نیست. شما تجربه ای در کار با پایگاه داده mongo db دارید؟

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

نظرات کاربران

حامد

مطلب عالی بود…
پیشنهاد میکنم جهت آشنایی کاربران با دیتابیس cockroachlabs هم یک مقاله منتشر کنید …
cockroachlabs.com

ریحانه یزدانی

سلام ممنون از وقتی که گذاشتین 🙂
سعی می کنیم به زودی محتوایی در این زمینه تهیه کنیم

سهیل

سلام . تشکر از این مطلب خوب . دوره های مجازی در زمینه پایگاههای داده nosql در وب فارسی بسیار کم هست . اگه ممکنه یک دوره در این زمینه برگزار کنید . سپاس

ریحانه یزدانی

سلام و ممنون از شما 🙂
در حال حاضر سون لرن ثبت نام دوره های متخصص رو، در زمینه هایی که تقاضای بیشتری داشتن شروع کرده . اما امیدواریم در آینده بتونیم در این زمینه هم دوره هایی برگزار کنیم.

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :

 
گزارش مشکل