ETL دومین مرحله از اجرای پروژه های هوش تجاری به روش Enterprise BI است. ETL در هوش تجاری برای جمعآوری، تبدیل و ذخیرهسازی دادهها استفاده میشود. ETL این امکان را بهوجود میآورد تا در هوش تجاری، دادهها بتوانند بهصورت بهینه و قابل استفاده در تحلیلها و گزارشدهی قرار بگیرند. این دوره آشنایی با ETL و استفاده از SSIS در SQL Server که تمامی موارد لازم برای استفاده از این ابزار را در اختیار شما قرار میدهد.
3.590.000 تومان
آشنایی با قسمتهای اساسی Data Tools برای کار با پروژههای SSIS
برای پیادهسازی یک پروژه ETL باید از سرویس SSIS در SQL Server کنیم. ابزار توسعه یک پروژه ETL به سبک مایکروسافتی Visual Studio است که با نصب Extension مربوط به SSIS میتوانیم توسعه یک پروژه ETL را شروع کنیم.
ما در طی این دوره، شما را با نحوه کار با این ابزار و همچنین کامپوننتهای موجود در آن آشنا خواهیم کرد.
زمانی که شما بخواهید به منابع اطلاعاتی خود وصل شوید، باید از مفهوم Connection استفاده کنید. یکی از کارهایی که میتوان در توسعه پروژههای ETL انجام داد، داینامیک کردن Connection است.
یادم است یکبار نیاز به انجام کاری تکراری و خواندن داده از چند بانک اطلاعاتی مشابه بود. ما روال پیادهسازی مربوط به این کار را با استفاده Dynamic کردن Connection ها در SSIS توانستیم بهخوبی انجام دهیم.
در یکی از پروژههای BI که درگیر آن بودیم، یکی از مشتریان، درخواستی مبنیبر این داشت که واکشی دادههای منابع اطلاعاتی از X روز قبل اتفاق بیافتد و همیشه سیستم، ملاک واکشی را از X روز قبل انجام دهد. پارامتر X باید در اختیار مدیر سیستم باشد که بتواند آن را در برخی مواقع، تنظیم نماید. ما برای پیادهسازی این ویژگی، از Package Parameter در SSIS استفاده کردیم.
شما در طی این دوره با این ویژگی و همچنین سایر ویژگیهای مربوط به این حوزه بهخوبی آشنا خواهید شد.
یکی از کامپوننتهای خیلی خوب در SSIS، کامپوننت Execute SQL Task است. ما بهوسیله این کامپوننت میتوانیم دستورات SQL را در بانکهای اطلاعاتی مختلف اجرا کنیم. برای مثال، فرض کنید که ما نیاز است پس از پر کردن یک جدول Stage ایندکس برروی آن اعمال کنیم. برای این کار میتوانیم از این کامپوننت استفاده کرده و دستور ساخت ایندکس را برروی جدول اعمال نماییم.
چند سال پیش در یکی از پروژههایمان، درگیر پیادهسازی یک روال ETL برای یک سازمان دولتی بودیم. در این سازمان، یکی از سرورها در سنگاپور و دیگری در تهران قرار داشت. هدف این بود که سرور تهران طی فواصل زمانی خاص بتواند اطلاعات موجود در برخی از جداول سرور سنگاپور را واکشی کرده و پس از انجام پروسه ETL درون Data Warehouse درج کند. اما مشکلی برای انجام اینکار وجود داشت، این بود که سرور تهران نمیتوانست بهطور مستقیم به سرور سنگاپور وصل شود و دادهها را از آن واکشی کند.
برای اینکه این مشکل را حل کنیم، از یک FTP Server استفاده کردیم که هر دو سرور بهطور مستقیم به آن دسترسی داشتند. سرور سنگاپور دادههای لازم را طی فواصل زمانی بهصورت یک Flat File تولید کرده و در FTP Server قرار میدهد و پس از آن، سرور تهران در زمانهایی خاص به FTP سرور وصل شده و فایلهای جدید را پس از انتقال به سرور تهران در سیستم Import میکند. تمامی این کارها بدون برنامهنویسی و با استفاده از SSIS انجام شده است.
یکی از کارهای جالبی که در SSIS میتوان انجام داد، ایجاد حلقه است. ما با استفاده از کامپوننتهای خانواده Loop میتوانیم کارهای تکراری را در SSIS انجام دهیم. برای مثال، اگر بخواهیم عملیات ETL را برروی فایلهایی انجام دهیم که نام آنها با یک قاعده خاص (Data_1.csv ,Data_2.csv و…) باشد، میتوانیم از کامپوننتهای خانواده Loop جهت انجام کار تکراری بهره ببریم.
برای ایجاد Automation و اجرای خودکار پکیجها در SSIS میتوان از کامپوننت Execute Package استفاده کرد. معمولاً برای ایجاد این نوع پکیجها، از استراتژی پکیج Run All استفاده میکنند.
در طی اجرای یک پکیج SSIS، ممکن است پیامهایی در قالب هشدار، خطا، اطلاعرسانی و… تولید شود. ما در SSIS هنگام توسعه و همچنین در محیط عملیاتی میتوانیم جزئیات آنها را بههمراه آیکونهای گرافیکی مربوط به مشاهده نماییم.
ما در این دوره با مفهوم ETL و روشها و تکنیکهای نقل و انتقال داده آشنا خواهیم شد. هرچقدر تسلط شما به کامپوننتهای SSIS بیشتر باشد، بهراحتی میتوانید سناریوهای ETL را طراحی و پیادهسازی نمایید. اتصال به منابع اطلاعاتی و چینش سناریوهای ETL، یکی از نکات قابل توجهی است که باید هنگام کار با SSIS به آن توجه داشت. ما در طی این دوره، شما را با این موضوع بهخوبی آشنا خواهیم کرد.
زمانی که شما یک پکیج SSIS طراحی میکنید، باید در استفاده از کامپوننتها دقت لازم را به خرج دهید. برخی از کامپوننتهای موجود در Data Flow Task زمانی که با داده درگیر میشوند، ماهیت Blocking داشته و باعث میشوند که حافظه سرور ETL بیش از حد مصرف شود.
باید توجه داشت زمانی که حجم دادههای شما زیاد است، از این کامپوننتها بهصورت حریصانه استفاده نکنید. ما در طی این دوره، شما را با مفاهیم مربوط به این حوزه بهخوبی آشنا خواهیم کرد.
یکی از کامپوننتهایی که در Data Flow Task میتوان از آن برای مرتبسازی دادهها استفاده کرد، کامپوننت Sort است. با استفاده از این کامپوننت، علاوهبر مرتبسازی، میتوانیم دادههای تکراری را نیز حذف نماییم. توجه داشته باشید که این کامپوننت، بهصورت کاملاً Blocking است. این موضوع باعث خواهد شد که حافظه سرور شما بیش از حد مصرف شود.
یکی از کارهایی که در سناریوهای ETL ممکن است نیاز باشد، چرخش داده است. در برخی از موارد، ما نیاز داریم ردیفهای دادهای را تبدیل به ستون و یا ستونهای دادهای را به ردیف تبدیل کنیم. برای این منظور، ما میتوانیم از کامپوننتهای Pivot و Unpivot در SSIS استفاده کنیم. ما در این دوره، شما را با نحوه استفاده از این کامپوننتها، بهخوبی آشنا خواهیم کرد.
یکی از قابلیتهای جالب در SQL Server برای حفظ سوابق تغییرات جداول Fact و Dimension استفاده از Temporal Table است. به طور خیلی ساده، با استفاده از این امکان، ما میتوانیم بدون انجام تغییراتی در Package های خود، سوابق تغییرات رکوردها در جداول Fact و Dimension را بهصورت خودکار در جداولی جداگانه جمعآوری کنیم.
یکی از سؤالات رایجی که خیلی از دوستان از ما میپرسند، کامپوننتهای جانبی و نحوه استفاده از آنها در سناریوهای ETL است. ما در طی این دوره، شما را با تعدادی کامپوننت رایگان و کاربردی آشنا خواهیم کرد. یکی از آنها، کامپوننت Multiple Hash است که بهوسیله آن میتوانیم عملیات Hash برروی جریان داده را انجام دهیم.
استفاده از تاریخ شمسی در انباره داده یکی از نکاتی است که هنگام ایجاد آن باید در نظر داشته باشید. زمانی که شما با تاریخ شمسی و یا تاریخ میلادی در بانک اطللاعاتی عملیاتی درگیر میشوید، نیاز دارید که با روشهایی مناسب (دارای سرعت بالا) تبدیلات لازم را انجام دهید.
ما در طی این دوره، چالشهایی که شما در محیط عملیاتی در این خصوص به آن برخورد خواهید کرد را حل کرده و راهکارهایی به ازای آن به شما خواهیم داد.
یکی از تکنیکهایی که در انجام پروژههای ETL میتوان از آن استفاده کرد، Stage کردن دادهها است. با استفاده از این تکنیک، ما میتوانیم دادهها را در یک فضای جدای از انباره داده ذخیره کرده و عملیات مختلف برروی آن انجام دهیم.
استفاده از این تکنیک باعث افزایش سرعت عملیات ETL میشود. ما در پروژههای خودمان از این تکنیک بهخوبی استفاده میکنیم. برای نمونه، با استفاده از این تکنیک، ما میتوانیم عملیات Upsert در پروسه ETL را با سرعت بالا و بهراحتی انجام دهیم.
جداول Dimension شامل دادههایی است که زاویه دید تحلیل در انباره داده شما را شامل میشود. ما برای پر کردن جداول Dimension روشهای مختلفی را در طی این دوره یاد میگیریم. مهمترین وجه تمایزی که این روشها نسبت به سایر روشهای دیگر دارد، این است که رول ETL شما سریعتر بوده و این موضوع باعث کندی سرورهای عملیاتی شما نخواهد شد.
جداول Fact شامل دادههایی است که تراکنشها و Measure های تحلیلی در انباره داده شما را شامل میشود. ما برای پر کردن جداول Fact، روشهای مختلفی را در طی این دوره یاد میگیریم. مهمترین وجه تمایزی که این روشها نسبت به سایر روشهای دیگر دارد، این است که رول ETL شما سریعتر بوده و این موضوع باعث کندی سرورهای عملیاتی شما نخواهد شد.
در حال حاضر ما در سال 2023 هستیم و خیلی از دوستانی که با SSIS کار میکنند، برای Deploy کردن Package های خود از روش قدیمی استفاده میکنند. در این روش، برای استفاده از پکیج در محیط عملیاتی، فایل آن را برروی سرور کپی کرده و یک Job مبتنیبر آن ایجاد میکنند.
در حال حاضر، ما از SQL Server 2012 به بعد روش Deploy مبتنیبر Integration Catalog را مورد استفاده قرار میدهیم. در طی این روش، کلیه فعالیتهای مربوط به پکیج در بانک اطلاعاتی SSIDB قرار دارد. ما در طی این دوره، شما را با نحوه پیکربندی Integration Catalog و نحوه استفاده از آن آشنا خواهیم کرد.
برای این که بتوانیم پکیجهای Deploy شده در محیط عملیاتی را با رعایت نکات امنیتی اجرا کنیم، میتوانیم از Proxy در SQL Server استفاده کنیم. زمانی که شما از Proxy استفاده کنید، پکیج موردنظر شما با دسترسی Credential مورد استفاده در Proxy اجرا خواهد شد. در این حالت، میتوانید کلیه تنظیمات امنیتی موردنیاز را برروی Credential مورد استفاده اعمال نمایید. ما در طی این دوره، شما را با مفهوم Proxy، انواع آن و همچنین مفهوم Credential و نحوه تعریف و استفاده از آن در SQL Server آشنا خواهیم کرد.
زمانی که شما مبنای Deploy پکیجهای SSIS را براساس Integration Catalog قرار میدهید، میتوانید از لاگ اجرای پکیجها گزارش بگیرید. این گزارشها بهصورت پیشفرض وجود داشت و به ما امکان عیبیابی و رفع مشکلات پکیجها را بهخوبی میدهد.
مسعود طاهری مدرس و مشاور ارشد SQL Server & BI مدیر فنی پروژههای SQL Server و هوش تجاری در نیک آموز، رئیس واحد دیتابیس شرکت پرداخت الکترونیک سداد، کارشناس ارشد تحلیل و طراحی شرکت تجارت الکترونیک پارسیان (PEC co).،مدرس دوره ۲۵ جلسه ای آموزش Performance Tuning در SQL Server،مدرس دوره ۲۵ جلسهای هوش تجاری در SQL Server، مدرس دوره High Availability در SQL Server، سخنران همایش معرفی قابلیت های جدید SQL Server 2016، سخنران بخش هوش تجاری همایش مورد تایید مایکروسافت در سال ۲۰۱۷ در ایران، مشاور SQL Server در شرکت مهندسی رایورز، سازمان کشتیرانی کل کشور و شرکت توسعه رفاه پردیس (بانک رفاه)، مدرس دورههای سازمانی از جمله سازمان بورس، کشتیرانی، شونیز، سازمان زندانها، مرکز آمار ایران، رایورز و…،متخصص، مدرس و مشاور SQL Server و مباحث فوق پیشرفته بانک اطلاعاتی و هوش تجاری می باشد.
این دوره در یک پلیر اختصاصی قابل مشاهده است. بعد از شروع دوره، کلید لایسنس اختصاصی در پنل کاربری شما قرار دارد و ازطریق راهنمای مشاهده محصولات محافظت شده میتوانید این دوره را بهراحتی ملاحظه نمایید.
با همهگیری بیماری کووید در سراسر دنیا در سال 1398، مجموعه نیکآموز برگزاری کلاسهای حضوری را متوقف کرده و پس از آن، تمامی دورههای آموزشی بهصورت وبکستی و آنلاین برگزار شده است.
با توجه به بازخوردهای مثبت دانشجویان، کلاسهای حضوری صرفاً درصورت برگزاری بوتکمپها و مسترکلاسها خواهد بود و دورههای آموزشی، زین پس به همان صورت آنلاین و وبکستی برگزار میشود.
تمام جشنوارهها از یک الی دو هفته قبل ازطریق شبکههای اجتماعی اینستاگرام (@nikamooz)، وبسایت مجموعه (www.nikamooz.com) و همچنین ایمیلهای ارسالی به کاربران اطلاعرسانی میگردد.
درصورت تمایل به دریافت فاکتور رسمی، پیش از خرید خود با واحد فروش مجموعه (17 00 07 91 – 021) تماس حاصل نمایید. شایان ذکر است، امکان صدور فاکتور رسمی پس از خرید آنلاین از سایت مجموعه، به هیچ عنوان وجود نخواهد داشت.
Δ
ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم.