سلام
میخواستم بدونم میشه تو لاراول به جای دیتابیس mysql از دیتابیس مونگودبی استفاده کرد؟
اگه میشه که مزایا و معایب رو هم بگید
با تشکر
@mostafa.8722
سلام، بله به راحتی با استفاده از پکیج زیر میتونیداز MongoDB در پروژه های لاراول استفاده کنید.
https://github.com/jenssegers/laravel-mongodb
ممنون @mrerfan.ir
خب چه مزیت داره که ما تو پروژه لاراول به جای mysql از mongodb استفاده کنیم؟
Mongodb یه نوع دیتابیس غیر رابطه ای سند محور هستش. به نوعی پیچیدگی و وابستگی های دیتابیس های رابطه ای رو نداره و خود همین مورد باعث افزایش وحشتناک سرعت خوندن و نوشتن اطلاعات شده... همچنین Mongodb مقیاس پذیری بالایی داره...
در مقابل Mysql یه نوع دیتابیس رابطه ای هست و سرعت خیلی خیلی کمتری نسبت به Mongodb داره...
به نظر خود بنده که توجیه خاصی نداره که بیای و داخل پروژه لاراول از دیتابیس Mongodb استفاده کنی... (مثل اینه که بیای به پراید موتور لامبوگینی ببنید )
تو پروژه لاراول، به جای Mysql میتونید از Postgresql، استفاده کنید
خوب این حرف که میزنید به نظرم بستگی داره تو چه پروژه ای استفاده بشه. مثلا اگه بخواهیم یه سیستم داشته باشیم که چت داشته باشه .
بخش چت رو بهتره با مونگودبی استفاده کرد و بخش های دیگه رو با mysql . بستگی به نیاز هستش. من خودم همین کار رو کردم. ولی میخواستم ببنم که به صرفه هستش یکپارچه کرد که تو مونگودبی همه این کارا رو انجام داد
درود
پکیج مونگو رو که دوستان اشاره کردند
هر دیتابیسی کارآیی های خودشو داره و باید در جاش استفاده بشه.. به تصویر زیر دقت کنید
هر کدوم این دیتابیسها به تنهایی تمام نیاز هایی که ممکنه داشته باشید رو برآورده میکنه.. نه اینکه نشه از ۲ دیتابیس استفاده کرد، اما باید دید کار معقولیه؟ یا حتی لازمه؟
نکته دیگه اینکه: بله در بنچ مارکها سرعت عملکرد MongoDb بالاتره.. اما با این وجود هنوز وب سایتهای زیادی مثل: Pinterest, Twitter, YouTube, Netflix, Spotify, US Navy, NASA, Walmart, Paypal دارن از MySQL استفاده میکنند. همین youTube رو در نظر بگیرید که چه حجم داده ای روزانه به دیتابیس وارد ، ویرایش و دریافت میشه. اما هیچ کمبود سرعتی حس نمیشه...
چون که دیتابیس به درستی optimize شده و index گذاری رعایت شده و خیلی موارد دیگه
از طرف دیگه استفاده هایی هم که MongoDb داره ، خیلی جالبند
در پایان: در جدول زیر به دو گزینه Use Case و Data Structure نیز دقت کنید.. این ها فاکتورهای مهمی هست که شما باید برای انتخاب دیتابیس ازش استفاده کنی:
درود @ali.bayat
یعنی الان من از دو تا دیتابیس استفاده کردم معقولانه نیست یعنی برای بخش چت رفتم از مونگودبی استفاده کردم اشتباه؟
منظور من اینه که کل اطلاعاتتون در یه نوع دیتابیس قرار بگیره، بهتره
مثلا شما که از MongoDb استفاده کردید، خوب بقیه قسمت هاتون هم با همین دیتابیس پیاده سازی کنید
نه اینکه نصفش با MongoDb .. و نصف دیگه اش هم با mySQL .
در موارد خیلی کمی پیش میاد که یه سری از داده های شما ، دارای اِسکیمای مشخصی هست و باید با mysql پیاده بشه اما در مواقع دیگه سایر داده هاتون این طوری نیستند.. اما همونطور که گفتم این موارد خیلی کم پیش میاد و اکثر پروژه های بزرگ بخوبی با یک دیتابیس قابل پیاده سازی هستند
تو سیستم چت بخواهیم با mysql بسازیم که نامناسب هستش . از طرفی کار با mysql از کار با mongodb آسان تره و دردسرس کمتری داره. از طرفی الان مثلا سیستم های مثل الوپیک رو ببیند از چندین سیستم استفاده کردند هم لاراول استفاده کردند و هم نود جی اس . و دیتابیس هم از دوتا استفاده کردند . خوب چرا اونا اینقدر تنوع به کار دارند .
به جز عملی بودن این کار، باید هزینه ها ، زمان توسعه و نگهداری رو هم در نظر بگیرید..
به جای اینکه در نظر بگیرید، کار با کدوم آسون تره باید ببینید کدوم دیتابیس برای پروژه شما مناسبه..
به قسمت Data Structure که در بالا پست کردم، دقت کنید...
این مورد رو باید در نظر بگیرید برای انتخاب دیتابیس
موفق باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