بایگانی

بایگانیِ دستهٔ ‘Administration’

stackoverflow و سایت‌های هم‌خانواده آن

نوامبر 16, 2010 ۱ دیدگاه

یکی دو سالیست که سایتی با نام stackoverflow در عرصه‌ی سایت‌های تخصصی برای پرسش و پاسخ در رابطه با مسائل برنامه‌نویسی می‌درخشد. این سایت به قدری اعتبار پیدا کرده که سوالات ان بلافاصله در گوگل ایندکس می‌شودِ یعنی درست بلافاصله پس از پرسیدن یک سوال، می‌توان آن را در گوگل جستجو کرد و آن را دید.

این نرم‌افزار بسیار خلاقانه و با کارایی بالا نوشته شده است. برای نوشتن این برنامه از تکنولوژی ASP.Net MVC نوشته شده است. سناریوی تهیه شده برای پرسش و پاسخ در این وب سایت به قدری عالی و خلاقانه طراحی شده که تمام کاربران آن را به دادن پاسخ‌های سریع و دقیق ترغیب می‌کند. معمولا هر سوالی که در آن از بقیه کاربران بپرسید پس از چند دقیقه به پاسخ‌های خوبی دست خواهید یافت. این سایت مورد توجه متخصصان زیادی از سراسر دنیا می‌باشد.

نحوه کار در این سایت به گونه‌ای است که برای هر فعالیتی امتیازاتی از طرف کاربران و خود سایت به شما داده می‌شود. به عنوان مثال برای هر سوالی که بپرسید و سوال شما سوال خوبی باشد، کاربران می‌توانند به سوال شما رای بدهند به ازای هر رای برای سوال خوب ۵ امتیاز، برای هر پاسخ مناسب ۱۰ امتیاز و برای هر جوابی که از طرف شخص سوال‌کننده به عنوان پاسخ سوالش انتخاب شود ۱۵ امتیاز کسب می‌شود. خود سایت هم دارای مدال‌هایی با رنگ‌های طلایی، نقره‌ای و برنزی می‌باشد. این موارد به صورت خودکار محاسبه می‌شود و به شما مدال‌هایی با نام‌های مختلف داده می‌شود. به عنوان مثال اگر سوالی بپرسید که بیش از ۱۰۰۰ بار دیده شود، یک مدال برنز با عنوان popular question به شما داده می‌شود. به همین ترتیب مدال‌های دیگری با رنگ‌های دیگر به شما اعطا خواهد شد.

این سایت به تازگی بخشی هم برای گفتگوی آنلاین کاربران راه‌اندازی کرده است، به طوری که می‌توانید به صورت آنلاین در اتاق‌های تخصصی آن با دیگر متخصصان گفتگو نمایید.

از آنجا که کارایی و ایده این سایت بسیار جالب بوده است، سایت‌های هم خانواده‌ای برای آن ساخته شده است که لزوما در زمینه برنامه‌نویسی نیستند. از جمله این ساایت‌ها می‌توان به موارد زیر اشاره کرد :

 

۱- http://serverfault.com : این سایت از اولین نمونه‌هاست، اگر مشکلاتی در رابطه با پیکربندی سرورهای مختلف دارید می‌توانید در این سایت به پاسخی دست یابید و مشکل خود را حل کنید.

۲- http://superuser.com : این سایت مربوط است به پرسش و پاسخ برای تمام مشتاقان کامپیوتر در هر ضمینه و در هم پلتفرمی.

۳- http://webapps.stackexchange.com : این سایت برای متخصصینی که در ضمینه طراحی و پیاده‌سازی نرم‌افزارهای تحت وب کار می‌کنند، پیاده سازی شده است.

۴- http://area51.stackexchange.com : این سایت برای کسانی است که علاقه دارند که سایت‌هایی از خانواده stackoverflow بسازند. در این سایت می‌توان پیشنهاداتی را برای ساخت سایت‌های هم خانواده ارائه داد.

۵- http://webmasters.stackexchange.com : این سایت به وب‌مسترها کمک می‌کند تا سوالات خود را در رابطه با نگهداری و پیشبرد وب سایت خود بپرسند.

۶- http://gamedev.stackexchange.com : اگر سوالی در رابطه با توسعه بازی‌های کامپیوتری داشتید، می‌توانید از این سایت استفاده کنید.

۷- http://askubuntu.com : در این سایت هر سوالیکه در ضمینه کار با سیستم عامل اوبونتو داشته باشید پاسخ داده می‌شود. دوستانی که از ایم سیستم عامل متن‌باز استفاده می‌کنند می‌توانند کمک زیادی از این سایت بگیرند.

۸- http://math.stackexchange.com : این سایت یکی از موارد مورد علاقه بنده است. در این سایت متخصصین زیادی گرد هم آمده‌اند و به سوالات ریاضی پاسخ می‌دهند و در ضمینه‌های گوناگون علم شیرین ریاضیات تبادل نظر می‌کنند.

۹- http://stats.stackexchange.com : این هم سایتی برای بچه‌های رشته آمار و ریاضی. در این سایت سوالات مربوط به تحلیل‌های آماری پاسخ داده می‌شوند.

۱۰- http://photo.stackexchange.com : جمعی از متخصصین عکاسی این سایت را راه‌اندازی کرده‌اند که بتوانند به آموزش این هنر بسیار زیبا بپردازند. من یکی از علاقه‌مندان پر و پا قرص عکاسی هستم.

