
نحوهی کار مانگو دیبی
رکورد موجود در MongoDB به صورت سند است، ساختار این سند حاوی دادههایی است که از دو قسمت field و value تشکیل شدهاند، اسناد مانگو دیبی مشابه با ساختار JSON در جاوا اسکریپت هستند، اما از متغیری با نام Binary JSON استفاده میکند که آن را BSON مینامند و بدین ترتیب دیتابیس مانگو با استفاده از آن میتواند با انواع بیشتری از دادهها تطبیق پیدا کند. فیلدهای موجود در اسناد، به ستونهای موجود در پایگاه دادهی رابطهای وابسته هستند، مقادیر موجود در این اسناد نیز میتوانند به همان اندازه که انواع داده وجود دارد، متفاوت باشند که طبق راهنمای مانگو دیبی میتوانند شامل اسناد دیگر، آرایه و اسناد آرایهای باشد، شما میتوانید نمونهای از ساختار دستور insert در پایگاهدادهی مانگو را در قطعهکد زیر مشاهده کنید:db.mycol.insert (
{
title: 'MongoDB Tutorial',
description: 'MongoDB is a NoSQL database',
by: 'Saman Navidi',
url: 'https://www.saman-navidi.ir',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
}
)
اسناد که باید به عنوان یک شناساگر خاص کلید اولیه را در مانگو دیبی تشکیل دهند، واحد پایه در MongoDB به حساب میآیند، مجموعهها شامل گروهی از اسناد و عملیات هستند که معادل جداول موجود در پایگاههای دادهی رابطهای میباشند، مجموعهها میتوانند حاوی هر نوع اطلاعاتی باشند اما محدودیتی که وجود دارد این است که دادههای موجود در یک مجموعه نمیتوانند در پایگاههای دادهی مختلف منتشر شوند.
فرمت تبادل داده و ذخیرهی اسناد BSON که در مانگو دیبی مورد استفاده قرار گرفته است یک شمای دو وجهی از اسنادی که شبیه به JSON هستند ارائه میدهد.

مزایا و معایب مانگو دیبی
مانگو دیبی همچون سایر پایگاههای دادهی NoSQL به مدلهای از پیش تعریف شده نیاز ندارد و هرگونه از اطلاعات را ذخیره میکند، این کار به کاربران انعطاف لازم جهت ساخت هر تعداد از فیلد در یک سند را میدهد و در نتیجه سنجش پایگاههای دادهی MongoDB در مقایسه با پایگاههای دادهی ارتباطی آسانتر است. یکی از مزایای استفاده از اسناد این است که این اجزا با استفاده از چندین زبان برنامهنویسی، انواع دادههای اصلی را ترسیم میکنند، همچنین داشتن این اسناد که درون پایگاه داده قرار دارند، نیاز برای اتصال پایگاههای داده را کاهش میدهد که میتواند به کاهش هزینه بینجامد. همانطور که پیشتر هم گفتیم ویژگی اصلی MongoDB این است که توانایی مقیاسپذیری افقی دارد، این ویژگی، مانگو دیبی را به یک پایگاه دادهی مفید برای کمپانیهایی که اپلیکیشنهای مرتبط با دادههای بزرگ را راه اندازی میکنند، تبدیل میکند. اگرچه مزایای مانگو دیبی بسیارند اما معایبی نیز وجود دارند، از آنجایی که MongoDB دارای استراتژی FailOver است، یک کاربر تنها یک گرهی اصلی را در خوشهی مانگو دیبی نصب میکند، اگر گرهی اصلی خوب کار نکند، گرهی فرعی به طور خودکار جایگزین گرهی اصلی میشود. این تغییر وضعیت، تداوم و پایداری برنامه را تضمین میکند اما به صورت آنی صورت نمیگیرد و ممکن است صورت گرفتن آن تا یک دقیقه به طول بینجامد، در مقابل پایگاهدادههای Cassandra NoSQL از چندین گره اصلی پشتیبانی میکند تا در صورتی که یکی از آنها به خوبی کار نکرد، گرهی دیگر به جای آن وارد عمل شود تا یک زیرساخت با قابلیت دسترسی بالا برای پایگاه داده موجود باشد. گره اصلی مانگو دیبی همچنین سرعت نوشته شدن داده بر روی پایگاه داده را محدود میکند، نوشتن داده باید بر روی گره اصلی ثبت شود و نوشته شدن اطلاعات جدید بر روی پایگاه داده با توجه به ظرفیت این موضوع، گره اصلی محدود میشود.
پلتفرمهای موجود برای مانگو دیبی
پایگاهدادهی مانگو در نسخههای عادی و تجاری موجود است، نسخهی عادی مانگو دیبی به صورت رایگان و اپنسورس منتشر شده و به راحتی توسط همه قابل استفاده است، در صورتی که نسخهی MongoDB Enterprise Server، دارای امکانات امنیتی اضافه، موتور حافظهی داخلی، امکانات اجرایی و احراز هویت و همچنین قابلیتهای بررسی است که از طریق سیستمعاملهای مدیریتی پشتیبانی میشود و برای تهیهی آن باید مبلغی را بپردازید. رابط گرافیکی کاربر (GUI) که در مانگو دیبی با نام Compass شناخته میشود، به کاربران امکان کار با ساختار اسناد، جستجو، مرتب کردن دادهها و… را میدهد، رابط مانگو دیبی که مخصوص هوش تجاری است، به کاربران این امکان را میدهد که به پایگاه دادهی NoSQL متصل شده تا بتوانند به ابزار هوش تجاری خود دست یافته و از این طریق، دادهها را تجسم کرده و با استفاده از کوئریهای SQL به تولید گزارش بپردازند. کمپانی پشتیبان مانگو دیبی در سال 2016 یک پایگاه دادهی ابری را به عنوان یکی از خدمات خود تحت عنوان MongoDB Atlas منتشر کرد، این سرویس در AWS آمازون، سرویس ابری مایکروسافت (Microsoft Azure) و پلتفرم ابری گوگل قابل اجرا است.


بدون دیدگاه