مونگو دیبی (Mongo DB) یکی از معروفترین پایگاه دادههای No SQL است که ساختار منعطفی دارد و بیشتر در پروژه هایی با حجم بالای داده استفاده میشود. این پایگاه داده پلتفرمی متن باز و رایگان است و با مدل دادههای مستند گرا (Document – Oriented) کار میکند و در ویندوز، مکینتاش و لینوکس قابل استفاده است. مقادیر داده ای ذخیره شده در مونگو دیبی، با دو کلید اولیه (Primary Key) و ثانویه (Secondary Key) مورد استفاده قرار میگیرند.
مونگو دیبی شامل مجموعه ای از مقادیر است. این مقادیر به صورت سندهایی (Document) هستند که با اندازههای مختلف، انواع مختلفی از دادهها را در خود جای داده اند. این مسئله باعث شده که مونگو دیبی بتواند داده هایی با ساختار پیچیده مانند دادههای سلسله مراتبی و یا آرایه ای را در خود ذخیره کند.
ویژگیهای مونگو دیبی چیست؟
- مونگو دیبی به علت مستند گرا بودن مدل ذخیره دادهها در مقایسه با دیتابیسهای رابطه ای بسیار منعطفتر و مقیاس پذیرتر است و بسیاری از نیازمندیهای کسب و کارها را برطرف میکند.
- این پایگاه داده برای تقسیم دادهها و مدیریت بهتر سیستم از شاردینگ (Sharding) استفاده میکند. شاردینگ به معنی تکه تکه کردن است و در لود بالای شبکه انجام میشود. به گونه ای که دیتابیس به چند زیربخش تقسیم میشود تا روند پاسخ دهی به درخواست هایی که از سمت سرور میآید، راحتتر شود.
- دادهها با دو کلید اولیه و ثانویه قابل دسترسی هستند و هر فیلدی قابلیت کلید شدن را دارد. این امر زمان دسترسی و پردازش داده را بسیار سریع میکند.
- همانند سازی (Replication ) یکی دیگر از خصوصیات مهم مونگو دیبی است. در این تکنیک از یک داده به عنوان داده اصلی کپی هایی تهیه شده و بخشهای دیگری از سیستم پایگاه داده ذخیره میشود. در صورت از بین رفتن و یا مخدوش شدن این داده، دادههای کپی شده به عنوان داده اصلی و جایگزین مورد استفاده قرار میگیرند.
روش کار mongo db چیست؟
در دیتابیسهای رابطه ای دادهها به شکل رکورد (Record) نگهداری میشوند اما در مونگو دیبی، ساختار نگهداری دادهها به شکل سند است. هر سند از نوع Binary JSON یا BSON است و دارای فیلدهای کلید و مقدار میباشد.
برای اجرا کردن کدهایی که در مونگو دیبی نوشته شده است باید از طریق Mongo Shell اقدام کرد. مونگو شل رابط تعاملی دیتابیس و برنامه نویس محسوب میشود و به آنها اجازه ارسال کوئری (Query) و به روزرسانی دادهها را میدهد.
مزایا و معایب استفاده از mongo db چیست؟
دیتابیسهای رابطه ای دارای اسکیما (Schema) هستند. یعنی ساختار خاصی برای داده هادر نظر گرفته و مدلهای محدودی را ذخیره میکنند. اما مونگو دیبی و به طور کلی دیتابیسهای NoSQL در برابر پذیرش داده هایی با توع مختلف بسیار منعطف هستند و این مزیت مهمی برای برنامه نویسان محسوب میشود. مقیاس پذیری این پایگاه داده باعث استفاده از آن در پروژه هایی میشود که با کلان دادهها (Big Data) سروکار دارند.
علاوه بر مزایای گفته شده مشکلاتی نیز در مونگو دیبی وجود دارد که ممکن است دردسرساز شود. این دیتابیس در استفاده از کلید خارجی (Foreign Key) برای دادهها ضعف دارد و ممکن است پایداری دادهها و یکپارچگی سیستم را به هم بریزد. همچنین در خوشه بندی دادههای موجود در این پایگاه داده، تنها میتوان یک گره (Node) را به عنوان گره اصلی (Master) انتخاب کرد که اگر از بین برود، ممکن است مرتب سازی زیرگرههای آن از بین برود. این مشکل در پایگاه داده کاساندرا (Cassandra) برطرف شده است.