MongoDB چیست؟
10 شهریور 1401 1401-07-28 11:45MongoDB چیست؟
MongoDB با افزایش حجم دادهها در سراسر دنیا، گرایش به میزان زیادی به سمت استفاده از «بانکهای اطلاعاتی غیر رابطهای» (Non-Relational Database) یا همان پایگاه دادههای NoSQL سوق پیدا کرده است. کسب و کارها و سازمانها به دنبال روشهای جدیدی برای مدیریت سیل عظیم دادهها هستند و به استفاده از ابزارها و سیستمهای جایگزین مدیریت پایگاه دادهها گرایش پیدا کردهاند.
این ابزارها و سیستمهای جایگزین، نسبت به سیستمهای پایگاه داده سنتی «رابطهای» متفاوت هستند. اینجاست که سخن از MongoDB به میان میآید. در این مقاله به این سوال پاسخ داده شده است که MongoDB چیست و کاربردهای دیتابیس مانگو دی بی چه هستند؟ علاوه بر این به بسیاری از دیگر سوالها و مباحث پیرامون MongoDB نیز پرداخته شده است تا بتوان از این مقاله به عنوان نقطه شروع یادگیری دیتابیس مانگو دی بی استفاده کرد.
MongoDB یک سیستم پایگاه داده متن باز است که از یک مدل داده و زبان پرس و جوی غیر ساختاری (Non-Structured) استفاده میکند. در حال حاضر، MongoDB یکی از قویترین بانکهای اطلاعاتی و سیستمهای NoSQL به حساب میآید. پایگاههای داده NoSQL برای کار با مجموعه دادههای بزرگ و دادههای توزیعیافته بسیار مفید و کاربردی است. MongoDB
هم نوعی از سیستم پایگاه داده NoSQL است که برای ذخیرهسازی دادههای حجیم (مدیریت کلان داده) مورد استفاده قرار میگیرد. این پایگاه داده از انواع مختلف دادهها پشتیبانی میکند. پایگاه داده MongoDB ابزاری است که میتواند اطلاعات سند-محور (Document-Based) را مدیریت کند و ذخیرهسازی و بیرون کشیدن اطلاعات را عهدهدار شود. به جای استفاده از جدولها و سطرها در سیستمهای سنتی پایگاه داده رابطهای، MongoDB از کالکشنها (Collection|گردآورد) و داکیومنتها (Document) استفاده میکند.
در ادامه این مقاله از تدریس24 همراه ما باشید.
MongoDB چیست ؟
داکیومنتها جُفتهای کلید-مقدار را شامل میشوند که واحدهای داده بنیادی در MongoDB به حساب میآیند. کالکشنها مجموعههایی از داکیومنتها و توابع را شامل میشوند که معادل جدولهای پایگاه دادههای رابطهای هستند. از MongoDB در کاربردهای کلان داده (بیگ دیتا) و سایر حوزههای مربوط به پردازش دادهها استفاده میشود.
MongoDB بیشتر برای مدیریت دادههایی مناسب است که به خوبی با یک مدل انعطافناپذیر رابطهای سازگار نیستند. MongoDB در اواسط دهه ۸۰ شمسی (۲۰۰۰ میلادی) مطرح و شناخته شده است. سازمانهای تجاری میتوانند از MongoDB برای کوئریهای موردی (ad-hoc)، اندیسگذاری، متعادلسازی بار ترافیکی (Load Balancing)، انبوهش (Aggregation)، اجرای جاوا اسکریپت در سمت سرور و سایر قابلیتها استفاده کنند.
مزایا و معایب مانگو دیبی
مانگو دیبی همچون سایر پایگاههای دادهی NoSQL به مدلهای از پیش تعریف شده نیاز ندارد و هرگونه از اطلاعات را ذخیره میکند، این کار به کاربران انعطاف لازم جهت ساخت هر تعداد از فیلد در یک سند را میدهد و در نتیجه سنجش پایگاههای دادهی MongoDB در مقایسه با پایگاههای دادهی ارتباطی آسانتر است.
یکی از مزایای استفاده از اسناد این است که این اجزا با استفاده از چندین زبان برنامهنویسی، انواع دادههای اصلی را ترسیم میکنند، همچنین داشتن این اسناد که درون پایگاه داده قرار دارند، نیاز برای اتصال پایگاههای داده را کاهش میدهد که میتواند به کاهش هزینه بینجامد.
همانطور که پیشتر هم گفتیم ویژگی اصلی MongoDB این است که توانایی مقیاسپذیری افقی دارد، این ویژگی، مانگو دیبی را به یک پایگاه دادهی مفید برای کمپانیهایی که اپلیکیشنهای مرتبط با دادههای بزرگ را راه اندازی میکنند، تبدیل میکند.
اگرچه مزایای مانگو دیبی بسیارند اما معایبی نیز وجود دارند، از آنجایی که MongoDB دارای استراتژی FailOver است، یک کاربر تنها یک گرهی اصلی را در خوشهی مانگو دیبی نصب میکند، اگر گرهی اصلی خوب کار نکند، گرهی فرعی به طور خودکار جایگزین گرهی اصلی میشود.
این تغییر وضعیت، تداوم و پایداری برنامه را تضمین میکند اما به صورت آنی صورت نمیگیرد و ممکن است صورت گرفتن آن تا یک دقیقه به طول بینجامد، در مقابل پایگاهدادههای Cassandra NoSQL از چندین گره اصلی پشتیبانی میکند تا در صورتی که یکی از آنها به خوبی کار نکرد، گرهی دیگر به جای آن وارد عمل شود تا یک زیرساخت با قابلیت دسترسی بالا برای پایگاه داده موجود باشد.
گره اصلی مانگو دیبی همچنین سرعت نوشته شدن داده بر روی پایگاه داده را محدود میکند، نوشتن داده باید بر روی گره اصلی ثبت شود و نوشته شدن اطلاعات جدید بر روی پایگاه داده با توجه به ظرفیت این موضوع، گره اصلی محدود میشود.

