MongoDB چیست؟
MongoDB یک پایگاه داده است که در میان توسعهدهندگان به دلیل رابط برنامهنویسی شهودی (API)، مدل دادهای انعطافپذیر و ویژگیهایی مانند پرسوجوهای موردی، نمایهسازی و تکثیر محبوبیت پیدا کرده است. MongoDB از پرسوجوهایی پشتیبانی میکند که بر اساس فیلد، بازه و عبارتهای منظم (Regular Expression) انجام میشوند و میتوانند کل سند، فیلدهای مشخص یا نمونههای تصادفی از نتایج را بازگردانند. فیلدهای موجود در یک سند MongoDB میتوانند با ایندکسهای اولیه و ثانویه نمایهگذاری شوند و این پایگاه داده از انواع مختلف ایندکسها، شامل ایندکس تکفیلدی، ترکیبی، چندکلیدی، مکانی، متنی و هششده پشتیبانی میکند. همچنین MongoDB دسترسپذیری بالایی ارائه میدهد و با استفاده از مجموعههای تکثیر (Replica Sets) که شامل دو یا چند نسخه از دادهها هستند، عملیات نوشتن را توسط نسخه اصلی (Primary Replica) انجام میدهد، در حالی که هر نسخه دیگری قادر به پاسخگویی به درخواستهای خواندن است و در صورت خرابی نسخه اصلی، یک نسخه ثانویه به نسخه اصلی ارتقا مییابد.
در حالی که مدل سندی MongoDB انعطافپذیری بالایی دارد و رابط برنامهنویسی آن برای توسعهدهندگان جذاب است، مدیریت پایگاه دادههای MongoDB به صورت دستی دشوار، زمانبر و پرهزینه است، بهویژه هنگامی که برنامهها بزرگ و پیچیده میشوند. برای حل این مشکل، AWS سرویس Amazon DocumentDB (با سازگاری MongoDB) را ایجاد کرده است. این سرویس به صورت کاملاً مدیریتشده عمل میکند و با MongoDB سازگار است و به کاربران اجازه میدهد از درایورها، کلاینتها و ابزارهای موجود MongoDB با Amazon DocumentDB استفاده کنند. به عنوان یک سرویس کاملاً مدیریتشده، Amazon DocumentDB این امکان را فراهم میکند تا پایگاه دادههای سازگار با MongoDB را در فضای ابری راهاندازی، ایمنسازی و مقیاسدهی کنید، بدون اینکه نگران نگهداری و بروزرسانی نرمافزار پایگاه داده، پیکربندی و امنیت خوشهها، اجرای نرمافزار مدیریت خوشه، پیکربندی بکاپها و پایش بار کاری تولید باشید. همچنین میتوانید بارهای کاری MongoDB را با استفاده از سرویس مهاجرت پایگاه داده AWS (AWS DMS) و ابزارهای خط فرمان مانند mongodump و mongorestore به Amazon DocumentDB منتقل کنید.
اجرای بارهای کاری MongoDB در Amazon DocumentDB مزایای مشخصی دارد. Amazon DocumentDB از API MongoDB پشتیبانی میکند و امکاناتی مانند مقیاسپذیری، دسترسپذیری بالا و دوام داده، امنیت و انطباق با استانداردها را ارائه میدهد. این سرویس ذخیرهسازی و محاسبات را از یکدیگر جدا میکند و اجازه میدهد هر یک بهصورت مستقل مقیاسدهی شوند، بنابراین میتوانید ظرفیت خواندن را تا میلیونها درخواست در ثانیه افزایش دهید و با افزودن حداکثر ۱۵ نسخه خواندنی با تأخیر کم، این کار را تنها در چند دقیقه انجام دهید، بدون توجه به حجم دادهها. Amazon DocumentDB برای ۹۹.۹۹ درصد دسترسپذیری طراحی شده و دادهها را در سه منطقه در دسترس (Availability Zone) درون یک منطقه جغرافیایی (Region) ذخیره میکند. در این سرویس، بکاپگیری پیوسته به طور پیشفرض فعال است و امکان بازیابی نقطهای (Point-in-Time Restore) تا یک روز را فراهم میکند.
از نظر امنیت و انطباق، Amazon DocumentDB در محیط Amazon VPC اجرا میشود که امکان جداسازی خوشهها در شبکه مجازی اختصاصی را فراهم میکند. این سرویس از رمزنگاری دادهها در حالت ذخیره با AWS KMS و در حال انتقال، کنترل دسترسی مبتنی بر نقش و انطباق با گواهیها و استانداردهایی مانند PCI DSS، ISO 9001، ۲۷۰۰۱، ۲۷۰۱۷، ۲۷۰۱۸، SOC 1، ۲ و ۳ و HITRUST پشتیبانی میکند و همچنین واجد شرایط HIPAA است.