ورود

View Full Version : افزایش کارایی با قرار دادن جداول در Filegroup مجزا



abahrani
چهارشنبه 10 تیر 1394, 11:44 صبح
من یک دیتابیس دارم با چند جدول که این جداول در 90 درصد Select ها با هم ارتباطی ندارند.
سوال:آیا قرار دادن هر یک از این جداول در یک Filegroup مجزا به منظور افزایش سرعت کار درستی است؟

سیستم شامل این جداول می باشد (مشخصات کاربران / پرداخت ها / فعالیت های کاربران)
در اینجا تنها ارتباط این جداول استفاده از نام و نام خانوادگی موجود در جدول مشخصات کاربران است.

نظر خودم این است که جهت افزایش سرعت ، نام و نام خانوادگی جدا از دیگر مشخصات و به تنهایی در یک جدول و Filegroup مجزا قرار داده و هر جا که نیاز بود از آن جدول کم حجم استفاده شود.این روش افزونگی برای سیستم به بار می آورد اما مهم نیست.

منتظر نظر شما کارشناسان محترم هستم

pezhvakco
چهارشنبه 10 تیر 1394, 12:43 عصر
حجم داده ها در چه حدود است .

abahrani
چهارشنبه 10 تیر 1394, 14:15 عصر
حجم داده ها در چه حدود است .

حجم داده ها در شروع كار يعني يكسال اول كم است
جدول مشخصات كاربران حدود ٢٠٠٠٠ ركورد
جدول پرداخت ها حدود ٢٠٠٠٠٠ ركورد
جدول فعاليت ها ٥٠٠٠٠٠ ركورد

تعداد ركورد در آينده به ميليون هم خواهد رسيد.
قصدم اين است كه در ابتداي امر اصولي اجرا بشه كه بعد اگر ركورد ها زياد شد دردسر نداشته باشم.

pezhvakco
چهارشنبه 10 تیر 1394, 18:11 عصر
به نظر من برای این حجم داده ای نوشتید، نیازی به اون کارهای که نوشتید می خواهید انجام بدهید نیست .

abahrani
پنج شنبه 11 تیر 1394, 11:54 صبح
آيا اين كار با اين حجم داده سبب كندي ميشه؟
علاوه بر اينكه هدفم افزايش سرعت است قصد دارم عمليات پشتيبان گيري از هر بخش از پايگاه را به صورت مجزا به سهولت قابل انجام باشد

مهدی نان شکری
پنج شنبه 11 تیر 1394, 16:33 عصر
با سلام

FileGroup در MSSQL برای افزایش Performance و همچنین پیاده سازی استراتژی های Backup معرفی شد. ولی ایجاد Filegroup مجزا زمانی موجب افزایش Performance می گردد که فایل های سطح سیستم عامل هم جدا شده و هر فایل در دیسک مجزا و یا RAID مجزا قرار گیرد. این کار باعث همزمانی واکشی داده ها از دیسک های مجزا شده و هزینه IO در بین چند دیسک پخش می شود.

ولی اگر توصیه های خود مایکروسافت را مطالعه کنید خواهید دید که برای حجم کوچکی از داده ها که مسئله شما هم جزو آن می باشد نیازی به جدا سازی نمی باشد.
همان طور که خودتان اشاره کردید این کار حوزه استراتژی Backup ها را نیز شامل می شود که ممکن است این بعد برای شما مهم باشد.

توصیه دوستانه این که به اشتباه در خیلی از مواقع برنامه نویسان جداول خود را برای افزایش Performace از حالت نرمال خارج می کنند. شما هم در ابتدا به این مورد اشاره کردید. تا حد امکان ، از انجام این نوع کارها خود داری کنید مگر آن که دلیل محکم داشته باشید.

موفق باشید