راکت
1masoud
1masoud
توسط 1masoud مطرح شد
14 پاسخ

حجم اطلاعت دیتابیسم بالاس چطوری باید مدیریت کنم

حجم اطلاعت دیتابیسم بالاس چطوری باید مدیریت کنم که خیلی سریع اطلاعات رو جستجو کنه و در کسری از ثانیه بهم نمایش بده نمیدونم تکنولوژی که به کار میبرن چیه میشه توضیح بدید ایا میشه دیتابیس رو فشرده کرد


ثبت پرسش جدید
محمد فلاحپور
محمد فلاحپور
تخصص :php backend developer
@fallahpour7 سال پیشمطرح شد
0

سوالتون به شدت کلی مطرح شده.. اول باید دیتابیسی که استفاده می کنید چیه..؟ نیازمندی کارتون چیه..؟ اصول اولیه بهینه سازی دیتابیس انجام شده..؟ (index گذاری انجام شده ..؟ ) و....

بخش بعدی میرسه به نوع ارتباط و نوع گزارش گیری که می خواهید انجام بدید...


1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد
0

@fallahpour

mysql
video sharing
جدا از ایندکس گذاری اصول اولیه بهینه سازی دیتابیس چیه هست؟
و نوع گزارش گیری چیه؟
میشه در مورد همه این ها با جزییات آموزشی رو معرفی کنید؟


رایموند
رایموند
تخصص :مختصص وردپرس - برنامه نویس لاراول
@Raymond7 سال پیشمطرح شد
0

درود...
اگر حجم اطلاعات پایگاه داده بالاست از noSql استفاده کنید...


1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد
0

@RaymondDragon
پیشنهاد شما در مورد nosql چه چیزی است که با mysqlسازگار باشه؟


سید محمد حسین موسوی
سید محمد حسین موسوی
تخصص :FullStack Developer
@SeyedMH.Mosavi7 سال پیشمطرح شد
2

@RaymondDragon الزاما استفاده از nosql به خودی خود باعث افزایش بازدهی خاصی نمی شه!
سایت stackoverflow با 1.3 میلیارد بازدید ماهانه و 65مین سایت پربازدید دنیا داره از sql server استفاده می کنه. حجم اطلاعاتش کمه؟! شما کندی تو این سایت احساس می کنی؟!
همونطور که @fallahpour گفتند به این راحتی نیستند و نمی شه گفت.
سرعت واکشی اطلاعات به هزاران پارامتر مختلف وابسته است. باید دید که منظور شما از کندی تا چه حد هست و شما از کجا می دونی که این کندی در سمت دیتابیسه؟!
اول باید بررسی کنی ببینی که کندی به دیتابیس ربط داره یا به کدنویسی یا وب سرور یا مشخصات سخت افزاری یا ...
برای همه اینها هم ابزارهای مانیتورینگ وجود داره.
من خودم به شخصه یه پروژه ای رو تو یکی از شرکت ها بهم دادن که حدود 120 هزارتا رکورد داخل یکی از جداول اصلیش بود و کلی جدولی به هم وابسته که بشدت غیراصولی بودند حتی relation هم نداشتند. به جرئت می گم که یه کارآموز هم می تونست بهتر این جداول رو درست کنه. کاراموز بنده خدا حداقل می دونه برای جداول relation بذاره و دوتا ایندکس ولو غلط هم برای جداولش در نظر می گیره ولی اینها هیچ کاری نکرده بودند!
وقتی اطلاعات این جدول رو تو سایت می خواستن نشون بدن، بقدری سایت کند بود که بعضی مواقع timeout می داد. زمان timeout رو هم 60 ثانیه در نظر گرفته بودند!
در یک کلام یه دیتابیس خیلی معمولی که یکی از جداولش 120 هزارتا رکورد داشت که اصلا هم زیاد نیست، بطور میانگین 40 ثانیه طول می کشید که یه جواب رو برگردونه. شاید هرکسی این جداول رو می دید می گفت مشکل از دیتابیسه ولی بعد از بررسی متوجه شدم درسته دیتابیس بنده خدا مشکل داره ولی کندی ربطی به سمت دیتابیس نداره. حتی بدون ایندکس و ... داشت کارش رو می کرد ولی مشکل از سمت کدنویسی بود. بنده یه بازنویسی خیلی ساده براش انجام دادم و api هاش رو تحویلشون دادم. زمان میانگین 40 ثانیه شد زیر 200 میلی ثانیه.

