مهدی نظری
مهدی نظری
خواندن ۱ دقیقه·۴ سال پیش

پایگاه داده MongoDB − مفاهیم

پایگاه داده MongoDB یک پایگاه داده cross-platform است که به زبان ++c نوشته شده است و از جمله دیتابیس های NoSQL محسوب می شود (دیتابیس Document oriented نیز خوانده می شود).

دیتابیس های NoSQL:

نوعی از پایگاه داده هستند که اصطلاحا schema less خوانده می شوند و به دلیل عدم وجود schema از سرعت بسیار بالاتری نسبت به دیتابیس های SQL برخوردارند. همچنین به دلیل عدم وجود ساختار پیچیده در دیتابیس های SQL، حجم دیتابیس های NoSQL کمتر از نوع SQL می باشد.

به طور کلی می توان گفت دیتابیس های NoSQL مناسب برای ذخیره سازی داده های بدون ساختار با حجم بسیار بالا هستند.

دیتابیس (database)

دیتابیس یک container فیزیکی برای collection هاست. هر دیتابیس شامل فایل های مربوط به خود است.

مجموعه (collection)

معادل table در دیتابیس های رابطه ای هستند. collection ها شامل مجموعه ای از document های mongoDB هستند و بدون schema . هر collection می تواند فیلد های متفاوتی داشته باشد.

سند (document)

سند مجموعه ای از جفت key-value ها هستند. document ها اسکیمای dynamic دارند، به این معنی که document ها در یک collection می توانند شامل فیلد های متفاوت باشند و یا data type های متفاوتی داشته باشند.

معادل مفاهیم در MongoDB و RDBMS
معادل مفاهیم در MongoDB و RDBMS

ویژگی های MongoDB

  • بدون اسکیما (Schema less)
  • ساختار روشن object ها
  • بی نیاز از join های پیچیده
  • مقیاس پذیری (scale)

دیتا مدل MongoDB

دیتا مدل Embedded: در این نوع داده می توان داده های مربوط به هم را به صورت یک document در نظر گرفت.

{ _id: , Emp_ID: &quot10025AE336&quot Personal_details:{ First_Name: &quotRadhika&quot, Last_Name: &quotSharma&quot, Date_Of_Birth: &quot1995-09-26&quot }, Contact: { e-mail: &quotradhika_sharma.123@gmail.com&quot, phone: &quot9848022338&quot }, Address: { city: &quotHyderabad&quot, Area: &quotMadapur&quot, State: &quotTelangana&quot } }

دیتا مدل :Normalized: در این نوع مدل دیتا تا حد امکان در document های جدا قرار داده می شود.

Employee:

{ _id: <ObjectId101>, Emp_ID: &quot10025AE336&quot }

Personal_details:

{ _id: <ObjectId102>, empDocID: &quot ObjectId101&quot, First_Name: &quotRadhika&quot, Last_Name: &quotSharma&quot, Date_Of_Birth: &quot1995-09-26&quot }

Contact:

{ _id: <ObjectId103>, empDocID: &quot ObjectId101&quot, e-mail: &quotradhika_sharma.123@gmail.com&quot, phone: &quot9848022338&quot }

Address:

{ _id: <ObjectId104>, empDocID: &quot ObjectId101&quot, city: &quotHyderabad&quot, Area: &quotMadapur&quot, State: &quotTelangana&quot }

در قسمت بعدی به شرح دستورات ابتدایی MongoDB می پردازم.

دیتابیس های nosqlmogodbمونگو دی بیدیتابیس mongodb
یک دولوپر خسته که پایتون را دوست می دارد.
شاید از این پست‌ها خوشتان بیاید