1masoud
6 سال پیش توسط 1masoud مطرح شد
14 پاسخ

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

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


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

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

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


1masoud
تخصص : php,laravel
@masoudproton 6 سال پیش آپدیت شد
0

@fallahpour

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


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

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


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

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


سید محمد حسین موسوی
تخصص : FullStack Developer
@SeyedMH.Mosavi 6 سال پیش آپدیت شد
2

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

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


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

@SeyedMH.Mosavi

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


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

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


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

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


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

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

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


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

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


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

@SeyedMH.Mosavi

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


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

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


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

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

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