یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاحجم اطلاعت دیتابیسم بالاس چطوری باید مدیریت کنم که خیلی سریع اطلاعات رو جستجو کنه و در کسری از ثانیه بهم نمایش بده نمیدونم تکنولوژی که به کار میبرن چیه میشه توضیح بدید ایا میشه دیتابیس رو فشرده کرد
سوالتون به شدت کلی مطرح شده.. اول باید دیتابیسی که استفاده می کنید چیه..؟ نیازمندی کارتون چیه..؟ اصول اولیه بهینه سازی دیتابیس انجام شده..؟ (index گذاری انجام شده ..؟ ) و....
بخش بعدی میرسه به نوع ارتباط و نوع گزارش گیری که می خواهید انجام بدید...
mysql
video sharing
جدا از ایندکس گذاری اصول اولیه بهینه سازی دیتابیس چیه هست؟
و نوع گزارش گیری چیه؟
میشه در مورد همه این ها با جزییات آموزشی رو معرفی کنید؟
@RaymondDragon الزاما استفاده از nosql به خودی خود باعث افزایش بازدهی خاصی نمی شه!
سایت stackoverflow با 1.3 میلیارد بازدید ماهانه و 65مین سایت پربازدید دنیا داره از sql server استفاده می کنه. حجم اطلاعاتش کمه؟! شما کندی تو این سایت احساس می کنی؟!
همونطور که @fallahpour گفتند به این راحتی نیستند و نمی شه گفت.
سرعت واکشی اطلاعات به هزاران پارامتر مختلف وابسته است. باید دید که منظور شما از کندی تا چه حد هست و شما از کجا می دونی که این کندی در سمت دیتابیسه؟!
اول باید بررسی کنی ببینی که کندی به دیتابیس ربط داره یا به کدنویسی یا وب سرور یا مشخصات سخت افزاری یا ...
برای همه اینها هم ابزارهای مانیتورینگ وجود داره.
من خودم به شخصه یه پروژه ای رو تو یکی از شرکت ها بهم دادن که حدود 120 هزارتا رکورد داخل یکی از جداول اصلیش بود و کلی جدولی به هم وابسته که بشدت غیراصولی بودند حتی relation هم نداشتند. به جرئت می گم که یه کارآموز هم می تونست بهتر این جداول رو درست کنه. کاراموز بنده خدا حداقل می دونه برای جداول relation بذاره و دوتا ایندکس ولو غلط هم برای جداولش در نظر می گیره ولی اینها هیچ کاری نکرده بودند!
وقتی اطلاعات این جدول رو تو سایت می خواستن نشون بدن، بقدری سایت کند بود که بعضی مواقع timeout می داد. زمان timeout رو هم 60 ثانیه در نظر گرفته بودند!
در یک کلام یه دیتابیس خیلی معمولی که یکی از جداولش 120 هزارتا رکورد داشت که اصلا هم زیاد نیست، بطور میانگین 40 ثانیه طول می کشید که یه جواب رو برگردونه. شاید هرکسی این جداول رو می دید می گفت مشکل از دیتابیسه ولی بعد از بررسی متوجه شدم درسته دیتابیس بنده خدا مشکل داره ولی کندی ربطی به سمت دیتابیس نداره. حتی بدون ایندکس و ... داشت کارش رو می کرد ولی مشکل از سمت کدنویسی بود. بنده یه بازنویسی خیلی ساده براش انجام دادم و api هاش رو تحویلشون دادم. زمان میانگین 40 ثانیه شد زیر 200 میلی ثانیه.
بهمین راحتی نمی شه گفت مشکل از کجاست! بهتره اول بررسی کنید و بعد از پیدا کردن مشکل اون رو اصلاح کنید.
این دوتا لینک هم برای بررسی بیشتر سایت stackoverflow :
https://stackexchange.com/performance
https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition
من دقیقا یه مدتیه که با همین مشکل بسیار زیاد بودن دیتا سرو کار دارم. چون کارم ربات نویسی هست و ربات هم که ممکنه در لحظه صدها دیتا بخواد وارد کنه این یه مشکل و مشکل دوم به قول شمار نمایش و گزارش گیری از این حجم دیتا هست.
به نظر من سرعت لود این چیزها بیشتر به خودتون برمیگرده. یکم خلاقیت به خرج بدید راجب query هاتون و نجوه نمایش و گزارش گیری هاتون می تونید به صورت چشم گیری سرعت پردازش رو بالا ببرید.
آخه این چیزی نیست که بشه راهنمایی کرد و نسبت به شرایط و دیتا کاملا تفاوت داره.
مثلا 1 مورد بهتون بگم.
تو 1 صفحه گزارش پروژه من نزدیک به 2 میلیون دیتا باید پردازش و گزارش گیری میشد و تا این پردازش بشه و بیاد تو صفحه نمایش داده بشه 1 دقیقه طول میکشید و کاربر عادی هم متوجه نیست که صفحه در حال Load شدن هست و هی refresh میزد.
من این مشکل رو اومدم به صورت حل کردم که ابتدا صفحه رو load کردم تا کاربر ببینه صفحه لود شده بعد توسط ajax اومدم اون پردازش رو انجام دادم و برای کاربر زمان 1 دقیقه زدم که "در حال پردازش ..." و اینجوری کاربر هم نمیاد هی رفرش بزنه.
برای همین میگم نسبت به دیتا و گزارش می تونی یکم نوآوری کنی یا بعضی اطلاعات ثابت رو catche کنی.
@masoudproton
برای Sql Server یه چیزی هست با عنوان SQL Server Profiler ولی برای mysql رو درجریانش نیستم.
فکر می کنم با جست و جو تو گوگل می تونید به نتیجه برسید
در مورد مانیتورینگ من mytop کردم اما وقتی این دستور mytop --prompt رو میزنم پسورد میخواد نمیدونم پسوردم چیه چطوری گیر بیارم?
سلام
یک سوال: اینکه حجم اطلاعات دیتا بیس شما بالاست یعنی حدودا چند میلیون رکورد دارید؟ @masoudproton
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