محسن
5 سال پیش توسط محسن مطرح شد
9 پاسخ

حجم زیاد اطلاعات در دیتابیس

سلام.من یه سایتی دارم که پیش بینی میکنم سالانه ۵ میلیون رکورد تو جدول ثبت بشه..به نظر شما ممکنه سنگین باشه این حجم؟مثلا تو ۵ سال میشه ۲۵ میلیون رکورد


ثبت پرسش جدید
امیرحسین فلاحی
تخصص : توسعه دهنده وب
@amhfallahi.dev 5 سال پیش مطرح شد
0

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


محسن
@mohsenmoradi1851 5 سال پیش مطرح شد
0

@amhfallahi
یعنی جستجوهای سرور یه تعداد رکورد ربط نداره.به حجم اطلاعات در دیتابیس مربوطه؟


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

درود
هر دو مورد کم و بیش اثر گذارند
معمولا در پروژه های بزرگ، کاری که @amhfallahi اشاره کردن انجام میدهند ... مقدار رکوردهارو هم تا حدی کنترل میکنند
اگر جوابگو نباشه »» سرور دیتابیس رو از وب‌سرور جدا میکنند


امیرحسین فلاحی
تخصص : توسعه دهنده وب
@amhfallahi.dev 5 سال پیش مطرح شد
0

خب نوع سنگین بودن رو نگفته بودید!
چرا اینم مهمه در مرحله اول پیشبینی خرید سرور بود که گفتم
مرحله دوم اینه که پیشبینی کنید که یه کوئری چقدر زمان می بره.
این به خیلی چیزا بستگی داره:
۱- تعداد فیلد هایی که برای هر کوئری میخواید برگردونید
۲-جوین هایی که میزنید برای هر کوئری
۳-ایندکس بودن یا نبودن فیلد ها
۴-تعداد رکورد های بازگشت داده شده
و...
اینا همه توی سرعت جستجو تاثیر دارن ولی در نهایت تکنولوژی جستجوی شما مهمه که میتونه این قضیه رو هندل کنه مثلا هیچ کاربری نیاز نداره که شما ۲۵ میلیون رکورد رو در لحظه بهش نشون بدید . گوگل هم نمیاد توی صفحه سرچش همه اطلاعات رو یکجا نشون بده
پس اگر شما ۱۰ رکورد برتر یا ۲۰ تا یا ۵۰ تای برتر رو جستجو کنید قطعا سرعتش خیلی بیشتر میشه و اون موقع ربطی نداره شما چقدر رکورد داشته باشید مگر اون موارد بالا رو درست مدیریت نکرده باشید و مثلا ۴ تا جوین تو در تو بدون ایندکس و با ۱۰۰ تا فیلد اگه جستجو کنید قطعا سرعتش کمتر از جستجوی یه تک جدول بدون جوین و با سه تا فیلد ایندکس و فقط ۵ تا فیلد بازگشتیه...
...
در کل باید همه این موارد (و موارد احتمالا تخصصی بیشتر در حالت های خاص) رو توی طراحی دیتابیس بهش فکر کنید و براش برنامه داشته باشید که دیتابیس شما پر سرعت و انعطاف پذیر باشه توی سرچ ها...


Hamed Izadi
@hamedizadi84 5 سال پیش آپدیت شد
0

درود بر دوست گرامی
شما نفرمودید که از چه دیتا بیسی استفاده می کنید.
بنده دقیقا مشکل شما رو داشتم و از MySql استفاده می کردم. درست از یک جایی به بعد سرعت تا حد عجیبی کند می شد.این شد که رفتم سراغ MongoDb.
الان تعداد فیلدهای من حدود 100 میلیون هست و حجمش حدودا یک ترابایت.
سرعتش رو هم می تونید در وب سایت ببینید.
https://www.hashtags.club/x-default/


محسن
@mohsenmoradi1851 5 سال پیش مطرح شد
0

@hamedizadi84
میشه از لاراول با این دیتابیس ارتباط برقرار کرد؟سخت نیست؟


Hamed Izadi
@hamedizadi84 5 سال پیش مطرح شد
0

من متاسفانه اطلاعات کاملی در مورد لاراول ندارم.
ولی شما به راحتی می تونید با نصب دایور php برای mongodb در php از اون استفاده کنید.کار کردن با mongodb اصلا پیچیده نیست ولی باید اینو بدونید که sql ها کاملا متفاونه.
جالبی کار در اینه که من پروژه رو با MySql شروع کردم وقتی نیاز به mongodb پیدا کردم فقط دیتاهای بزرگم رو بردم به mongodb و بقیه پروژه mysql باقی موند.


mjfakhr
تخصص : مدرس ، برنامه نویس ، اسکرام مس...
@mjfakhr 2 سال پیش مطرح شد
0

جناب ایزدی سلام
من هم در کار با دیتای زیاد به مشکل خوردم و برای انتقال اطلاعات به MongoDB دچار تردید هستم .
ممنون میشم از تجربیات شما استفاده کنم .
در صورت امکان در واتساپ به شماره 09153038733 به من یک پیام بدهید تا من با شما ارتباط بگیرم .
با تشکر


توسعه گر
تخصص : برنامه نویس و توسعه گر لاراول...
@developers 2 سال پیش مطرح شد
1

سلام
متاسفانه تجربه ثابت کرده که MongoDB کارایی لازم رو برای دیتابیس های خیلی بزرگ و نداره از طرفی هم اجرای اون توی هاست های اشتارکی یا خصوصی مشکلاتی زیادی داره گذشته از اینها امنیت کمی نسبت که دیگر دیتابیس ها داره حالا این این مسائل هم بگذریم در توان هر کسی نیست این دتیا بیس رو اداره کنه و سیستم عامل هایی معدودی از این دیتابیس تعبعیت می کنند. بهترین دیتا بیس mysql Mariadb هست


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام