معرفی MongoDB

م

معرفی کلی MongoDB

دیتابیس MongoDB یک دیتابیس سورس باز برای اهداف متداول می‌باشد. برخلاف دیتابیس‌های رابطه‌ای که داده‌ها را در ردیف‌ها و ستون‌ها ذخیره می‌کنند، MongoDB از یک مدل دیتای سندی استفاده می‌کند و یک فرم باینری از اسناد JSON که BSON نام دارد را ذخیره می‌کند. اسناد حاوی یک یا چند فیلد هستند و هر فیلد حاوی یک مقدار از یک نوع داده خاص از جمله داده‌های Array و باینری است.

اجزای MongoDB

اسناد در مجموعه‌ها و مجموعه‌ها در دیتابیس‌ها ذخیره می‌شوند. در مقایسه با دیتابیس‌های رابطه‌ای اسناد تقریبا همانند ردیف‌ها، فیلدها مانند ستون‌ها و مجموعه‌ها مانند جدول‌ها می‌باشند. در MongoDB هیچگونه طرح ثابتی وجود ندارد، بنابراین اسناد می‌توانند ساختار متفاوتی داشته باشند و می‌توانند به صورت پویا (Dynamic) سازگار شوند. MongoDB پشتیبانی کامل از شاخص‌ها (Index) از جمله شاخص‌های ثانویه، ترکیبی و جغرافیایی را ارائه می‌کند.MongoDB همچنین دارای یک زبان Query غنی، Modifier های بروزرسانی اتمی، جستجوی متن، Aggregation Framework برای تحلیل‌های مشابه عملیات SQL GROUP BY و MapReduce برای تجزیه و تحلیل‌های پیچیده در محل می‌باشد. همسان‌سازی از پیش تعبیه شده همراه با Failover، در دسترسی پذیری بالا را فراهم کرده و Auto-Sharding نیز مقیاس ‌پذیری افقی را برای پیاده‌سازی‌های بزرگ امکان‌پذیر می‌سازد. MongoDB همچنین درایور‌های Native و Idiomatic را برای تمامی زبان‌های برنامه‌نویسی و Frameworkهای محبوب ارائه کرده تا توسعه ساده شود.

الیوت هوروویتز، مدیر طرح‌های فنی و موسس MongoDB می‌گوید:

MongoDB در آزمایشگاه طراحی نشده است. ما MongoDB را از تجربیات خودمان با سیستم‌های مقیاس وسیع، قوی و با دسترسی بالا ساختیم. ما از طراحی را ابتدا شروع نکردیم بلکه سعی کردیم بفهمیم چه چیزی اشتباه و مشکل ‌دار است و آن را درست کردیم. بنابراین طوری که من MongoDB را درنظر می‌گیرم این است که اگر شما در MySQL نوع داده را از رابطه‌ای به سندی تغییر دهید، ویژگی‌های فوق‌ العاده‌ای به دست خواهید آورد، از جملهاسناد تعبیه شده برای سرعت، کنترل‌پذیری، توسعه‌ی پذیری سریع با طرح ‌های پویا و مقیاس‌ پذیری افقی آسان‌تر، زیرا اتصال داده‌ها آنقدر مهم نیستند.بسیاری از موارد مانند شاخص‌ها، Query های پویا و بروزرسانی در دیتابیس‌های رابطه‌ای به خوبی کار می‌کنند و ما چیز زیادی را در این موارد تغییر نداده ‌ایم. به عنوان مثال، نحوه طراحی شاخص‌ها در MongoDB باید دقیقا همانطور که در MySQL یا اوراکل دیده میشود، باشد. تغییر انجام پذیرفته در MongoDB این است که می‌توان از Index کردن یک فیلد تعبیه شده استفاده کرد.

MongoDB برای نحوه ساخت و اجرای برنامه‌های کاربردی با تکنیک‌های توسعه مدرن، مدل‌های برنامه نویسی، محاسبات منابع و اتوماسیون عملیاتی طراحی شده است.

معماری Nexus

فلسفه طراحی MongoDB بر روی ترکیب قابلیت‌ های بحرانی دیتابیس رابطه ‌ای با نو آوری‌ های فناوری NoSQL تمرکز دارد. چشم‌انداز MongoDB این است که از سر انجام تلاش ‌هایی که اوراکل و دیگران در طی ۴۰ سال گذشته انجام داده ‌اند تا دیتابیس رابطه ‌ای برای رسیدن به چیزی که امروز هستند استفاده کنیم. MongoDB به جای آن‌ که چند دهه بلوغ ثابت شده دیتابیس را دور بریزد، درحال ترکیب توانایی‌ های کلیدی دیتابیس رابطه ‌ای با محصول تلاش‌ هایی که پیشگامان اینترنت برای پاسخگویی به نیازهای برنامه ‌های مدرن انجام داده اند است.

دیتابیس‌ رابطه ‌ای به طور قابل اعتمادی به برنامه‌ های کاربردی برای سال ‌های زیادی خدمت کرده و ویژگی‌هایی را ارائه می‌دهند که امروزه برای توسعه دهندگان نسل بعدی برنامه ‌های کاربردی حیاتی می ‌باشند :

  • زبان Query رسا و بیانگر و شاخص‌ های ثانویه : کاربران باید بتوانند بر داده‌ های خود به طور پیچیده برای پشتیبانی از هر دو نوع برنامه‌های کاربردی عملیاتی و تحلیلی کنترل داشته باشند. شاخص ‌ها نقش مهمی در ارائه دسترسی به داده‌ ها دارند به طوری که به جای نگه‌ داری در کد برنامه، به صورت محلی توسط دیتابیس پشتیبانی میشوند.
  • ثبات بالا : برنامه‌های کاربردی باید بتوانند بلافاصله آنچه که در دیتابیس نوشته شده است را بخوانند. ساخت برنامه‌های کاربردی حول یک مدل پایدار که قرار است در آینده به ثبات برسد، حتی برای پیشرفته‌ترین تیم‌های مهندسی بسیار پیچیده و دشوار است و وظیفه‌ی قابل توجهی را بر روی دوش توسعه دهندگان می‌گذارد.
  • مدیریت پروژه و ادغام : دیتابیس فقط یک بخش از زیرساخت‌های کاربردی هستند و باید به طور یکپارچه در مجموعه IT جای بگیرند. سازمان‌ها به دیتاسنتریدیتابیس نیاز دارند که قابل ایمن‌سازی، قابل نظارت، اتوماسیون شده باشدو با زیرساخت‌های فناوری‌ها، فرایندها و کارکنان موجود از جمله تیم‌های عملیاتی، DBA ها و تحلیلگران داده‌ ادغام شده باشند.

سیستم‌های NoSQL در حالی که این نوآوری‌ها را ارائه می‌دهند، توانایی‌های حیاتی دیتابیس‌های رابطه‌ای را که مورد انتظار کاربران هستند و از آن‌ها استفاده می‌کنند را نیز تحت پوشش قرار داده است. MongoDB یک رویکرد متفاوت ارائه می‌دهد. MongoDB با معماری Nexusاش تنها دیتابیسی است که نوآوری‌های NoSQL را همراه با خصوصیات بنیادی دیتابیس‌های رابطه‌ای در خود جای داده است.

افزودن دیدگاه

9 − پنج =

نوشته‌های تازه

دسته‌ها

برچسب ها