MongoDB چیست؟
بانک اطلاعاتی MongoDB یک سیستم دیتابیس توزیع شده و مبتنی بر document یا document-based است که به صورت open-source منتشر شده و کاملاً cross-platform می باشد. MongoDB کمک می کند تا توسعه اپلیکیشن ها بسیار ساده شده و مقیاس پذیر شود. MongoDB یک بانک اطلاعاتی NoSQL است که توسط MongoDB Inc توسعه داده شده است.
کلمه MongoDB از پروژه Humongous به معنی بزرگ و یا حجیم گرفته شده است. در واقع بانک اطلاعاتی MongoDB به منظور ذخیره سازی حجم وسیعی از داده ها و همچنین کار کردن با داده ها با سرعت بسیار بالا، توسعه داده شده است.
همانطور که گفته شد MongoDB یک بانک اطلاعاتی NoSQL می باشد. بانک های اطلاعاتی NoSQL در مقایسه با بانک های اطلاعاتی مبتنی بر SQL که در آنها داده ها نرمال سازی می شوند متفاوت عمل می کنند. در بانک های اطلاعاتی رابطهای داده ها با استفاده از schema ها و table های مختلف نرمال می شوند. در این نوع از بانک های اطلاعاتی هر جدول یک ساختار و یا یک fixed structure یا به عبارتی غیرقابل تغییر دارند. این در حالی است که بانک های اطلاعاتی NoSQL از قبیل MongoDB داده های خود را در کالکشن هایی که با نوع داده JSON کار می کنند ذخیره می کنند. به همین دلیل است که به این بانک های اطلاعاتی اصطلاحاً بانک های اطلاعاتی مبتنی بر سند و یا document-based می گویند.
این نوع بانک های اطلاعاتی هیچ schema خاصی را برای داده های ذخیره شده لحاظ نمی کنند؛ به عبارت دیگر در این نوع از بانک های اطلاعاتی مفاهیمی از قبیل table ها و row ها و column ها که در بانک های اطلاعاتی رابطه ای وجود دارند، تعریف نمی شوند. نکاتی که در این قسمت گفته می شود، ارتباط و نقاط تمایز بین بانک های اطلاعاتی مبتنی بر اسناد؛ برای مثال MongoDB و بانک های اطلاعاتی مبتنی بر رابطه ها را بیان می کنیم. در سیستمهای RDBMS یک جدول میتواند چندین سطر (row) و چندین ستون (column) داشته باشد. به طور مشابه در MongoDB یک کالکشن میتواند چندین document را در خود جای دهد، که هر کدام از آنها معادل یک row در بانک های اطلاعاتی رابطه ای هستند. هر document چندین field دارد، که معادل با ستون ها (columns) در بانک های اطلاعاتی رابطه ای هستند. document های موجود در یک کالکشن یکسان می توانند field متفاوتی داشته باشند.
آنچه در قسمت زیر مشاهده می کنید و مثالی از یک document مبتنی بر JSON می باشد.
استفاده کردن از MongoDB مزیت هایی را دارد که در ادامه به آنها می پردازیم.
مزیت های استفاده کردن از MongoDB
- بانک اطلاعاتی MongoDB داده های خود را در document های مبتنی بر JSON ذخیره می کند و هیچ schema خاصی را برای آنها لحاظ نمی کند، این موضوع اجازه می دهد تا ما بتوانیم داده های سلسله مراتبی و یا hierarchical data را در یک document ذخیره کنیم؛ از همین جهت ذخیره کردن و بازیابی کردن داده ها ساده و به روشی کارآمد انجام می شود.
- در بانک های اطلاعاتی امکان scale up و scale down کردن که بر اساس نیازمندی ها اتفاق می افتد، بسیار ساده است. MongoDB اجازه می دهد تا بتوانید داده های خود را بر روی چندین سرور مختلف شکسته و یا split و یا اصطلاحاً اسپلیت کنید.
- بانک اطلاعاتی MongoDB قابلیت های بسیار خوبی را از قبیل indexing و aggregation و file store و غیره در اختیار ما قرار می دهد.
- بانک اطلاعاتی MongoDB در کار کردن با داده های حجیم بسیار خوب و با کارایی های بسیار بالا عمل می کند.
- بانک اطلاعاتی MongoDB درایورهایی را در اختیار ما قرار می دهد تا با آنها بتوانیم داده های خود را ذخیره و بازیابی کنیم. این درایور ها می توانند برای توسعه اپلیکیشن های مختلف با زبان های برنامه نویسی و تکنولوژی هایی از قبیل سی شارپ و جاوا و پایتون و Node.js و غیره مورد استفاده قرار بگیرند.
- بانک اطلاعاتی MongoDB ابزارهایی را در اختیار ما قرار می دهند تا با استفاده از آنها بتوانیم بانک های اطلاعاتی مبتنی بر MongoDB را مدیریت کنیم.
برنامه تحصیلی
- 1 Section
- 10 Lessons
- 10 هفته
- مبانی کار کردن با MongoDB10
- 1.1MongoDB چیست؟
- 1.2نصب کردن MongoDB
- 1.3آشنایی با MongoDB Server
- 1.4کار کردن با MongoDB Shell
- 1.5کار کردن با دستورات MongoDB Shell
- 1.6آشنایی با MongoDB Compass
- 1.7ایجاد کردن یک پایگاه داده در MongoDB
- 1.8آشنایی با Collection ها در MongoDB
- 1.9آشنایی با Document ها در MongoDB
- 1.10آشنایی با روابط (Relationship) در Document های MongoDB