بین پایگاه های داده ی NoSQL و SQL کدام را انتخاب کنم؟

پرسیده شده
فعالیت 1259 روز پیش
دیده شده 605 بار
10

مزیت استفاده از پایگاه های SQL:

  • ساختار مشخص داده ها را تضمین می کند.
  • روابط جدول ها به شما اجازه می دهند که هر داده را فقط یک بار ذخیره کنید  و نیازی به تکرار نیست.

مزیت پایگاه های داده ی NoSQL:

  • نبود ساختار از پیش تعیین شده انعطاف بیشتری به برنامه می دهد. (می‌توانید ساختار دیتابیس را هرطور که مناسب پروژه شما هست، ایجاد کنید)
  • چون داده ها در قالبی ذخیره می شوند که برنامه به آن نیاز دارد بنابراین دریافت داده ها سریع تر است.
  • هیچ حد نصابی برای درخواست های پایگاه داده شما وجود ندارد. (داده‌ها به شکل افقی و عمودی مقیاس پذیرند.)

**  **********************  **

 معایب SQL:

  • روابط ممکن است باعث ایجاد کوئری های پیچیده JOIN شوند.
  • انعطاف پذیری کم به دلیل ساختار از پیش تعیین شده. تغییر ساختار یک جدول در آینده اکثرا بسیار سخت و گاها غیر ممکن است.
  • مقیاس پذیری افقی در SQL کار سختی است.

معایب NoSQL:

  • انعطاف پذیری بیش از حد ممکن است باعث تنبل شدن شما و پیاده نکردن ساختاری مشخص برای پایگاه داده تان شود.
  • وجود داده های تکراری باعث می گردد که برای انجام عملیات مورد نظرتان مانند بروز رسانی مجبور شوید چند دستور بروزرسانی را برای چندین مقدار مختلف اجرا نمائید.

**  **********************  **

سوال: چه زمانی از پایگاه های داده ی SQL استفاده کنم؟

پاسخ: اگر انواع داده های مختلفی دارید که در قسمت های مختلف برنامه تان از آن ها استفاده می کنید بهتر است از SQL ها استفاده کنید چرا که در NoSQL ها باید دائما قسمت های مختلفی از برنامه تان را بروز رسانی کنید. همچنین اگر داشتن یک ساختار ثابت برایتان مهم است و احتمال تغییر داده هایتان وجود ندارد می توانید از SQL ها استفاده کنید.

 

سوال: چه زمانی از پایگاه های داده ی NoSQL استفاده کنم؟

پاسخ: اگر انتظار دارید داده هایتان در آینده تغییر کند یا ساختار داده ها مشخص نیست بهترین گزینه NoSQL است. همچنین اگر برنامه ی شما درخواست های دریافت (Read) زیادی دارد اما زیاد داده ها را تغییر نمی دهید یا اگر بعدا به مقیاس دهی افقی نیاز پیدا خواهید کرد باید NoSQL را انتخاب کنید.

فایل پیوست

رضا *
رضا *

26 آبان 99