سلام میخوام بدونم چه تنظیماتی را باید انجام داشت تا حجم پایگاه داده به صورت اصولی زیاد بشه و تنظیماتی را که لازم نیست غیر فعال کنیم
با تشکر
نمایش نسخه قابل چاپ
سلام میخوام بدونم چه تنظیماتی را باید انجام داشت تا حجم پایگاه داده به صورت اصولی زیاد بشه و تنظیماتی را که لازم نیست غیر فعال کنیم
با تشکر
مگه الان حجم پایگاه داده به صورت اصولی زیاد نمیشه؟
در ضمن اگر تنظیماتی رو غیر فعال کنید فکر نمی کنم حجم قابل توجهی از پایگاه داده کم بشه
چون حجم اصلی پایگاه داده رو همون ارسال ها در برمیگیرند که نمی تونی غیر فعالش کنی چون ارسالی وجود نخواهد داشت
اگر ممکنه بیشتر توضیح دهید
در تنظیمات اولیه یادم هست که یک سری تنظیمات برای گرفتن آمار انجمن وجود داشت
یا مثل تنظیماتی که میتونیم آنها را برای کاربران و یا مدیران انجمن اختصاص بدهیم (مثل تنظیمات امضا که به طور پیشرفض 300 کاراکتر رو اختصاص داده که فکر میکنم خیلی زیاد باشه و من اون رو به 100 کاراکتر کاهش دادم تنظیماتی از این قبیل)
اگر لطف کنید تنظیماتی را که لازم نیست را معرفی کنید تا آنها را غیر فعال کنیم یا مقدارشان را کم کنیم
یا اینکه به طور کلی بگویید هر تنظیمی چه تاثیری و چه مقدار فضایی رو از دیتابیس رو میگیره اینطوری میتونیم بهتر از فضای هاستمون استفاده بکنیم
امیدوارم که متوجه منظور من شده باشید
منتظر پاسخ شما هستم
یک راه ساده این است که سیستم گزارش گیر را غیرفعال کنید تا خطاها را ثبت نکنه
[quote author=نوید link=topic=15716.msg82661#msg82661 date=1218640324]
یک راه ساده این است که سیستم گزارش گیر را غیرفعال کنید تا خطاها را ثبت نکنه
[/quote]
این راه خوبی هست اما فرک نمیکنید با غیر فعال کردن گرفتن گزارش بعدا برای ترمیم انجمن بوسیله خود سیستم به مشکل بر بخوریم؟؟؟
در ضمن روزی را تصور بکنید که مثلا انجمن دارای 1000 کاربر هست و 200 تای اونها فعال هستن و مطلب ارسال میکنند در این زمان هست که باید به این فکر بیافتیم که با دیتا بیس چکار کنیم اگر از همون ابتدا تنظیمات خاصی وجود داشته باشه بعدها دچار مشکل نمیشویم
منظور من از ایجاد این بحث آینده نگری در مورد فضای هاست و هزینه هاست
خوب شما بستگی داره که کدوم قسمت براتون مهم باشه.
اگر کمبود فضا و صرفه جویی براتون مهم هست، که خوب راهش رو آقای زراعتی گفتند.
بعضی وقت ها، کشتی ها و هواپیما ها، با ارزش ترین چیزهاشون رو می ریزن بیرون ...
که وزن کم کنند.
اگر هم این راه رو لازم دارید، که باید حجمش رو هم متحمل کنید. به قول معروف آش با جاش!
اما در مورد کاهش حجم، یک راهش کاهش امکانات هست.
یکی از امکانات آمار روزانه بود
یکی هم پیام خصوصی هست
می تونید برای کاربر ها محدودیت پیام خصوصی بگذارید.
در انجمن های بزرگ مثل مامبولرن، ممکن هست حجم زیادی از پایگاه داده مربوط به پیام های خصوصی باشه.
ضمن اینکه SMF این قابلیت رو داره که مطالب شما رو zip کنه . البته بهتر بگم Gzip
از تنظیمات سرور - خصوصیات پیکر بندی، انجمن رو تنظیم کنید که مطالب قدیمی رو فشرد کنه.
فشرده سازی جدول های بانک اطلاعاتی بعد از چند روز؟
(0 یعنی غیرفعال)
ممنون
ولی یک سوال میشه در مورد این قسمت توضیح بدهید
"حداکثر کاربران آنلاین برای شروع فشرده سازی
(0 یعنی غیرفعال)"
من متوجه نشدم که این امکان چه کاری رو انجام میدهد
و در مورد cash هم صحبت کنید که آیا این هم از پایگاه داده استفاده میکند؟؟؟
با تشکر
یعنی هر وقت تعداد کاربران حاضر در انجمن به بیش از تعداد مورد نظر شما رسید سیستم به صورت خودکار شروع به فشرده سازی جداول بانک اطلاعاتی کندنقل قول:
"حداکثر کاربران آنلاین برای شروع فشرده سازی
(0 یعنی غیرفعال)"
کش همان حافظه نهان سرور شماستنقل قول:
و در مورد cash هم صحبت کنید که آیا این هم از پایگاه داده استفاده میکند؟؟؟
سرور شما هم برای خودش سی پی یو داره و بهتره کشینگ فعال باشه تا سی پی یو سریعتر اطلاعات روی سرور رو پردازش کنه
خب ... نکته مهم اینجاست که شما باید کشینگ رو فعال کنید؟؟؟
فقط در صورتی که سرور شما پشتیبانی می کند این کار رو انجام دهید
برای اینکه به این نکته پی ببرید فکر می کنم اطلاعات کافی در این مورد در قسمت تنظیمات سرور --> نهانگاه وجود داره و بهتره مطالبش رو به دقت بخونید
آخرین نکته اینکه اگر با رنگ قرمز پایین بخش نهانگاه اگر نوشته بود "SMF شتاب دهنده سازگار بر روی سرور پیدا نکرد" تنظیمات نهانگاه رو دست نزنید(فعال نکنید)
اطلاعات بیشتر در مورد کشینگ رو می تونید از منابع مختلف اینترنتی دریافت کنید
نخیر. بلکه دقیقا بر عکس!نقل قول:
یعنی هر وقت تعداد کاربران حاضر در انجمن به بیش از تعداد مورد نظر شما رسید سیستم به صورت خودکار شروع به فشرده سازی جداول بانک اطلاعاتی کند
به تعریف خود SMF توجه کنید :
This option optimizes the database every so many days. Set it to 1 to make a daily optimization. You can also specify a maximum number of online users, so that you won't overload your server or inconvenience too many users.در این گزینه مدت زمان ترمیم و فشرده سازی بانک اطلاعاتی را تعیین می نمایید. درصورتی که عدد 1 را انتخاب نمایید، برنامه بصورت روزانه بانک اطلاعاتی برنامه را فشرده خواهد نمود. همچنین شما می توانید این انتخاب را بر اساس تعداد کاربران حاضر در انجمن نیز انجام دهید. بصورتی که اگر تعداد کاربران آنلاین بیشتر از عدد انتخاب شده باشد، برنامه شروع به فشرده سازی پایگاه داده نخواهد نمود.
( برای جلوگیری از فشار به سرور و ایجاد مشکل برای کاربران )
((این از قسمت راهنمای انگلیسی خود simple machine))
This option optimizes the database every so many days. Set it to 1 to make a daily optimization. You can also specify a maximum number of online users, so that you won't overload your server or inconvenience too many users.
Close window
((اینم از ترجمه ای که مامبولرن انجام داده))
در این گزینه مدت زمان ترمیم و فشرده سازی بانک اطلاعاتی را تعیین می نمایید. درصورتی که عدد 1 را انتخاب نمایید، برنامه بصورت روزانه بانک اطلاعاتی برنامه را فشرده خواهد نمود. همچنین شما می توانید این انتخاب را بر اساس تعداد کاربران حاضر در انجمن نیز انجام دهید. بصورتی که اگر تعداد کاربران آنلاین بیشتر از عدد انتخاب شده باشد، برنامه شروع به فشرده سازی پایگاه داده خواهد نمود.
بستن پنجره
((این هم از ترجمه خودم))
این ویژگی بانک اطلاعاتی شما را بر اساس روز بهینه می کند
تنظیم کردن این ویژگی بر روی عدد 1 بهینه سازی را برای هر روز تنظیم می کند
چنانچه نمی خواهید بر روی سرور شما فشار وارد شود یا اینکه کاربران را ناراحت کند همچنین شما می توانید حداکثر تعداد کاربران آنلاین را مشخص کنید
بستن پنجره
خب ... simple machine راهنمایی کاملی در این مورد نکرده و به نظرم راهنماییش ناقصه
در مورد نوشته های سعید باید بگم ...
اگر استدلال سعید درست باشه دلیلش می تونه این باشه: وقتی تعداد کاربران از مقدار تعیین شده بیشتر شد سرور نباید فشرده سازی کنه چون بر روی سرور فشار وارد میشه
استدلال من هم اینه: وقتی تعداد کاربران از مقدار تعیین شده بیشتر شد سرور باید فشرده سازی کنه چون حجم پایگاه داده ناگهان زیاد نمیشه مخصوصا زمانی که همیشه تعداد کاربران آنلاین زیاد هستند و سایت محبوب شده ... چون اگه فشرده سازی نکنه پهنای باند زیادی باید مصرف بشه و این به ضرر سایته
در ضمن به ترجمه مامبولرن هم توجه کنید ... این فقط نظر شخصی بود
دوست عزیزم.نقل قول:
((اینم از ترجمه ای که مامبولرن انجام داده))
این ترجمه مامبولرن نیست!
SMF توسط گروه فارسی گر ترجمه شده و مامبولرن قسمت هایی از اون رو اصلاح کرده!
متاسفانه این قسمت و یک سری قسمت های دیگه هنوز اصلاح نشدند.
بعد هم لطفا یک بار دیگه با دقت همون متن انگلیسی رو بخونید:
This option optimizes the database every so many days. Set it to 1 to make a daily optimization. You can also specify a maximum number of online users, so that you won't overload your server or inconvenience too many users.
به کلمه ماکزیمم دقت کنید!
معمولا اینکلمه برای حداکثر به کار برده میشه.
حداکثر یعنی این که تا کمتر از این مقدار بلی و بیشتر از این مقدار، نه.
اگر منظور شما درست بود، باید کلمه حداقل رو به کار می بردند. یعنی اگر قرار بود که برای شروع فشرده سازی، از یک تعداد مشخص که بیشتر بود، کار رو شروع کنه، می نوشت که حداقل کاربران.
مورد بعدی اینکه گفته این ویژگی برای این هست که باعث overload سرور یا ناراحتی کاربران نشه.
اینکه overload و ناراحتی کاربران رو در کنار هم آورده ، یعنی اونها رو هم ردیف حساب کرده . یعنی اینکه موقع فشرده سازی ، اگر پردازش مربوط به انجام عملیات و فعالیت کاربران وجود داشته باشه ، فشرده کردن جداول، قوز بالاقوز نشه . چون این کار پردازش بالایی رو می بره.
شما تا قسمت ترجمه خودتون خوب پیش رفتید اما از اونجا به بعد هست که دچار اشتباه شدید.
به کلمه کاربران آنلاین دقت کنید. این موضوع ربطی به تعداد کاربران ثبت نام شده نداره.نقل قول:
اگر استدلال سعید درست باشه دلیلش می تونه این باشه: وقتی تعداد کاربران از مقدار تعیین شده بیشتر شد سرور نباید فشرده سازی کنه چون بر روی سرور فشار وارد میشه
استدلال من هم اینه: وقتی تعداد کاربران از مقدار تعیین شده بیشتر شد ...
این فشرده سازی ، تاثیری در پهنای بند مصرفی نداره! این جداول بانک اطلاعاتی رو فشرده می کنه.نقل قول:
چون اگه فشرده سازی نکنه پهنای باند زیادی باید مصرف بشه و این به ضرر سایته
اونی که برای پهنای باند هست اینه : "فعال کردن فشرده سازی فایل های خروجی برای ذخیره پهنای باند: "
به فرض که استدلال شما درست باشه. ( تاکید می کنم به فرض) ، بهتر هست فشرده سازی دقیقا در همون موقعی انجام بشه که تعداد کاربران بالایی در سایت هستند؟
یا موقعی شروع بشه که سایت خلوت هست و کسی در سایت حضور نداره؟
یک مثال ساده می زنم. فرض کنید که شما یک فروشگاه دارید.
موقعی فروشگاهتون رو نظافت می کنید که اوج کاری شما هست و مشتری ها حضور دارند و باید به کار مشتری ها برسید؟
یا موقعی که مشتری ها کم هستند و شما هم فرصت کافی برای رسیدگی به مشتری ها دارید و هم برای نظافت ؟
اگر استدلال شما درست باشه، باید گفت که وقتی مشتری های زیادی وارد فروشگاه بشن و شما سرتون شلوغ هست، اون موقع شروع کیده به نظافت .
بذارید توضیح بدم.
SMF این امکان رو داره که در دوره های زمانی مشخص (هر از چندگاهی ) - مثلا یک هفته- بانک اطلاعاتی رو فشرده سازی و تعمیر کنه.
برای اینکه این عملیات فشرده سازی و تعمیر و پردازش اون د ر کنار پردازش مربوط به فعالیت های کاربران آنلاین ، باعث سرریز پردازش یا به اصطلاح اور لود نشه ، و همچنین با اشغال کردن منابع سرور باعث کندی انجام کار و ناخرسندی کاربران نشه، SMF فشرده سازی رو در زمانی انجام میده که تعداد کاربران آنلاین در سایت کمتر باشند تا پردازش های مربوط به سیستم کمتر، و منابع برای انجام این کار آزاد باشند.
امیدوارم با این توضیحات متوجه شده باشید.
آقا سعید من که چیزی نگفتم
ببینید سعید جان
اولا اگر بخواهیم در این مورد بحث بشه هر کی یه استدلال میاره .... مثلا شما مثال نظافت فروشگاه رو زدید
من هم مثال اینو میزنم که فروشنده بهتره مشتری ها رو توسط یک مسئول به نحوی هدایت کنه که فضای بیشتری برای مشتری های دیگه باز بشه و این کار زمانی صورت میگیره که مشتری زیاد باشه
خب .. همونطوری که می بینید با این دلایل به نتیجه منطقی نمیرسیم
در ضمن اینقدر در مورد حداقل و حداکثر می فهمم که نیازی به توضیح شما نداشته باشم
یه چیز دیگه هم یادم رفت ... من به این کاری ندارم که چه کسی اینا رو ترجمه کرده ... مهم اینه که درست ترجمه نشده و امیدوارم مترجمان عزیز با خوندن این تاپیک اصلاحش کنند
در آخر هم بگم کسی که تخصص کافی در ترجمه زبان انگلیسی داره و تاکید می کنم منابع خراجی معتبری از این ویژگی انگلیسی داره کمکمون کنه
آقا سعید ناراحت نباش ... همش حل میشه
والا نمی دونم دیگه.
چجوری باید استدلال کنم. فکر می کنم این قدر این مسأله روشن باشه که نیازی به استدلال نداشته باشه.
ترجمه انکلیسیش هم برای من به قدری واضح هست که مثل زبان مادری خودم درکش کنم. و فکر نکنم نیازی اصلا به تخصص داشته باشه
در مورد ترجمه من همون اول ذکر کردم که هنوز اصلاح نشده. چه اینجا و چه قسمت های دیگه.
و این که اگر واقعا شما برداشتتون از ماکزیمم تعداد کاربران ،این هست که باید از ماکزیمم بیشتر باشه که کار شروع بشه، دیگه حرفی برای گفتن نمی مونه!نقل قول:
در ضمن اینقدر در مورد حداقل و حداکثر می فهمم که نیازی به توضیح شما نداشته باشم
یک مورد دیگه هم هست که اگر برای ترجمه نیازی هست که مدال یا ... اینجا بگذارم ، که این موضوع رو قبول کنید، متاسفانه باید بگم که مدالی ندارم.نقل قول:
در آخر هم بگم کسی که تخصص کافی در ترجمه زبان انگلیسی داره
قرار نیست که ما به نتیجه ای برسیم که بعد SMF بر اساس نتیجه ما کاری رو انجام بده!نقل قول:
خب .. همونطوری که می بینید با این دلایل به نتیجه منطقی نمیرسیم
اون چیزی که هست، چه شما اسمش رو منطقی بگذارید یا نگذارید، همونی هست که هست.
در این مورد هم من بحثی باش ما ندارم که حل بشه یا نشه. شما می تونید این کار رو انجام بدید ، می تونید هم انجام ندید.
اگر فکر میکنید ماکزیمم تعداد کاربران برای شروع فعالسازی معنیش این هست که از اون تعداد که بیشتر شد، شما هر کار دوست داشته باشید می تونید انجام بدید!
و اگر هم این موضوع و واقعیت برای شما منطقی نیست، ضمن این که می تونید نظر مدیران رو بپرسید ، پیشنهاد می کنم که نگرشتون رو نسبت به منطق عوض کنید.
چرا که واقعیت همیشه اون چیزی نیست که شما فکر می کنید.
[quote]اولا اگر بخواهیم در این مورد بحث بشه هر کی یه استدلال میاره .... مثلا شما مثال نظافت فروشگاه رو زدید[quote]
این رو هم یادم رفت که بگم. این استدلال من نیست. من استدلالم رو در بالا آوردم و این مورد یک مثال ساده بود که منظور من رو درک کنید. فقط همین. بنابراین من به جارو و فروشگاه استناد نکردم و حرفی رو بر اساس او نزدم که اگر مشابهش اومد ، نادرست باشه.
نظر مدیران رو هم بپرسید ، باز هم اگر به نظرتون منطقی نبود ، می تونید از خود SMF بپرسید!
ممنونم سعید جان
خب ... مدیران محترم .... نظر شما چیه؟؟؟؟
خیلی معذرت میخوام
اما بحث رو چرا عوض میکنید
یک نگاهی به موضوع تاپیک بکنید لطفا
بگذارید بحث رو تموم کنم.
یک نگاه به کدها بندازید:
اینجا ابتدا تعداد کاربران آنلاین رو به دست می یاره و او رو در متغیر $dont_do_it ذخیره می کنه. بعد در دستور if مشخص کرده که اگر تعداد کاربران آنلاین ، بیشتر از $modSettings['autoOptMaxOnline'] باشند (یعنی مقداری که شما مشخص کردید) ، با دستور return خاتمه تابع رو مشخص می کنه. یعنی کاری دیگه انجام نمی شه. یعنی اگر تعدا کاربران آنلاین از اون عدد بیشتر باشه، عملیات رو انجام نمی ده. در غیر این صورت (وقتی که تعدا آنلاین کمتر از اون مقدار باشند) به عملیات ادامه میده.کد:if (!empty($modSettings['autoOptMaxOnline']))
{
$request = db_query("
SELECT COUNT(*)
FROM {$db_prefix}log_online", __FILE__, __LINE__);
list ($dont_do_it) = mysql_fetch_row($request);
mysql_free_result($request);
if ($dont_do_it > $modSettings['autoOptMaxOnline'])
return;
}
...
خوب! این دیگه نظر من یا حتی نظر مدیران SMFlearn نیست!
این عین عبارت خود SMF و کدها هست!
و اون چیزی هست که داره انجام میشه. من هم نگفتم که نظر من اینه. من چیزی رو دارم میگم که داره انجام میشه.
کد ها رو بررسی کنید لطفا.
باز هم اگر فکر می کنید که منطقی نیست، این دیگه مشکل از جانب من یا از جانب ترجمه نیست.
در این صورت می تونید به SMF اعلام کنید که کارشون منطقی نبوده!
یا علی مدد
و این هم نظر خارجکی - منبع خارجکی - فروم رسمی SMF - نظر مدیران مامبولرن - نظر کاربران ممتاز SMF - Simple Machinesنقل قول:
در آخر هم بگم کسی که تخصص کافی در ترجمه زبان انگلیسی داره و تاکید می کنم منابع خراجی معتبری از این ویژگی انگلیسی داره کمکمون کنه
[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
باز هم اگر منطقی نیست ، دیگه به SMF هم نمیشه مراجعه کرد ! ایندفه باید به خدا مراجعه کرد و اینکه چرا منطق رو اینجوری خلق کرده!
سعیدجان
تا اینجا فرمایشات شما درست
ولی می خوام از اشتباهاتم مطمئن بشم
1-این کد مربوط به کدوم فایله؟؟؟؟ می خوام کد های دیگه مربوط به این موضوع رو چک کنم
2-رفتم و چک کردم ... غیر از سعید کسی تو این تاپیک تا الان نظری نداده و من منتظر نظر مدیران smf هستمنقل قول:
و این هم نظر خارجکی - منبع خارجکی - فروم رسمی SMF - نظر مدیران مامبولرن - نظر کاربران ممتاز SMF - Simple Machines
[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
3-اگر به احتمال قریب به یقین فرمایش آقا سعید درست باشه (که انشاءالله هست) پس مدیران بخش ترجمه smf لطف کنند و این قسمت رو اصلاح کنند
بازم ممنون
با یک جستجوی خیلی ساده می تونید متوجه بشید این کدها مربوط به کجاست.
اما فایل load.php خط 300 به بعد ...
اونجایی که این کار رو انجام میده.
سورس صفحه مدیریت رو هم باز کنید و ببینید فیلدی که شما عدد رو وارد می کنید اسمش چی هست.
به متن سومین پست هم توجه کردید ؟نقل قول:
رفتم و چک کردم ... غیر از سعید کسی تو این تاپیک تا الان نظری نداده و من منتظر نظر مدیران smf هستم
جواب خودم رو که ندادم!
پست هایی که داده شده بود ، الان پاک شدند.
خوب دوستان این بحث خیلی بحث مفیدی هست پس خوبه که درست ادامه بدیم
من خودم شدیدا درگیر هستم با این مورد
انجمن من حدود 35000 عضو داره و بیش از 100 تا تالار برا همین وحشتناک سنگین هست و هیچ راه خاصی براش ندارم !
فقط گذارش هارو یرفعال کردم که خیلی مفید بود . باخبر سازی رو هم غیر فعال کردم (البته مربوط به DB نیست ولی برا بار سرور خیلی مهمه)
شدیدا از روش های جدید استقبال میکنم!
ولی گویا تو SMF 2 خیلی بهینه تر شده کسی اطلاعات دقیقی داره؟
الان نظر دادند. برید چک کنید تا پاک نشده! می ترسم فردا باز همین هم پاک بشه. البته خود پست رو نقل قول می کنم :نقل قول:
رفتم و چک کردم ... غیر از سعید کسی تو این تاپیک تا الان نظری نداده و من منتظر نظر مدیران smf هستم
[quote author=Motoko-chan ]
The idea is that you don't want to optimize your tables when you have a ton of users on your forum. Optimization temporarily locks the table it is running against, and if you are busy, you don't want users having issues browsing the site.[/quote]
مرسی سعید جان
حالا درست شد ...
همین بحث ها ما رو به نتایج منطقی می رسونه
موفق باشید
سلام
من فکر میکنم اگر یک مقدار منطقی به قضیه فکر کنیم به این نتایج میرسیم:
یک دیتابیس برای اینکه توی یک نیبل رایت کنه، تیبل رو لاک میکنه، علت این قضیه رو هم لازم نیست توضیح بدم. چون اگر درس طراحی و پیاده سازی رو پاس کنید یا اینکه کتابهای دیتابیس رو مطالعه کنید به خوبی توضیح میده این قضیه رو.
حالا وقتی که دو نفر همزمان بخوان از یک تیبل دیتابیس استفاده کنن و توش رایت کنن، طبیعتا باید نفر دوم منتظر بمونه که تیبل آنلاک بشه (که این فرایند در دیتابیس انجین انجام میشه و کاربر نقشی در اون نداره). به طور کلی میزان قدرت و ضعف دیتا بیس ها در شرایط مساوی از نظر حجم و ... هم همین هست.
خوب حالا فرض کنید که هزار نفر به طور همزمان بخوان در یک دیتابیس رایت کنن. خوب طبیعتا سرور باز زیادی رو تحمل میکنه. پس در این شرایط بهتره که هیچ پروسس غیر ضروری در سرور صورت نگیره.
از این جهت به نظر من نظر آقای سعید منطقی تره. یعنی اپتیمایز کردن دیتابیس بهتره زمانی انجام بشه که تعداد یوزر های کمی در حال استفاده از دیتا بیس هستن.
از این بحث که بگذریم، در خصوص کاهش حجم دیتابیس باید چند نکته رو در نظر بگیرید.
1- کاهش حجم به دو صورت انجام میشه: الف: فشرده سازی اطلاعات. ب: منظم سازی اطلاعات.
فشرده سازی اطلاعات طبیعتا و ذاتا باعث میشه سرعت افت کنه. چون زمانی برای فشرده سازی و مجددا باز گردانی داده ها صرف بشه.
منظم سازی هم که در کانفیگوریشن دیتا بیس مشخص میشه چطور انجام بشه.
2- بخشی از این کاهش حجم به نوع طراحی دیتا بیس برمیگرده. کاربر استفاده کننده از یک نرم افزار چون نمیتونه طراحی دیتا بیس رو تغییر بده پس نقشی در این زمینه نداره.
ولی به شما اطمینان میدم طراحی دیتا بیس اس ام اف به شکل مناسبی صورت گرفته، کاملا نرماله و مشکل خاصی نداره.
3- بخشی از داده های غیر ضروری میتونه در دیتا بیس ذخیره نشه. مثل آواتارها، تصاویر و امضاها و ... که باید از خارج از هاست لینک بشن. از طرفی لاگها رو هم میشه حذف کرد. ولی طبیعتا وقتی لاگها ذخیره نشن مدیریت مشکل میشه. اگر هک بشید و یا چیزی رو بخواهید بفهمید دیگه ابزار های مدیریتی رو از دست دادید.
4- مای اس کیو ال رو میشه به شیوه های مختلفی کانفیگور کرد. خود مای اس کیو ال دو روش رو به شکل پیشفرض ارائه داده که یکیش برای سرور های کم بار و دیگری برای سرور های با بار زیاد هست. شما میتونید برای این منظور از راهنما های ما اس کیو ال استفاده کنید و مدیر سرور رو قانع کنید که کانفیگوریشن رو تغییر بده. این تغییران بعشیهاشون در کاهش حجم تاثیر دارن.
5- شما اگر حرفه ای هستید، میتونید از روش های ترکیبی کاهش حجم داده برای ذخیره داده ها استفاده کنید. این روشها برخیشون مبتنی بر کد هستن و برخیشون مبتنی بر دیتا بیس انجین. ولی من دقیقا نمیدونم چه ترکیبی میتونه مناسب باشه. ولی اگر شما در این خصوص تحقیق جامعی انجام بدید و به نتایج خوبی برسید بهتون قول میدم مقاله مفیدتون جزو معدود تحقیقات در این خصوصه و من میتونم کمکتون کنم که در یک ژورنال معتبر چاپش کنید و کلی وجهه به دست بیارید :D
6- خلاصه کلام اینکه اگر حجم دیتا بیستون خیلی بالاست به فکر راه حلهای مناسبی بگیردید. ولی برای صد دویست مگ خودتون رو به دردسر نیندازید. چون صد مگ هاست خوب حداکثر ده بیست هزار تومن میشه. ولی گوشت کیلویی ده پوزنده هزار تومن رو وقتی بخورید و بخواهید به کاهش حجم دیتا بیس فکر کنید خیلی بیشتر از 30 یا 40 هزار تومن براتون آب میخوره!!
ولی اگر دیتا بیستون حجمش بالاست و مثلا به چند صد گیگ میرسه طبیعتا باید از مای اس کیو ال خوشه بندی شده استفاده کنید. یعنی ورژن خاصی از ما اس کیو ال رو با مبلغی از شرکتش بخرید و روی دو یا چند سرور نصب کنید و انجین خودش بر روی اونها دیتا بیس رو کنترل و نگهداری میکنه. اینطوری میتونید با هزینه ای معقول حجم بالاتری از دیتا بیس رو به شکل فشرده روی یک فارم نگهداری کنید.
سپاس.