۱۱- http://english.stackexchange.com : اگر سوالی در رابطه با زبان انگلیسی و کاربرد آن دارید این سایت به شما توصیه می‌شود. سوالات گرامری، معناشناسی، نوشتاری و … در رابطه با زبان انگلیسی را در این سایت بپرسید. از آنجا که آموزش زبان انگلیسی در کشور ما، طرفداران زیادی دارد لذا این سایت یکی از پرکاربردترین این سایت‌ها می‌تواند باشد.

۱۲- http://cooking.stackexchange.com : این هم سایتی برای آموزش آشپزی که از هم خانواده‌های سایت‌های بالا می‌باشد.

۱۳- http://gaming.stackexchange.com : اگر از علاقه‌مندان بازی‌های کامپیوتری هستید و در جایی از بازی به مشکلی برخورد کردید، این سایت را به خاطر داشته باشید.

۱۴- http://www.danatarin.com : این هم یک عضو فارسی زبان این خانواده که به پرسش و پاسخ درباره بحث‌های مختلف مربوط به حوزه IT می‌پردازد.

 

سایت‌های هم خانواده دیگری هم وجود دارند که می‌توانیم با یک گشت کوچک در اینترنت به آن‌ها دسترسی پیدا نماییم. امیدوارم که استفاده از چنین سایت‌هایی برای کاربران هدف، مفید واقع شود.

خلاص شدن از دست حجم زیاد فایل‌های Log در SQL Server

سپتامبر 25, 2010 21 دیدگاه

مدت‌ها است که دارای یک فایل پایگاه داده هستیم که حجم خود فایل داده‌ها (mdf) حدود ۴۵۰ مگابایت است، این در حالی است که حجم فایل log آن حدود ۱۲.۵ گیگابایت است. این حجم زیاد مشکلاتی برای ما ایجاد کرده بود از جمله از بین بردن فضای هارددیسک سرورمان و بالا بودن حجم آن برای ارسال ازطریق اینترنت.

همان‌طور که می‌دانید هر پایگاه داده شامل ۲ فایل می‌باشد، فایل اول، فایل اصلی است که اصل داده‌ها روی آن نگهداری می‌شوند (فایلی با پسوند mdf)  و حجم آن عددی کاملا متعارف است. دومین فایل مربوط به ثبت وقایع اتفاق افتاده روی پایگاه داده است و هر تراکنشی که روی پایگاه داده انجام می‌شود روی این فایل ذخیره می‌شود (فایلی با پسوند ldf)، به همین دلیل حجم این فایل به سرعت در حال زیاد شدن است و زمانی که کل فضای هارددیسک را اشغال کند، عملا دیگر هیچ عملیاتی روی پایگاه داده انجام نمی‌شود. لازم به ذکر است که ابزارهایی برای بازیابی داده‌ها از روی این فایل وجود دارد.

فکر می‌کردم که با یک Shrink ساده از طریق خود SQL Server  می‌توانم این فضا را آزاد کنم ولی وقتی این کار را انجام دادم دیدم که فقط حدود یک گیگابایت از حجم آن کم شده که اصلا برای من قابل قبول نبود. به همین منظور کمی در این زمینه مطالعه کردم و به جاهای خوبی رسیدم.

یادمه که در نسخه ۲۰۰۰ می‌توانستیم یک پایگاه داده را Detach کنیم و فایل ldf مربوط به آن را حذف کنیم، زمانیکه دوباره پایگاه داده را attach می‌کردیم یک فایل ldf جدید ساخته می‌شد اما در نسخه‌های بعد از آن چنین امکانی وجود ندارد.

در نسخه‌های جدید برای shrink کردن ابتدا باید عملیات log truncation را انجام دهیم. این عملیات در دو حالت اتفاق می‌افتد:

۱- در مدل بازیابی ساده (simple recovery model) بعد از یک checkpoint اتفاق می‌افتد.

۲- در مدل بازیابی کامل (full recovery model) و مدل بازیابی bulked-log ، پس از پشتیبان‌گیری از log .

هر فایل log دارای یک بخش غیرفعال است که در عملیات  truncate کردن فقط این بخش از پایگاه داده آزاد می‌شود. بخش غیر فعال به بخشی گفته می‌شود که مربوط به اتفاقاتی است که commit شده‌اند و عملا بودن یا نبودن آن‌ها هیچ مزیتی برای ما ندارند.

طبق مواردی که در بالا بیان شد برای اینکه بتوانیم حجم این فایل را کم کنیم باید ابتدا عملیات truncation را انجام دهیم و سپس آن را shrink کنیم. برای truncate کردن باید از فایل log پشتیبان بگیریم. برای انجام این کار از طریق SQL Server Management Studio کاری شبیه به پشتیبان‌گیری معمولی انجام می‌شود، فقط باید نوع پشتیبان‌گیری را از نوع  Transaction Log انتخاب کرد. زمانی که این نوع انتخاب شود می‌توان از بخش Options تعیین کرد که آیا عملیات truncate کردن انجام شود یا خیر. از این بخش مقدار پیش‌فرض را تغییر ندهید. زمانی‌که محل مورد نظر برای پشتیبان‌گیری را انتخاب کردید روی دکمه OK کلیک کنید تا پشتیبان‌گیری انجام شود.

بعد از این مرحله برای shrink کردن پایگاه داده روی نام پایگاه داده کلیک راست ماوس را زده و از بخش Tasks گزینه Shrink و سپس Database را انتخاب نمایید و روی دکمه OK در صفحه جدید کلیک نمایید. با این کار حجم فایل من که حدود ۱۲.۵ گیگابایت بود به حدود ۱۶۰ مگابایت رسید!!!؟؟!!

دسته‌ها:Administration, Persian Contents, SQL Server برچسب‌ها: , , , ,
دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.