بهمین راحتی نمی شه گفت مشکل از کجاست! بهتره اول بررسی کنید و بعد از پیدا کردن مشکل اون رو اصلاح کنید.


سید محمد حسین موسوی
سید محمد حسین موسوی
تخصص :FullStack Developer
@SeyedMH.Mosavi7 سال پیشمطرح شد
1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد
0

@SeyedMH.Mosavi

ابزارهای مانیتورینگ میشه معرفی کنید


محمد صادقیان
محمد صادقیان
تخصص :برنامه نویس وب - فریم ورک Laravel
@drcode.ir7 سال پیشمطرح شد
0

من دقیقا یه مدتیه که با همین مشکل بسیار زیاد بودن دیتا سرو کار دارم. چون کارم ربات نویسی هست و ربات هم که ممکنه در لحظه صدها دیتا بخواد وارد کنه این یه مشکل و مشکل دوم به قول شمار نمایش و گزارش گیری از این حجم دیتا هست.
به نظر من سرعت لود این چیزها بیشتر به خودتون برمیگرده. یکم خلاقیت به خرج بدید راجب query هاتون و نجوه نمایش و گزارش گیری هاتون می تونید به صورت چشم گیری سرعت پردازش رو بالا ببرید.


1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد
0

@drcode.ir
یشه در زمینه نحوه نمایش و گزارش گیری و مانیتورینگ دیتابیس راهنمایی کنی


محمد صادقیان
محمد صادقیان
تخصص :برنامه نویس وب - فریم ورک Laravel
@drcode.ir7 سال پیشمطرح شد
0

آخه این چیزی نیست که بشه راهنمایی کرد و نسبت به شرایط و دیتا کاملا تفاوت داره.
مثلا 1 مورد بهتون بگم.
تو 1 صفحه گزارش پروژه من نزدیک به 2 میلیون دیتا باید پردازش و گزارش گیری میشد و تا این پردازش بشه و بیاد تو صفحه نمایش داده بشه 1 دقیقه طول میکشید و کاربر عادی هم متوجه نیست که صفحه در حال Load شدن هست و هی refresh میزد.
من این مشکل رو اومدم به صورت حل کردم که ابتدا صفحه رو load کردم تا کاربر ببینه صفحه لود شده بعد توسط ajax اومدم اون پردازش رو انجام دادم و برای کاربر زمان 1 دقیقه زدم که "در حال پردازش ..." و اینجوری کاربر هم نمیاد هی رفرش بزنه.

برای همین میگم نسبت به دیتا و گزارش می تونی یکم نوآوری کنی یا بعضی اطلاعات ثابت رو catche کنی.


سید محمد حسین موسوی
سید محمد حسین موسوی
تخصص :FullStack Developer
@SeyedMH.Mosavi7 سال پیشمطرح شد
0

@masoudproton
برای Sql Server یه چیزی هست با عنوان SQL Server Profiler ولی برای mysql رو درجریانش نیستم.
فکر می کنم با جست و جو تو گوگل می تونید به نتیجه برسید


1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد
0

@SeyedMH.Mosavi

در مورد مانیتورینگ من mytop کردم اما وقتی این دستور mytop --prompt رو میزنم پسورد میخواد نمیدونم پسوردم چیه چطوری گیر بیارم?


سجاد
سجاد
تخصص :برنامه نویس
@sajaddp7 سال پیشمطرح شد
0

سلام
یک سوال: اینکه حجم اطلاعات دیتا بیس شما بالاست یعنی حدودا چند میلیون رکورد دارید؟ @masoudproton


1masoud
1masoud
تخصص :php,laravel
@masoudproton7 سال پیشمطرح شد

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

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