احتمالا وقتی که شما برنامه نویسی وب رو با PHP شروع کردید هیچ وقت به این فکر نکردید که از دیتابیسی غیر از MySQL استفاده کنید ( شایدم فکر کردید! )
اما حالا که بیشتر با دنیای وب و بک اند آشنا شدید کنجکاوی بیشتری پیدا کردید و همیشه در همه چیز دنبال بهترین ها هستید.
یکی از مهم ترین "بهترین ها" ها که در تیتر هم خوندید دیتابیس است. هیچ سایت بزرگ یا حداقل بدردبخوری بدون دیتابیس هیچ است و در واقع بدون ذخیره اطلاعات هیچ است!
اما اگه در کنار اینها برنامه نویس Python و مخصوصاً Node.JS باشید بیشتر به این موضوع فکر کردهاید. این مقاله رو بخونید تا تجربیات من رو در «انتخاب بهترین دیتابیس برای Django و Node.JS رو بخونید»
جنگو به عنوان محبوب ترین محیط اجرایی پایتون برای وب بهترین دیتابیس برای خودش رو به ترتیب زیر قرار داده:
همونطور که مشخصه PostgreSQL بیشترین سازگاری رو با Django داره. در ضمن بهتره بدونید PostgreSQL ساده ترین روش برای اتصال رو برای Django ارائه میده و طبق تجربه و اون چیزی که من تاحالا دیدم فوقالعاده سریع مخصوصا تو لینوکس که منو شگفت زده کرد. البته باید بدونید امکانات Postgres خیلی زیاده و بیشتر بدرد دیتا های زیاد میخوره پس اگه پروژه کوچیکی دارید بهتره برید سراغ گزینه های سبک تر مثل MariaDB و MySQL. راستی خالی از لطف نیست که بدونید pgAdmin با Flask نوشته شده! پس در کل نتیجه میگیریم PostgreSQL بهترین دیتابیس برای Django و Flask هست و البته اگه پروژه سبک و کوچیکی دارید میتونید از MySQL استفاده کنید...
اگه میخواید به حرفای بعضی اهل فن و ... گوش کنید همینجا خوندن رو تموم کنید این پست رو لایک کنید و برید ولی اگه به من اعتماد دارید میخواید به حرفای من گوش بدید پس با دقت ادامه پست رو بخونید...
همونطور که میدونید یا شایدم نمیدونید اکثرا ما رو به استفاه از MongoDB برای Node.JS توصیه میکنند که واقعا از نظر من مسخره و بی پایه و اساس؛ چون خود MongoDB بی پایه و اساس. Mongo هیچ استانداردی برای استفاده از خودش نداره از اون بدتر Mongoose که برای یه SELECT و INSERT یا بقول خودش ( find و save ) باید اول یه Schema درست کنید بعد یه مدل و بعد فقط یه SELECT انجام بدید. بیشتر توضیح نمیدم خودتون ببینید...
var Schema = mongoose.Schema; var usersSchema = new Schema({ _id: mongoose.ObjectId, name: String, password: String, }); var usersModel = mongoose.model("users", usersSchema); const result = await usersModel.find({});
حالا INSERT یا همون Save رو بیخیال فقط میخوام نشون بدم که اگه بخوایم همینو با PostgreSQL انجام بدیم چطوره...
const result = client.query("SELECT * FROM `users`");
خب احتمالا تا اینجا متقاعد شدید که باید بیخیال MongoDB بشید اما اگه باز هم میخواید بگید که سرعت MongoDB خیلی زیاده پس نتایج آزمایش زیر رو که خودم گرفتم رو ببینید (البته واقعا نمیدونم میشه به این نوع تست اعتماد کرد یا نه ).
تست Select با PostgreSQL:
تست Select با MongoDB:
البته اگه به این تست اعتماد ندارید ( خودمم ندارم ) میتونید این رو ببینید.
به غیر از این ها من خودم وقتی با Postgres کار میکنم سرعت بیشتری رو احساس میکنم. به هر حال تصمیم با شما است ولی خب به هر حال باید لایک کنید!