در دوره آموزش Performance Tuning در SQL Server – سطح اول به برررسی File Group ها، Filstream، بررسی ایندکس و معماری آن به عنوان یکی از مهمترین راههای افزایش سرعت از بانک اطلاعاتی، روشهای مانیتور کردن ایندکسها میپردازیم و در این خصوص نکات پیشرفتهای خواهیم گفت. Performance tuning در SQL Server به بهبود عملکرد و سرعت اجرای پرسوجوها و عملیات دیگر در پایگاه داده SQL Server اشاره دارد که شامل انجام تغییرات و بهینهسازیهای مختلف برای بهبود عملکرد سیستم است.
2.190.000 تومان Original price was: 2.190.000 تومان.1.314.000 تومانCurrent price is: 1.314.000 تومان.
▪️ FileGroup چیست؟ ▪️ بررسی انـواع FileGroup ▪️ بررسی نحوه رشــد Data File ها ▪️ بررسی دلایل استفاده از File Group ▪️ بررسی Large Object ها ▪️ روشهای ذخیرهسازی Large Object ها ▪️ آشنایی با Filestream ▪️ مزایای استفاده از Filestream
نحوه ارتباط دات نت با Filestream و File Table
ما در این دوره، شما را با نحوه استفاده از تکنولوژی Filestream و همچنین File Table در دات نت آشنا میکنیم. از این سبک کدنویسی، خودم بهشخصه در اغلب پروژهها استفاده کردهام و کارایی بانک اطلاعاتی را افزایش دادهام.
یادم است در یکی از پروژههایی که بهتازگی درگیر آن بودیم، یک سیستم با کاربری ملی وجود داشت که برنامهنویسان آن، به اشتباه ذخیره فایلها را خودشان در NTFS و همچنین دادههای مربوط به آن را در MongoDB انجام داده بودند که به محض افزایش تعداد فایلها و تعداد کاربران، دچار مشکلات زیادی شدند که با انجام تغییراتی در معماری برنامه و هدایت فایلها و دادههای مربوط به آن به سمت SQL Server و استفاده از تکنولوژی Filestream ، سیستم بهراحتی توانست ازعهده درخواستهای کاربران برآید.
▪️ ایجاد جدول برای استفاده از Filestream ▪️ بررسی نحـوه استفــاده از Filestream ▪️ بررسی عملیات Insert در Filestream ▪️ بررسی عملیات Update در Filestream ▪️ بررسـی عملیات Delete در Filestream ▪️ بررسی چند کار مهم یک مدیر بانک اطلاعاتی در Filestream ▪️ بررسی یک Case Study ذخیره مدارک در Filestrea ▪️ روشهـای بــرنــامهنــویسی Filestream ▪️ بررسی روشهـای افــزایش ســرعت Filstream
▪️ نحوه استفاده از FileTable ▪️ تهیه و بازیابی نسخه پشتیبان در FileTable ▪️ کاربرد سخت افزار برای Scale-out Storage ▪️ معرفی انواع مدلهـای Storage ▪️ معرفی پــروتکل S3 ▪️ مراحل اجرای دستورات TSQL ▪️ ترتیب اجرای منطقی دستورات TSQL ▪️ حل و ارائه مثالهای کاربردی
▪️ بررسی ساختارهای ذخیرهسازی ▪️ Heap Table چیست؟ ▪️ مزایای و معایب استفاده از Heap Table ▪️ Index چیست؟ ▪️ بررسی انواع Index ها در SQL Server ▪️ بررسی مفهوم Scan کردن دادهها ▪️ B-Tree چیست؟ ▪️ Clustered Table چیست؟ ▪️ Primary Key و Clustered Index ▪️ نحوه استفاده از Clustered Index ▪️ مقایسه جداول Heap و Clustered ▪️ حل و ارائه تمرینهای کاربردی
یکی از پروژههایی که چند وقت است در نیک آموز درگیر انجام عملیات Performance Tuning آن بودیم، شامل یک جدول Heap با بیش از چهل میلیون رکورد بود. زمانی که کاربران در ساعت اداری با این سیستم کار میکردند، مصرف CPU سرور بالای 80 درصد بود و این موضوع باعث شده بود که کاربران بهشدت شاکی شوند و کُندی در سیستم محسوس باشد. اولین کاری که برای رفع مشکل انجام دادیم، تبدیل جدول به Clustered و ایجاد تعدادی Non Clustered ایندکس برروی آن بود.
▪️ NonClustered Index چیست؟ ▪️ انواع NonClustered Index ▪️ Bookmark چیست؟ ▪️ NonClustered Index روی Heap , روی Clustered ▪️ Lookup چیست؟ ▪️ بررسی مفهـوم Tipping Point ▪️ Index Key مناسب برای NonClustered Index ▪️ بررسی نحوه حذف Lookup ▪️ استفاده از Cover Index جهت حذف Lookup ▪️ Filtered Index چیست؟ ▪️ مزایای و محدودیت های استفــاده از Filtered Index ▪️ استفاده از Option های ساخت ایندکس ▪️ معرفی ویـژگی SORT_IN_TEMPDB , IGNORE_DUP_KEY , MAXDOP ▪️ معرفی ویژگی ALLOW_ROW_LOCKS , ALLOW_PAGE_LOCKS , DROP_EXISTING ▪️ استفاده از ایندکسهای تـرکیبی ▪️ بررسی چالش ایجاد بیش از حد ایندکس ▪️ ایجاد ایندکس برروی GUID
یکی از وحشتناکترین کارهایی که یک DBA ممکن است خیلی زیاد آن را انجام دهد، Shrink کردن Database است. این استراتژی را یکی از DBA های یک کارخانه مشهور دولتی انجام داده و به این موضوع، بهشدت افتخار میکرد که با انجام این کار Database ، دوباره جان میگیرد.
به شکل دوستانه و با چند خط اسکریپت، وضعیت بانک اطلاعاتی قبل از Shrink و بعد از آن را به او نشان دادم تا متوجه مشکلات مربوط به این کار شود. پس از حذف پروسه Shrink از Job های شبانه ایشان، مشکلات مربوط به کندی برخی از کوئریها رفع شد.
یکی از کارهایی که من همیشه برروی بانکهای اطلاعاتی انجام میدهم، پیدا کردن ایندکسهای بلااستفاده برروی سرور است. وجود ایندکسهای اضافی برروی سرور، باعث بالا رفتن افزایش Fragmentation ایندکس، افزایش مدت زمان Blocking، افزایش احتمال وجود Deadlock و… میشود. ما در SQL Server میتوانیم ایندکسهای بلااستفاده را بااستفاده از بررسی تعدادی DMV مدیریتی بهدست آوریم.
▪️ بررسی DMV و DMF های مشهور ▪️ بررسی Index Physical Statistics ، بررسی Index Operational Statistics ، بررسی Index Usage Statistics ▪️ فرآیندهای نگهداری ایندکس ▪️ پیداکردن Duplicate Index ها ، Unused Index ها ، Missing Index ها
شاید به بانکهای اطلاعاتی برخورد کرده باشید که چندین سال است کار میکند و به یکباره کند میشود. بیشتر مشکلات کندی مربوط به این نوع برنامهها، ممکن است با یک Rebuild ساده ایندکس حل شود. از این نوع بانکهای اطلاعاتی زیاد دیدهام؛ کارخانه X، کارخانه Y و…؛ همه اینها افرادی که بهطور تخصصی با SQL Server کار کنند را ندارند. یک Admin شبکه، مسئول همهچیز است. حق هم دارد به این مسائل مسلط نباشد؛ چون حیطه تخصصی او، شبکه و مسائل مربوط به آن است ولی SQL Server را به او تحمیل کردهاند. اما این وسط برنده کسی است که با این مباحث آشنایی داشته باشد و بتواند درآمد و سطح دانش خود را افزایش دهد.
▪️ Fragmentation چیست؟ و بررسی انواع آن ▪️ Internal / Logical Fragmentation ▪️ External / Extent Fragmentation ▪️ File Level Fragmentation
▪️ Shrink و Fragment شدن ایندکسها ▪️ راه حلهای رفع Fragmentation ▪️ بررسی Rebuild کردن ایندکسها و کاهش Fragmentation ▪️ بررسی روشهای مختلف Rebuild کردن ایندکسها ▪️ بررسی حالتهای مختلف Rebuild کردن ایندکسها بهصورت آنلاین
▪️ Data Compression چیست؟ و روش کار آن ▪️ انواع روشهای Data Compressio ▪️ بـررسی Row Level Compression ▪️ بررسی Page Level Compression
▪️ بررسی توابع مربوط به فشردهسازی در SQL Serve ▪️ بررسی تابع Compress ▪️ بررسی تابع Decompress ▪️ بررسی تأثیر عملیات فشردهسازی برروی کارایی عملیات تهیه و بازیابی نسخه پشتیبان ▪️ Intel QuickAssist Technology چیست ؟ بررسی در دو حالت سختافزاری و نرمافزاری
در یکی از پروژههایی که در آن درگیر بودم، یکی از جداول بانک اطلاعاتی دارای حجم زیادی از داده بود که با توجه به اینکه حجم Select های این جدول خیلی زیاد بود، تصمیم گرفتیم Data Compression را برروی این جدول راهاندازی کنیم. با انجام این کار، حجم دادههای موجود در ایندکسهای این جدول کاهش پیدا کرد و این موضوع باعث شد که IO کوئریها کمتر شود.
تصویر زیر، نمونهای از فضای یک جدول، قبل از فشرده و پس از فشردهسازی به روشهای مختلف را نمایش میدهد.
▪️ معرفی Columnstore Index ▪️ انواع ایندکسهای Columnstore Index ▪️ معرفی مــزایای Columnstore Index ▪️ کجا از Columnstore Index استفاده کنیم؟ ▪️ کجا از Columnstore Index استفاده نکنیم؟ ▪️ بـررسی Case Study های مطــرح در این حــوزه ▪️ استفاده در یک پروژه بانکی ▪️ معرفی پــروژه NASDAQ (ابر بورس دیجیتالی دنیا) ▪️ بررسی Benchmark های org ▪️ مقایسه Oracle و SQL Server ▪️ بررسی روش ذخیرهسازی Columnstore Index
▪️ بررسی انواع مدلهای اجرای کوئری ▪️ استفاده از ویژگی مرتبسازی در Columnstore ▪️ ارائه و حل تمرینهای کاربردی
مسعود طاهری مدرس و مشاور ارشد SQL Server & BI مدیر فنی پروژههای SQL Server و هوش تجاری در نیک آموز، رئیس واحد دیتابیس شرکت پرداخت الکترونیک سداد، کارشناس ارشد تحلیل و طراحی شرکت تجارت الکترونیک پارسیان (PEC co).،مدرس دوره ۲۵ جلسه ای آموزش Performance Tuning در SQL Server،مدرس دوره ۲۵ جلسهای هوش تجاری در SQL Server، مدرس دوره High Availability در SQL Server، سخنران همایش معرفی قابلیت های جدید SQL Server 2016، سخنران بخش هوش تجاری همایش مورد تایید مایکروسافت در سال ۲۰۱۷ در ایران، مشاور SQL Server در شرکت مهندسی رایورز، سازمان کشتیرانی کل کشور و شرکت توسعه رفاه پردیس (بانک رفاه)، مدرس دورههای سازمانی از جمله سازمان بورس، کشتیرانی، شونیز، سازمان زندانها، مرکز آمار ایران، رایورز و…،متخصص، مدرس و مشاور SQL Server و مباحث فوق پیشرفته بانک اطلاعاتی و هوش تجاری می باشد.
این دوره در یک پلیر اختصاصی قابل مشاهده است، بعد از شروع دوره کلید لایسنس اختصاصی در پنل کاربری شما قرار دارد و از طریق راهنمای مشاهده محصولات محافظت شده میتوانید این دوره را به راحتی ملاحظه نمایید.
تمام جشنوارهها از یک الی دو هفته قبل از طریق شبکههای اجتماعی اینستاگرام (@nikamooz)، وبسایت مجموعه (www.nikamooz.com) و همچنین ایمیلهای ارسالی به کاربران اطلاعرسانی میگردد.
در صورت تمایل به دریافت فاکتور رسمی، پیش از خرید خود با واحد فروش مجموعه (17 00 07 91 – 021) تماس حاصل نمایید. شایان ذکر است، امکان صدور فاکتور رسمی پس از خرید آنلاین از سایت مجموعه به هیچ عنوان وجود نخواهد داشت.
Δ
ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.