1. nosql ها برای کارهایی خوبند که تعداد فیلد زیادی داره . و دلیل محبوبیت آنها بخاطر سرعت در موارد ساده نیست ...
2. پس باید طوری برنامه ریزی کرده باشند که مثلا ما فیلد نام و آدرس و تلفن داریم ... اما آنهایی که تلفن وارد نمیکنند مقدار NULL را وارد جدول نمیکند . چون جدولی در کار نیست که فضایی نه چندان زیاد اما فضا اختصاص داده شود ...
3. NULL در no sql نداریم
4. محدویت فیلد نداریم
5. فیلد ها در یک جدول می تواند در هر رکورد یکسان نباشد
6. تعریف نوع DATE DATE/TIME TEXT INT و ... نداریم و این برای سرعت اهمیت دارد
وگرنه از نظر دیگر با sql فرقی ندارد !!!
من واقعا فرق جدول (رابطه ای) با ستونی که میگید نفهمیدم
به نظرم آمد چنین باید باشد
و چیز دیگری که از کلام شما گرفتم این بود که سرعت sql ها از نوع nosql ها نسبی کم هست نه برابری
پس با بهینه کردن دستورات و متکی کردن دستورات به php تا به sql , باعث سرعت چشم گیری روی دیتاها خواهد شد
این رو در اول بحث عرض کنم که ما در NoSQL اصلا مفاهیم فیلد،رکورد،جدول و ... که مربوط به مدل رابطه ای میشوند رو نداریم.به طور مثال ما مبحث جفت های کلید-مقدار داریم.پس اصلا دلیل نمیشه این جفت کلید-مقدار ها تعدادشون زباد باشه و یا کم خوب باشند یا بد. ولی تقریبا درست متوجه شدید که سرعت اون ها رو باید در مقیاس بالا مشاهده کرد.
ببیند ما در مانگو یا CouchDB به این صورت مقالی که شما زدید در مورد نام،آدرس و تلفن رو ذخیره میکنیم.
{"_id:1,"name":"YOURNAME","tell":"YOURTELLNUMBER", "address":"YOURADDRESS"}
به سطر بالا میگن یک سند داده ای.که به طور مثال کلید نام میتواند شکسته شود و شامل نام کوچک و نام خانوادگی هم شود.
مواردی که ذکر کردید هیچکدوم صحیح نیست و یا حداقل در اصول NoSQL نمیگنجه.
در مورد فرق این 2 مدل موارد خیلی رو میشه نام برد ولی میتونید در تاپیک زیر اطلاعات خوبی برای مقایسه این دو مدل دریافت کنید :
پایگاه های داده ای رابطه ای یا غیر رابطه ای ؟ مسئله این است!
در مورد سرعت هم الزاما اینطور نیست.ما معیار سرعت رو بر حسب مقیاس داده ای در نظر میگیریم.