0 امتیاز
قبل در برنامه نویسی توسط (1.3هزار امتیاز)

می خواستم بدونم از نظر performance از بین پایگاه داده های MySQL و MongoDB کدام مناسبتر هستند؟

1 پاسخ

+1 امتیاز
قبل توسط (65 امتیاز)
ویرایش شده قبل توسط

از لحاظ کارایی (performance) پایگاه‏ داده MangoDB که جز پایگاه‏ داده‏های NoSQL ای و سند محور (document-store) محسوب می‏شود از پایگاه‏داده رابطه‏ ای MySQL بهتر است. دلایل اصلی این توفق را می توان این چنین برشمرد:

1. MangoDB از مدل تراکنشی BASE استفاده می کند که سربار (overhead) کم‏تری نسبت به مدل تراکنشی ACID در MySQL تحمیل می کند.

2. استفاده از ساختارهای درون‏ حافظه‏ ای (in-memory)

ازلحاظ سرعت insert, update, delete داده‏هایی با سایزهای متفاوت کارایی MangoDB از MySQL, MS SQL Server, Oracle بهتر است.  ولی برای MangoDB هم می توان نقاط ضعفی را برشمرد:

1. کارایی ضعیف تر در استفاده از توابع تجمعی (aggregate functions). درخصوص جستارهای تجمعی یا انبوهشی (aggregation query) مانند average,sum,max,.. که نیازمند گروه‏بندی داده هاست(مثل دستور group by در SQL) در MangoDB لازم است تا خود به کمک  مدل برنامه نویسی موازی نگاشت‏کاهش (MapReduce) توابع تجمعی خود را به لخواه پیاده‏سازی کنید. این نقص هم در نسخ جدید این پایگاه‏داده مرتفع می‏گردد.
2. کارایی ضعیف تر جستارها بر اساس مقادیر غیرکلید querying based on non-key values)
3. در MangoDB خبری از الحاق (join) نیست. تصمیم بر سر ارتباط اسناد در MangoDB که می تواند به‏صورت مرجع داخلی یا خود فایل به صورت تودرتو در اسناد دیگر باشد می تواند در کارایی تاثیرگذار باشد.

4. MySQL یک استاندارد صنعتی (industry standard) است و به طور گسترده تری نسبت به MangoDB تحت حمایت است و امکانات بیش تری برایش وجود دارد و باگ های بسیاری در آن رفع گردید است.

قبل توسط (1.3هزار امتیاز)
این جمله که در زمانی که query های پیچیده داریم استفاده از MangoDB توصیه نمیشه درسته؟

سوالات مشابه

0 امتیاز
1 پاسخ 796 بازدید
+1 امتیاز
2 پاسخ 15.1هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط SAMIRA (7.1هزار امتیاز)
0 امتیاز
0 پاسخ 816 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط sina-z (1.3هزار امتیاز)
0 امتیاز
0 پاسخ 300 بازدید
0 امتیاز
1 پاسخ 996 بازدید
0 امتیاز
0 پاسخ 317 بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
...