آموزش SQL Server Integration Services (SSIS)
SQL Server Integration Services که به اختصار SSIS نامیده میشود، یک ابزار قدرتمند ETL است. با اینکه این ابزار بسیار قدرتمند است، میتوانید آموزشهای SSIS را در مدت ۲۸ روز (حداکثر) یاد بگیرید. به یاد داشته باشید که این ابزار، دومین ابزار بزرگ برای انجام عملیات استخراج، تبدیل و بارگذاری (فرآیند ETL) محسوب میشود.
ابزار ETL در SSIS دادهها را از منابع مختلف استخراج کرده و آنها را مطابق با نیاز کاربر تبدیل میکند. سپس دادهها را به مقاصد مختلف بارگذاری میکند. این صفحه SSIS تمام مباحث مربوط به مدیران اتصال (Connection Managers)، منابع داده (Data Sources)، تبدیلات (Transformations)، جریان کنترل (Control Flow) و وظایف جریان داده (Data Flow Tasks) را پوشش میدهد.
SSIS چیست؟
در درجه اول، این ابزار ETL به ساخت راهکارهای سطح سازمانی برای تبدیل و یکپارچهسازی داده کمک میکند. SSIS برای بارگذاری دادهها از دادههای تراکنشی معمولی به انبار داده بسیار مفید است. بنابراین میتوانید با استفاده از دادههای تبدیلشده، گزارشهایی با کمک SSRS، Tableau و غیره تهیه کنید.
علاوه بر کاربرد در انبار داده، میتوانید از SQL Server Integration Services برای اجرای برنامههای معمولی یکپارچهسازی داده نیز استفاده کنید. پیش از یادگیری آموزش SSIS، پیشنهاد میکنم ابتدا اصول پایه SQL Server، دستکم دستورات SELECT را یاد بگیرید.
SSIS شکل کوتاهشدهی SQL Server Integration Services است که یک محصول ETL از مایکروسافت محسوب میشود. این ابزار سه عملیات را انجام میدهد و برای درک بهتر، مثالی از فروشگاه Walmart میزنیم. این فروشگاه چندین شعبه در سراسر جهان دارد و دادههای تمامی شعب به آمریکا ارسال میشود (که ممکن است دادهها بر اساس بازار محلی متفاوت باشند).
مرحله ۱: استخراج (Extract): دریافت داده از منابع مختلف نظیر EXCEL، TEXT، CSV، SQL، ORACLE و غیره.
مرحله ۲: تبدیل (Transformation): تبدیل دادههای استخراجشده به فرمتی معنادار یا مورد نیاز؛ برای مثال مرتبسازی و محاسبه سود فروش، مجموع، میانگین و غیره.
مرحله ۳: بارگذاری (Load): پس از اینکه دادهها به فرمت مورد نظر رسیدند، آنها را به جداول مقصد بارگذاری میکنیم که ممکن است EXCEL، TEXT، CSV، SQL، ORACLE و غیره باشد.
SSIS برای چه کاری استفاده میشود؟
برای کار با بستههای SSIS به یک محیط توسعه و یک محیط مدیریت نیاز دارید. SQL Server مایکروسافت دو گزینه برای توسعه بستهها ارائه میدهد: اولی استفاده از BIDS یا SSDT و دومی استفاده از جادوگر Import and Export است.
میتوانید از گزینه دوم برای بارگذاری ساده داده استفاده کنید زیرا به محیط جداگانهای نیاز ندارد. در این روش، از جادوگر برای انتخاب منابع، تبدیلات و مقاصد استفاده میشود.
همچنین به یک مورد دیگر به نام SQL Management Studio نیاز دارید. این ابزار برای نظارت و مدیریت بستههای توسعهدادهشده در محیط عملیاتی مفید است. خدمات SSIS شامل موارد زیر است:
رابط کاربری گرافیکی برای توسعه بستهها بدون نوشتن کد
دارا بودن تبدیلات متعدد و وظایف جریان کنترل برای پاکسازی یا تبدیل دادهها
دارای پایگاه دادهی کاتالوگ که در ابتدا برای استقرار بستهها، اجرای آنها و مدیریت از طریق SSMS پیکربندی میشود
خدمات SSIS بر اساس SQL Server Agent برای زمانبندی عملیات عمل میکند
مقدمه آموزش SSIS
SQL Server Integration Services مایکروسافت شامل بسیاری از وظایف و تبدیلات داخلی است. میتوان از آنها برای حل مسائل پیچیدهی کسبوکار با ساخت بستههای یکپارچهسازی داده با عملکرد بالا استفاده کرد. این آموزش SSIS را میتوان برای بهروزرسانی انبارهای داده، دادهکاوی، دانلود یا کپی فایلها، استخراج و انتقال داده از XML به SQL و غیره استفاده کرد.
برای توسعه یا ایجاد یک بستهی یکپارچهسازی، به ابزارهای داده یا BIDS نیاز دارید. بنابراین پیشنهاد میکنم SQL Server Data Tools، ویژوال استودیو یا Business Intelligence Development Studio (BIDS) را برای تمرین SSIS نصب کنید.
نصب Data Tools یا BIDS
ایجاد یک پروژه جدید Integration Services
ایجاد یک بسته جدید
آموزش SSIS در مورد Data Flow Task
سه نوع مؤلفه Data Flow در SQL Server Integration Services (SSIS) وجود دارد: Sources، Transformations و Destinations. هر مؤلفه Data Flow یک خروجی دارد. از نتیجه آن برای اتصال به سایر اعضا استفاده میشود. به عنوان مثال، خروجی Source را به Transformations متصل کرده و سپس خروجی Transformation را به Destination متصل کنید.
هنگام کار با آموزش SSIS در مورد مؤلفههای Data Flow، همیشه باید Column Mappings را بررسی کنید. این همان جایی است که ممکن است با خطا مواجه شوید. منظورم این است که Column Mapping اشتباه یا عدم وجود Column Mapping و غیره.
توجه: پیشنهاد میکنم پایگاه دادههای Adventure Works و Adventure Works DW را برای تمرین این مثالهای SSIS دانلود کنید. زیرا در این بخش از این دو پایگاه داده استفاده میکنیم. لطفاً به Install Adventure Works و SELECT Statements در SQL Server مراجعه کنید.
آموزش SSIS در مورد Connection Managers
این SQL SSIS دادهها را از منابع مختلف استخراج کرده، آنها را تبدیل کرده و به یک Destination کاملاً متفاوت بارگذاری میکند. ابتدا به یک Connection Manager نیاز داریم تا ارتباط بین Package و Source و همچنین Package و Destination برقرار کند.
علاوه بر این، Connection Manager شامل ویژگیهای Connection String فیزیکی است تا اتصال را در زمان اجرا ایجاد یا برقرار کند. در SSIS Integration Services، دو نوع Connection Manager وجود دارد: سطح Package (که در پنجره پنجم طراحی میشود) و سطح Project (که در پنجره Solution Explorer ایجاد میشود).
Connection Managerهای سطح Project بین تمامی بستههای موجود در آن Project به اشتراک گذاشته میشوند. اینها در زمان Deployment پروژه در دسترس هستند. این بخش به برقراری ارتباطات بین این SQL SSIS و منابع داده مختلف میپردازد.
مقدمهای بر Connection Managers
OLE DB Connection Manager
ADO Connection Manager
ADO.NET Connection Manager
Cache Connection Manager
EXCEL Connection Manager
File Connection Manager
FTP Connection Manager
SMO Connection Manager
آموزش SSIS در مورد Sources
آموزش زیر منابع رایج استفادهشده در توسعه بستههای SSIS را فهرست میکند.
Sources:
ADO.NET Source
Excel Source
OLE DB Source
Flat File Source
Raw File Source
Destinations:
ADO.NET Destination
OLE DB Destination
Flat File Destination
Raw File Destination
هدف اصلی بسته SQL Server Integration Services این است که دادهها را از منابع مختلف به Destination منتقل کند. این بدان معناست که شما به یک Source نیاز دارید تا دادهها را از آن دریافت کنید و به یک Destination نیاز دارید تا دادهها را در آن بارگذاری کنید.
آموزش SSIS در مورد Transformations
خدمات یکپارچهسازی SQL SSIS کاملاً مرتبط با Sources، Transformations و Destinations است. شما به Connection Managerها نیاز دارید تا با منابع (پایگاه داده SQL Server، CSV و غیره) و مقاصد ارتباط برقرار کنید. بنابراین، اگر Connection Manager را بدانید، دیگر نیازی به نگرانی در مورد Sources و Destinations ندارید.
Transformations دادههای پایگاه داده SQL Server را تغییر میدهند یا پاکسازی میکنند، تبدیلهای داده را انجام میدهند، تجمیع دادهها را انجام میدهند و غیره.
آموزش SSIS در مورد Control Flow Tasks
هر بسته Integration Services شامل یک تب کنترل جریان (Control Flow) است. شما میتوانید بهطور اختیاری از وظایف کنترل جریان SSIS در این تب کنترل جریان استفاده کنید، همچنین میتوانید یک یا چند وظیفه جریان داده (Data Flow Task) را نیز اضافه کنید. احتمالاً میتوانید ترکیبی از هر دو وظیفه کنترل جریان و وظایف جریان داده را استفاده کنید.
در اینجا است که ما جریان داده کامل را طراحی میکنیم. علاوه بر این، این جایی است که تمام تبدیلات SSIS انجام میشود.
آموزش SSIS در مورد استقرار Deployment
پس از ساخت یا توسعه بسته یکپارچهسازی SQL Server، مرحله بعدی استقرار بسته در محیط تولید است. استقرار پروژه SQL SSIS Integration Services جایی است که باید زمان اجرای بسته و کاربر مجاز برای انجام آن را مشخص کنیم. روشهای مختلفی برای استقرار بستهها وجود دارد. این روشها از استفاده از BIDS/SQL Data Tools، Import and Export Data Wizard، و Management Studio آغاز میشود.
دیدگاهتان را بنویسید