فلسفه ی Mongo DB
Humongous یا Mongo دنیای پایگاه داده ها را متحول کرد، پایگاه داده عموما با دستورات SQL آموزش داده میشود، اگر به شما بگوییم گونه ای از دیتابیس ها هستند که بدون دستور SQL کار میکنند چه واکنشی نشان میدهید ؟ این نوع پایگاه داده ها به پایگاه داده های NoSQL مشهور هستند، با دوره Mongo DB در Zero To Hero همراه باشید تا قهرمان MongoDB و دیتابیس های NoSQL شوید.
Mongo یک دیتابیس Open Source است و به صورت NoSQL عمل میکند. به زبان ساده به این معنی است که در این نوع دیتابیس ها دستورات SQL و مدل رابطه ای نداریم. Mongo یک دیتابیس Document-Oriented است و بهترین دیتابیس برای ذخیره داده های بدون ساختار مشخص می باشد مخصوصا هنگامی که داده های بدون ساختار زیادی داشته باشید.
MongoDB در سال ۲۰۰۷ توسط شرکت ۱۰gen توسعه یافت اما با استقبال بسیاری روبرو نشد، مدیران این پروژه بجای اعلام شکست پروژه متوجه شدند که Mongo ساختار بسیار مناسبی دارد بنابراین در سال ۲۰۰۹ دیتابیس Mongo را به صورت Open Source منتشر کردند به صورتی که در سال ۲۰۱۳ شرکت ۱۰gen نام خود را به MongoDB تغییر داد.
در MongoDB همانند پایگاه داده های مبتنی بر SQL یک Database وجود دارد که داده ها درون آن ذخیره میشوند. در پایگاه داده های مبتنی بر SQL مجموعه ای از table ها وجود دارند اما در Mongo مجموعه ای از Collection ها را داریم. table ها از مجموعه ای از سطر ها تشکیل میشوند اما در اینجا collection ها از مجموعه ای از Document ها تشکیل میشوند.
بنابراین در دیتابیس های SQL داده ها درون یک row که هر row درون یک table است و هر table درون یک Database است ذخیره میشوند. در Mongo داده ها درون یک document که هر document درون یک collection است و هر collection درون یک Database است ذخیره میشوند.
تفاوت اصلی کجاست ؟ همانطور که گفتیم SQL رابطه ای است اما Mongo به صورت Document Oriented می باشد. میخواهیم کمی عمیق تر نگاه کنیم. اگر بخواهیم به مدل رابطه ای نگاه کنیم ۲ جدول داریم. vendor_id کلید خارجی جدول Potions است و در جدول Vendors به عنوان کلید اصلی به کار میرود و از این طریق به اطلاعات هر دو جدول دسترسی پیدا میکنیم. اگر بخواهیم به مدل NoSQL نگاه کنیم تمامی داده ها به صورت گروهی درون Document ها ذخیره میشوند و مجموعه ای از Document ها Collection را تشکیل میدهند.
همانطور که گفتیم Mongo برای ذخیره داده های بدون ساختار مناسب می باشد. همانطور که مشاهده میکنید در Collection زیر سه عدد Document داریم که هرکدام فیلد های متفاوتی برای ذخیره سازی داده دارند، برای مثال Document اول شامل کلیدهای Name، Price و Vendor می باشد در صورتی که Document دوم شامل کلید های Name و Price می باشد و Document سوم شامل کلید های Name, Price و Danger می باشد.
تاکنون با فلسفه ی Mongo و دیتابیس های NoSQL آشنا شدیم، با Zero To Hero همراه باشید تا قهرمان MongoDB شوید.
مطالب زیر را حتما مطالعه کنید
نکاتی که باید پیش از دانلود نمودار ER بدانید
آشنایی با نمودار رابطهای (ER)
تفاوت میان پایگاه داده SQL و NoSQL
آشنایی با مفهوم ACID
مدیریت پایگاه داده PostgreSQL با پایتون
مدیریت پایگاه داده MySQL با پایتون
3 Comments
Join the discussion and tell us your opinion.
دیدگاهتان را بنویسید لغو پاسخ
برای نوشتن دیدگاه باید وارد بشوید.
درود خسته نباشید
یک کلمه اضافه نوشتید در این جمله:
“سوم دارای شامل کلید های Name, Price و Danger می باشد.”
سلام و درود
خیلی ممنونم اصلاح شد
موفق باشید
خیلی عالی بود.
لطفا بیشتر مطالب بزارید.