نکته مهم: این مقاله به مرور زمان، ویرایش و یا تکمیل میشود!
در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، تقاضا میکنم که مرا مطلع کرده، تا نسبت به تصحیح و تکمیل آن در اسرع وقت اقدام نمایم.
با کمال تشکر داریوش تصدیقی
نسخه ۱.۲
بانک اطلاعاتی MongoDB یک بانک اطلاعاتی NoSQL یا Non SQL یا Non Relational میباشد. یعنی بر خلاف اکثر بانکهای اطلاعاتی که میشناسیم (مانند Access, SQL Server, Oracle, MySQL)، یک بانک اطلاعاتی RDBMS نمیباشد! این بدان معنا است که در بانکهای اطلاعاتی NoSQL، چیزی به عنوان Relation بین جداول وجود ندارد!
MongoDB = Mongo Database
NoSQL = Not Only SQL
RDBMS = Relational Database Management System
بانک اطلاعاتی MongoDB، مانند بانکهای اطلاعاتی Oracle, MySQL, SQL Server، مستقل از سیستم عامل (Cross Platform) میباشد. این بدان معنا است که تقریبا روی اکثر سیستم عاملهای مطرح، نصب و راهاندازی میشود.
نکته: نسخههای جدید SQL Server نیز قابلیت نصب بر روی سیستم عامل لینوکس را دارند!
در MongoDB، به جای جدول (Table)، مفهومی به نام مجموعه (Collection) وجود دارد.
در MongoDB، به جای سطر (Row or Record)، مفهومی به نام سند (Document) وجود دارد. به همین دلیل، اصطلاحا میگویند که این بانک اطلاعاتی، Document Oriented میباشد.
معادلسازی بخشی از اصطلاحات بکار رفته در MongoDB، با دیگر بانکهای اطلاعاتی RDBMS:
RDBMS Databases MongoDB ---------------------------------- Database Database Table Collection Row/Record Document Column Field
در MongoDB، تراکنش (Transaction) وجود ندارد! یا لااقل نه به آن مفهومی که در SQL Server وجود دارد! این بدان معنا است که اصلا منطقی نیست که در پروژههایی مانند حسابداری، حقوق دستمزد و بانکداری الکترونیکی، از بانک اطلاعاتی MongoDB استفاده نماییم، ولی برای پروژههای مانند Log Center, Telegram, CMS, Instagram، بسیار مناسب میباشد.
در تمام بانکهای اطلاعاتی RDBMS، برای استفاده از جداول، ابتدا جدول مورد نظر را ایجاد کرده و سپس باید ساختار جدول را تعریف (ایجاد) نماییم. یعنی باید بگوییم که در این جدول، چه فیلدهایی و از چه جنسی داریم. بر خلاف بانکهای اطلاعاتی RDBMS، بانکهای اطلاعاتی NoSQL، اصطلاحا Schema-Less میباشند! یعنی دارای هیچ ساختار معینی، از نظر نام و جنس فیلد ندارند! یعنی ما میتوانیم به راحتی ابتدا مجموعه (Collection) خود را تعریف (ایجاد) کرده و بدون نیاز به تعریف نام و جنس فیلدها، اقدام به درج اطلاعات (سند = Document) نماییم و این خیلی هیجانانگیز است!
در بسیاری از بانکهای اطلاعاتی RDBMS، مانند SQL Server و Oracle، ما از زبانی به نام T-SQL برای ارتباط برقرار کردن با آنها استفاده مینماییم. در حالی که در بانک اطلاعاتی MongoDB، از زبان JavaScript استفاده میکنیم!
هر چند که بانکهای اطلاعاتی NoSQL، برای مصارف Big Data استفاده میشوند، ولی در پروژه های Small, Medium, Large Scale نیز، استفاده از آنها خالی از لطف نیست، چرا که سرعت و کارایی آنها به طرز چشمگیر و فوقالعادهای زیاد بوده و قابل مقایسه با بانکهای اطلاعاتی RDBMS نمیباشند.
برای دانلود MongoDB، میتوانیم به پایگاه http://www.MongoDB.com مراجعه کرده و با توجه به سیستم عامل خود، نسخه مناسب را انتخاب و دانلود نماییم.
برای دانلود نسخه Community Edition به نشانی ذیل مراجعه میکنیم:
https://www.mongodb.com/download-center/community
برای دانلود نسخه Enterprise Edition به نشانی ذیل مراجعه میکنیم:
https://www.mongodb.com/download-center/enterprise
نکته: توصیه میکنیم که به جای دانلود فایل MSI و نصب آن، فایل ZIP را دانلود کرده و Extract نمایید!
متاسفانه در حال حاضر، به دلیل تحریمهای بیشرمانه ایالات متحده آمریکا! در زمان دانلود، با خطایی مواجه خواهیم شد و امکان دانلود وجود نخواهد داشت! لذا برای دانلود، مجبور خواهیم بود که از یک VPN مناسب استفاده نموده و یا از امکانات سایت شکن، استفاده کنیم:
سورپرایز: نشانیهای ذیل را برای شما عزیزان قرار میدهیم که مستقیما میتوانید وارد آنها شده و فهرستی از تمامی نسخههای MongoDB را در آن مشاهده کرده و دانلود نمایید. دقت کنید که برای دانلود آنها کماکان نیاز به فیلترشکن دارید! ولی مزیت این لینکها آن است که شما را دچار تشریفات سایت MongoDB برای دانلود نمیکند:
https://www.mongodb.org/dl/win32
https://www.mongodb.org/dl/linux
به هر حال امیدواریم، زمانی که شما این مطلب را مطالعه میکنید، این محدودیت، از این سایت و دیگر سایتها، برداشته شده باشد.
نکته: حجم فایل ZIP دانلود شده، کمتر از ۳۲۰ مگابایت میباشد!
نکته: پس از دانلود فایل ZIP، تنها کافی است که آن را Extract کرده و فایلها و پوشه bin را در پوشه دلخواه کپی نماییم. این بدان معنا است که برای استفاده از خدمات MongoDB نیازی به نصب آن نداریم!
برای اینکه از نسخههای مختلف MongoDB و خصوصا آخرین نسخه آن مطلع شویم، میتوانیم به نشانی ذیل مراجعه نماییم:
https://docs.mongodb.com/manual/release-notes
برای اتصال به MongoDB، در زبانهای برنامهنویسی، Driver های زیادی تولید شده که در اینجا نشانی Driver مربوط به برنامهنویسان #C را به عنوان نمونه قرار میدهیم:
https://mongodb.github.io/mongo-csharp-driver
توصیه میکنیم برای کسب اطلاعات بیشتر، به نشانی ذیل مراجعه کرده و مطلبی که در خصوص مقایسه دو بانک اطلاعاتی NoSQL و RDBMS نوشته شده است را مطالعه نمایید. در این مقاله دو بانک اطلاعاتی MongoDB و MySQL با هم مقایسه شدهاند:
https://www.mongodb.com/compare/mongodb-mysql
پایان