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

8 ماه پیش
توسط Hamed Izadi آپدیت شد
محسن ( 8890 تجربه )
8 ماه پیش

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

امیرحسین فلاحی ( 11570 تجربه )
8 ماه پیش
تخصص : توسعه دهنده وب

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

محسن ( 8890 تجربه )
8 ماه پیش

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

علی بیات ( 330008 تجربه )
8 ماه پیش
تخصص : توسعه دهنده ارشد وب

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

امیرحسین فلاحی ( 11570 تجربه )
8 ماه پیش
تخصص : توسعه دهنده وب

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

Hamed Izadi ( 5211 تجربه )
8 ماه پیش

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

محسن ( 8890 تجربه )
8 ماه پیش

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

Hamed Izadi ( 5211 تجربه )
8 ماه پیش

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

برای ارسال پاسخ باید وارد سایت شوید