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

- 1 هفته پیش
توسط masoud آپدیت شد
masoud ( 6070 تجربه )
2 هفته پیش

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

محمد فلاحپور ( 1830 تجربه )
2 هفته پیش

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

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

masoud ( 6070 تجربه )
2 هفته پیش

@fallahpour

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

رایموند دراگون ( 34748 تجربه )
2 هفته پیش

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

masoud ( 6070 تجربه )
2 هفته پیش

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

سید محمد حسین موسوی ( 5778 تجربه )
2 هفته پیش

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

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

سید محمد حسین موسوی ( 5778 تجربه )
2 هفته پیش

این دوتا لینک هم برای بررسی بیشتر سایت stackoverflow :
https://stackexchange.com/performance
https://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition

masoud ( 6070 تجربه )
2 هفته پیش

@SeyedMH.Mosavi

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

محمد صادقیان ( 14210 تجربه )
2 هفته پیش

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

masoud ( 6070 تجربه )
2 هفته پیش

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

محمد صادقیان ( 14210 تجربه )
2 هفته پیش

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

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

سید محمد حسین موسوی ( 5778 تجربه )
2 هفته پیش

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

masoud ( 6070 تجربه )
1 هفته پیش

@SeyedMH.Mosavi

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

سجاد ( 4826 تجربه )
1 هفته پیش

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

masoud ( 6070 تجربه )
1 هفته پیش

@sajaddp

1 میلیون

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