مزایا و معایب مانگو دی بی
مشکل دیگری که ممکن است رخ دهد این است که احراز هویت کاربر به صورت پیشفرض در پایگاهدادهی MongoDB مهیا نشده است که البته این موضوع سبب محبوبیت این تکنولوژی در میان توسعه دهندگان شده، با این حال هکرهای زیرک بسیاری سیستمهای غیرایمن مانگو دیبی را از طریق حملات باج گیرانه مورد هدف قرار دادهاند، این موضوع سبب شده است تا بخشی به تنظیمات پیشفرض اضافه شود تا در صورتی که کسی به جز ادمین پایگاهداده به شبکهها دسترسی پیدا کرد، دسترسی او قطع شود.
ویژگیهای MongoDB چیست؟
این پایگاه داده برای تقسیم دادهها و مدیریت موثرتر آنها از سیستم Sharding استفاده میکند. در واقع، دیتابیس را به چند زیر بخش تقسیم میکند تا روند پاسخ دهی به درخواستهایی که از سمت سرور میآید، سریعتر و راحتتر انجام شود.
پایگاه داده Mongo، به دلیل مستند گرا بودن، در مقایسه با دیتابیسهای رابطهای، انعطاف پذیرتر و مقیاس پذیرتر است و میتواند بسیاری از نیازهای کسب و کار شما را برطرف کند.
در سیستم MongoDB ، دادهها با دو کلید اولیه و ثانویه قابل دسترسی هستند. علاوه بر این، هر فیلدی قابلیت کلید شدن را دارد. این امر زمان دسترسی به دادهها و پردازش آنها را بسیار سریعتر میکند.
یکی دیگر از خصوصیات MongoDB ، وجود سیستم همانند سازی (Replication) است. به این صورت که از یک داده به عنوان داده اصلی، تعدادی کپی تهیه شده و در سایر بخشهای سیستم پایگاه داده ذخیره میشود. در صورت آسیب دیدن یا از بین رفتن داده اصلی، دادههای کپی شده به عنوان داده جایگزین مورد استفاده قرار میگیرند.
نحوه کارکرد MongoDB چگونه است؟
اکنون میدانیم MongoDB چیست و چه ویژگیهایی دارد. در این بخش به شما خواهیم گفت این پایگاه داده چگونه کار میکند. رکوردهایی که سیستم MongoDB از آنها استفاده میکند، از اسنادی تشکیل شده که حاوی ساختار دادههای متشکل از field و value هستند. هر چند اسناد MongoDB مشابه ساختار JSON در جاوا اسکریپت است اما از متغیری به نام Binary JSON استفاده میکند که آن را BSON مینامند. به این ترتیب، MongoDB میتواند با انواع بیشتری از دادهها منطبق شود.
فیلدهای موجود در اسناد به ستونهای موجود در پایگاه داده رابطهای وابسته هستند. به همان اندازه که انواع داده وجود دارد مقادیر موجود در این اسناد نیز میتواند متفاوت باشد.
اسنادی که باید به عنوان یک شناساگر خاص، کلید اولیه MongoDB را تشکیل دهند، واحد پایه آن به شمار میروند. مجموعهها شامل گروهی از اسناد و عملیات هستند که معادل جداول موجود در پایگاههای داده رابطهای به حساب میآیند. هر چند که مجموعهها میتوانند حاوی هر نوع اطلاعاتی باشند، اما دادههای موجود در یک مجموعه نمیتواند در پایگاه دادههای مختلف منتشر شود.
پوسته Mongo یکی از اجزای استاندارد از توزیعهای منبع باز MongoDB است. وقتی MongoDB نصب شد، کاربران پوسته Mongo را به نمونههای در حال اجرای Mongo DB متصل میکنند. پوسته mongo به عنوان یک رابط تعاملی جاوا اسکریپت برای MongoDB عمل میکند و به کاربران امکان میدهد تا ضمن جستجو و به روز رسانی دادهها، عملیات اداری را نیز انجام دهند.
اکنون یک نمایش دو وجهی (binary) از اسناد JSON با فرمت ذخیره سازی اسناد و تبادل داده BSON ارائه میشود. یکی دیگر از ویژگیهای کلیدی، اشتراک گذاری خودکار است که این امکان را فراهم میکند تا دادههای موجود در مجموعه MongoDB در چندین سیستم پراکنده شوند. به این ترتیب مقیاس پذیری افقی در سیستم ایجاد شده و ظرفیت پذیرش دادهها افزایش پیدا میکند.
خوب است بدانید مقیاس پذیری به این معناست که در صورت افزایش حجم دادهها و اطلاعات، میتوانید آنها را در سیستمهای کامپیوتری مختلف پخش کنید، تا علاوه بر کاهش بار پردازشی یک سیستم، امکان پردازش حجم عظیمی از دادهها توسط دیتابیس فراهم شود.
پست های مرتبط
VDI چیست و چه کاربردی دارد؟
مزایا و معایب اس ام اس مارکتینگ چیست؟
فریم ورک چیست؟
توپولوژی مش چیست؟
دلایل عدم اتصال دامنه جدید به هاست چیست؟
اعضا
-
Active ماه 5, 2 هفته قبل
-
Active ماه 9, 3 هفته قبل
-
Active ماه 9, 3 هفته قبل
-
Active ماه 11 قبل
-
Active 1 سال, ماه 1 قبل
بروز رسانی
سمیرا مردانی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
محمد جواد محمدی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
مریم نوری's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
محمد امین طاهری's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل
نگار حجتی's بروزسانی مشخصات انجام شد 1 سال, ماه 6 قبل