آموزش ssis

SQL Server Integration Services یا SSIS، ابزاری است که برای اجرای عملیات های ETL مانند extract کردن، transform کردن، و load کردن داده ها مورد استفاده قرار می گیرد. درحالیکه فرایند ETL در برنامه های Data Warehousing رایج است، SSIS به هیچ وجه محدود به DW نیست. مثلاً وقتی یک با استفاده از SQL Server Management Studio، یک Maintenance Plan ایجاد می کنید، یک پکیج آموزش SSIS ایجاد می شود.

قابلیت های ssis

اجرای transformationهای مختلف روی داده ها، مانند تبدیل از نوعی به نوع دیگر، تبدیل حروف بزرگ به کوچک، اجرای محاسبات، و غیره.

خدمات یکپارچه سازی SQL SERVER یا SSIS بخشی مستحکم در مجموعه محصولات درحال رشد است که پلتفرم هوش تجاری مایکروسافت SQL SERVER یا BI را ایجاد می کند.

چیزی که SSIS را مهم ساخته این است که بدون جابجایی داده ها و امکانات پاکسازی که SSIS به جدول ها می آرد، محصولات دیگر SQL SERVER BI نمیتوانند عمل کنند. در ساده ترین فرم، SSIS ابزار در حافظه ETL در سطح سازمانی است.

اگرچه SSIS فقط یک کاور اجمالی برای IMPORT WIZARD نیست. در محیط توسعه DRAG-n-DROP توسعه دهندگان ETL میتوانند در کنار هم از روند کار(WORK FLOW) پیچیده و سیر خلاقانه پاکسازی داده ها برآیند که رقیب جدی کدنویسی سنتی و گران قیمت شخص ثالث است.

بهترین قسمت SSIS این است که شما تنها به یک لایسنس که برای SQL SERVER لازم است نیاز دارید.

IMPORT WIZARD و EXPORT

SSMS، تسک های ویزارد Import و Export را، که می توانید برای کپی کردن داده ها از منبعی به منبع دیگر استفاده کنید، در اختیار می گذارد.

اگر میخواهید داده ها را با سرعت از هر دیتابیس سازگار با OLE یا فایل های تخت (FLAT) به مقصد تان انتقال دهید، میتوانید از این ابزار استفاده کنید. در واقع خیلی از پکیج های SSIS اینگونه متولد شدند ولی بسیاری از پکیج هایی که میخواهید در BI SOLUTION باشد نباید با WIZARD ساخته شوند.

WIZARD یک راه سریع برای انتقال داده و تبدیل داده بسیار سبک است ولی پکیج هایی با بهترین روش را نمی سازد. WIZARD در همه ی ورژن های SQL SERVER به جز لوکال و اکسپرس در دسترس است. این به شما اجازه می دهد که منطق انتقال داده به فایل پکیج را ادامه دهید.

مفهوم پایه ایمپورت/اکسپورت WIZARD تغییر قابل ملاحظه ای نسبت به زمان DTS نکرده است، شما هنوز امکان چک کردن همه ی جدول هایی که میخواهید انتقال دهید را دارید اگرچه میتوانید تمام انتقال ها را در قالب یک انتقال انجام دهید.
WIZARD را کجا پیدا کنید؟ بستگی دارد. اگر یک ایمپورت یا اکسپورت سریع میخواهید، مستقیم از منوی استارت اقدام کنید(Start  Microsoft)

SQL Server 2014 ( Import and Export Data) راه دیگر این است که پروژه را در محیط توسعه SSIS باز کرده و Project > SSIS Import and Export Wizard را انتخاب کنید.

آموزش ETL

ETL مخفف Extract Transform and Load است که به معنای استخراج، پالایش و بارگذاری اطلاعات می‌باشد.

طی فرآیند ETL داده­ ها از منابع اطلاعاتی مورد نیاز موجود در سازمان یا خارج از آن مانند، پایگاه­ های داده، فایل­ های متنی، سیستم­ های قدیمی و صفحات گسترده (Spread Sheets) استخراج شده و تبدیل به اطلاعاتی سازگار با فرمت معین می­شوند و سپس در یک مخزن اطلاعاتی که در اغلب اوقات یک DWH است، قرار داده می­شوند.

برای انجام ETL نیاز به تخصص ­های مختلفی چون تجزیه و تحلیل تجاری، طراحی پایگاه داده و برنامه­ نویسی وجود دارد.

پیش از انجام فرآیند ETL ابتدا باید منابع اطلاعاتی که قرار است داده­ های آنها به DWH منتقل شوند، شناسایی شوند، مقصد آنها در DWH مشخص شوند و تبدیلاتی که باید بر آنها انجام شود تا وارد DWH شوند، تعیین شوند.

نحوه نگاشت اطلاعات به صورت اولیه، باید در مرحله جمع ­آوری نیازها و مدل­سازی اطلاعات انجام شود. اطلاعات جزیی تر مربوط به نحوه نگاشت داده ها از منابع اطلاعاتی اولیه به DWH در مرحله طراحی و پیاده ­سازی ETL مشخص می­شود.

سیستم ETL دارای چهار بخش اصلی است:

ssis

منظور استخراج داده از یک یا چند منبع مختلف است و اولین مرحله دراستخراج اطلاعات از منابع خارجی است که این منابع می تواند بانکهای اطلاعاتی یا فایل باشد . در عملیات می توان داده ها را از منابع مختلف استخراج و با یکدیگر تلفیق نمود باید اطلاعات از منابع اطلاعاتی مورد نظر استخراج شوند. در این مرحله ممکن است اطلاعات از منبع اطلاعاتی اولیه حذف شود یا بدون حذف از آن در انبار داده کپی شود.

داده ­های استخراج شده از منابع اطلاعاتی اولیه معمولا در فضای Staging در انبار داده قرار داده می­شوند و در سایر مراحل ETL مورد پردازش قرار می­گیرند. این فضا معمولا یک پایگاه ­داده رابطه­ ای است که به عنوان فضای حافظه­ ای موقت برای پردازش اطلاعات به وجود آمده است. مرحله استخراج اطلاعات معمولا در سطح منابع اطلاعاتی انجام می­شود به ویژه اگر منبع اطلاعاتی مورد نظر، پایگاه ­داده باشد.

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

پس از استخراج اطلاعات، باید پردازش ­هایی روی آنها انجام شود تا فرمت آنها مناسب و یکپارچه شود. در این مرحله موارد زیر انجام می شوند:

کیفیت داده‌ها به وسیله پرسش‌هایی از قبیل سوالات زیر مورد بررسی قرار می‌گیرند

آیا داده‌ها کامل هستند (مواردی مورد نیازمان را پوشش می‌دهند)؟

داده‌ها صحیح هستند یا اشتباهاتی دارند؟ اگر اشتباه هستند علت اشتباهات چیست؟

این انتخاب شامل پاک کردن زیر مجموعه‌ای از داده‌های نامناسب و درج پیش‌فرض‌های مناسب می‌باشد.

این قسمت شامل عملیات ویژه‌ای مانند تولید خصوصیت‌های مشتق شده، تولید رکوردهای جدید و کامل یا مقادیر تبدیل شده از خصوصیات موجود می‌باشد.

اطلاعات از چند جدول ترکیب شده و رکوردهای جدید یا مقادیری جدیدی ایجاد می‌شود.

تغییر و تبدیل قواعد اولیه داده مورد نیاز ابزار مدل سازی است.

داده ­های تبدیل شده به شکل استاندارد مورد نظر، در این مرحله در انبار داده ها قرار می گیرند. داده ­ها معمولا به دلیل حجم بالا، به صورت دوره­ای در انبار داده بارگذاری می شوند نه پیوسته.

به عبارت دیگر، وقتی اطلاعات در یک منبع اطلاعاتی تغییر کرد یا اطلاعات جدیدی به آن اضافه شد، تغییرات به صورت آنی به انبار داده منتقل نمی شود. بلکه انبار داده به صورت دوره­ای و در بازه ­های منظم زمانی به روز می­شود.دراین مرحله اطلاعات مطابق با نیازمندی های سازمان ، درون Data Warehouse بارگذاری می شود .

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

از اطلاعات موجود در فرا داده می­توان در مواردی مانند نظارت خودکار، پیش­ بینی گرایش­ های سازمان و استفاده مجدد از اطلاعات استفاده کرد.

مثال هایی از فرا داده عبارتند از:

اطلاعات بارگذاری داده ­ها: برای مثال مجموعه ­های داده­ ها در چه زمانی در انبار داده قرار داده شده ­اند.

تغییرات Schema : تغییراتی که در Schema رخ می­دهد. برای مثال چه تغییراتی و کی در تعاریف جداول اطلاعاتی ایجاد شده است.

بیشتر بخوانید : آموزش ETL در اوراکل و ODI

آموزش پکیج ها

یک جزء اصلی در SSIS مفهوم پکیج هاست. یک پکیج به بهترین شیوه برنامه اجرایی که می توانید بنویسید را که حاوی روند کار(WORKFLOW) و منطق تجاری است را در اختیار شما قرار می دهد. اساسا یک پکیج مجموعه ای از TASKها هست که در کنار هم قرار گرفته تا برنامه را منظم اجرا کند. یک پکیج همینطور یک واحد برای اجرا و توسعه همانند توسعه دهنده .NET هست که برنامه ها یا فایل های DLL را می سازد.

اجبار های اولویت(Precedence constraints) استفاده می شوند تا TASKها را در کنار هم قرار دهند و اولویت ها را بر اساس اتفاق هایی که در TASK می افتد یا بر اساس قوانینی که توسعه دهنده پکیج نوشته مدیریت کنند. پکیج ها در قالب فایل های .DTSX که در واقع فایل هایی با معماری XML همراه با مجموعه پروپرتی ها هستند.

برای شروع، BIDSرا با انتخاب SQL Server Business Intelligence Development Studio از گروه برنامه Microsoft SQL Server باز کنید. در منوی بالا، روی File، Open، Project/Solution، کلیک کنید تا پنجره Open Project نمایش داده شود. به مکان سلوشن بروید و روی Open کلیک کنید. پکیج SSIS را در زیر پروژه درSolution Explorer بسط دهید روی پکیج دابل کلیک کنید و آنرا باز کنید. بیایید نگاهی به جنبه های مختلف پکیج SSIS که در BIDS نمایش داده می شوند، بیندازیم:

 

Designer

Connection Managers

Toolbox

Properties Window

designer : ناحیه ای در وسط پنجره است

تب Control Flow : حاوی تسک هاییست که پکیج SSIS اجرا و از تسکی به تسک دیگر flow می کند.

تب Data Flow designer : که حاوی جزییات data flow task معینی است؛ مثلاً بازیابی داده ها از منبع داده ها، و در مواردی بعضی transformationها را روی داده ها اجرا می کند، سپس آن را روی منبع داده های دیگر می نویسد.

تب Event Handlers: نیز designer دیگریست که در آن می توانید هنگامی که event میعنی raise می شود، تسک هایی را برای اجرا شدن معین کنید.

تب Package Explorer: کل پکیج را بصورت tree-view نمایش می دهد.

تنظیمات سطح حفاظتی یک Package

به منظور حفاظت از داده‌ها در Package‌های Integration Service می‌توانید یک سطح حفاظتی (protectionlevel) را تنظیم کنید که به حفاظت از داده‌های صرفاً حساس یا تمامی داده‌های یک Package کمک نماید.

به علاوه می‌توانید این داده‌ها را با یک Password یا یک User Key رمزگذاری نمائید یا به رمزگذاری داده‌ها در بانک اطلاعاتی اعتماد کنید.

همچنین سطح حفاظتی که برای یک Package استفاده می‌کنید، الزاماً ایستا (static) نیست و در طول چرخه حیات یک Package می‌تواند تغییر کند. اغلب سطح حفاظتی در طول توسعه یا به محض (deploy) استقرار Package تنظیم می‌شود.

توجه: علاوه بر سطوح حفاظتی که توصیف شد، Package‌ها در بانک اطلاعاتی msdb ذخیره می‌شوند که همچنین می‌توانند توسط نقش‌های ثابت در سطح بانک اطلاعاتی (fixed database-level roles) حفاظت شوند.

Integration Service شامل 3 نقش ثابت بانک اطلاعاتی برای نسبت دادن مجوزها به Package است که عبارتند از:

پنجره Connection Managers ، حاوی منابع داده های مختلف و destinationیی است که از پکیج استفاده می کند Connection Managers یکبار تعریف می شوند، و سپس در تسک های مختلفی مانند Execute SQL Task، OLEDB Data، یا OLEDB Destination، ریفرنس می شوند.

در هر جایی از دیزاینر Control Flow که کلیک کنید، پنجره پراپرتی های پکیج ظاهر خواهد شد.

پنجره پراپرتی های پکیج حاوی پراپرتی های زیادی است که می توان برای پکیج تنظیم کرد. شکل زیر، نمونه ای از این پراپرتی هاست:

آپشن های مختلفی را برای رمزگذاری (encryption) پکیج و یا بخش های پکیج در اختیار می گذارد. من به EncryptSensitiveWithUserKey می پردازم زیرا مقدار پیش فرض همیشه باعث ایجاد مشکل می شود. به عنوان مثال می توان به رشته کانکشن دیتابیس (database connection string) اشاره کرد که حاوی یک پسورد است.

تنظیمات پیش فرض، این اطلاعات را با استفاده از user key شخصی که پکیج را ایجاد کرده، رمزگذاری می کند. وقتی کاربری دیگر پکیج را اجرا می کند، پکیج fail خواهد شد زیرا آن user key قادر به رمزگشایی connection string نخواهد شد. یک راه حل خوب، تغییر دادن ProtectionLevel به DontSaveSensitive است، بدین معنی که قرار نیست اطلاعات حساس را در پکیج بگذارید، پس دیگر نیاز نیست نگران رمزگذاری باشید.

سطح Transaction Isolation را تنظیم می کند. توجه داشته باشید که مقدار پیش فرض، Serializable است که ممکن است چیزی نباشد که واقعاً احتیاج دارید. Serializable، سطحی است که قفل های read تا وقتیکه یک تراکنش commit یا rollback شود، در آن نگهداشته می شوند. بعلاوه، قفل های range طوری نگه داری می شوند که هیچ داده ایی را نمی توان insert کرد.

مطمئناً زمان هایی وجود دارد که این transaction isolation level گارانتی می شود، اما همیشه این طور نیست. سطح Serializable معمولاً منجر به قفل کردن اضافی دارد و همزمانی (concurrency) را کاهش می دهد، پس باید ببینید آیا واقعاً به آن احتیاج دارید و یکی از سطوح دیگر از قبیل ReadCommitted را انتخاب کنید.

آموزش Toolbox

حاوی تسک هایست که در Control Flow،Data Flow، یا دیزاینرهایEvent Handlers دردسترس هستند. برای ساختن یک پکیج، کافیست تسک هایی را از Toolbox به designer، درگ و آنها را به ترتیبی که می خواهید اجرا کنید، بهم متصل کنید.

آموزش TASK ها

Analysis Services Execute DDL Task : یک تسک DDL در سرویس های ANALYSIS اجرا می کند. مثلا، می تواند یک مکعب را ایجاد، دراپ یا تغییر دهد(فقط در نسخه سازمانی یا توسعه).

Analysis Services Processing Task : این تسک عملیات مکعب سرویس های ANALYSIS، DIMENSION و MINING MODEL را انجام می دهد.

Bulk Insert Task : با استفاده از دستور BULK INSERT در SQL، داده ها را در یک جدول بارگزاری می کند.

CDC Control Task : با ویژگی CHANGE DATA CAPTURE در SQL SERVER کار می کند.

Data Flow Task : این یک تسک مخصوص هست که داده ها را به مقصد دیتابیس OLE و ADO.NET تبدیل و بارگزاری می کند.

Data Mining Query Task : به شما اجازه می دهد تا کوئری های پیشبینی شده را در مقابل ANALYSIS SERVICES DATA-MINING MODELS اجرا کنید.

Data Profiling Task : این تسک جالب به شما قابلیت آزمایش کردن داده ها را می دهد که تکنیک های پروفایل کردن داده تک کاره را جایگزین می کند.

Execute Package Task : به شما اجازه می دهد یک پکیج را از داخل پکیج دیگر اجرا کنید یا به عبارتی پکیج های SSIS شما را پیمانه ای (MODULAR) می کند.

Execute Process Task : یک برنامه را خارج از پکیج شما اجرا می کند مثل اینکه فایل خروجی شما را قبل از انجام عملیات روی فایل های تکی به چندین فایل قسمت می کند. می توانید یک application exe را توسط این task اجرا کنید.

Execute SQL Task : یک دستور SQL یا روند ذخیره سازی را اجرا می کند . ابزاری است که بوسیله آن می توان یک قطعه کدSQLرا برروی یکDBرابطه ای ایجاد نمود.

Expression Task : یک متغییر را در هنگام اجرا در عبارت قرار می دهد.

File System Task : این تسک می تواند عملیات دایرکتوری را به کار گیرد مثل ساخت، تغییر نام یا پاک کردن یک دایرکتوری. همینطور میتواند عملیات روی فایل را مدیریت کند .

مثل جا به جایی، کپی یا پاک کردن یک فایل. می توانید فایل ها و دایرکتوری ها را مدیریت کنید. اعم از حذف، تغییر نام و ایجاد فایل و دایرکتوری و همچنین ست کردن attribute های آنها.

FTP Task : فرستادن یا دریافت فایل از سایت FTP.. می توانید توسط File Trasnfer Protocol فایل ها را از سروری در اینترنت به پایین، سیستم client ، منتقل کنید و برعکس.

Message Queue Task : فرستادن یا دریافت یک پیام از MICROSOFT MESSAGE QUEUE.

Script Task : این تسک به شما اجازه می دهد تا کد های .NET را در ویژوال استودیو برای محیط برنامه نویسی اپلیکیشن ها بنویسید.

ابزاری است که با استفاده از آن می­توان یک قطعه کد به زبانC#.NetیاVB.Netرا طی اجرای یکPackageاجرا نمود. و برای انجام عملیات خاصی خارج از فضای SSIS یا مقداردهی یک متغییر در محیط SSIS استفاده می گردد.

Send Mail Task : از طریق SMTP ایمیل می فرستد. توسط این task ‌ می توانید توسط SMTP میل بفرستید.

Web Service Task : یک متد را روی یک وب سرویس اجرا می کند.

WMI Data Reader Task : این تسک میتواند کوئری های WQL را در مقابل WINDOWS MANAGEMENT INSTRUMATION اجرا کند .

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

WMI Event Watcher Task : این تسک قدرت SSIS را برای منتظر ماندن و جواب دادن به وقایع WMI که در سیستم رخ می دهد را افزایش می دهد.

XML Task : فایل XML را تجزیه و تحلیل می کند مثلا میتواند فایل های XML را به هم بچسباند، از هم جدا کند یا فرمت را تغییر دهد.

CONTAINER ها

کنتینرها هسته ای در معماری SSIS برای گروه بندی منطقی تسک ها در کنار هم در واحد های کاری هستند. در کنار ثبات بصری، کنتینر ها به شما اجازه میدهند تا در محدوده کنتینر و نه پکیج، متغییر و HANDLEهای وقایع تعریف کنید. در برگیرنده اشیاء در محیط Control Flow است.

 

استفاده از Container:

5 نوع کنتینر در SSIS وجود دارد:

انواع Precedence Constraint:

DATA FLOW روند داده

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

معماری درون حافظه چیزی است که به مقیاس SSIS و سرعت بالای آن در مقایسه با نمایش داده و روش های ذخیره شده در حال اجرا کمک میکند. منابع داده ها مجرایی برای این لوله های داده است و با ارتباط هایی که منابع ها یا مقصد ها تعریف می کند مشخص می شوند.

یک منبع داده از ارتباط هایی که سازگار با دیتابیس OLE هستند و منابع داده ADO.NET مثل SQL SERVER، ORACLE، DB2 و یا حتی منابع داده غیر سنتی مثل سرویس های ANALYSIS و OUTLOOK استفاده می کند. منابع داده ها میتواند در یک محدوده تا یک پکیج تنهای SSIS یا اشتراکی میان چند پکیج در یک پروژه باشد.

تمام مشخصات ارتباط ها در CONNECTION MANAGER تعریف شده اند. Dataflow Task یکی از مهمترین task ها در Integration Service است. این task ‌به شما امکان واکشی داده ها از یک دیتاسورس را می دهد (از جدول یا view یا sqlcommand و…) و نتیجه را با توجه به تنظیماتی که شما برایش مشخص کرده اید به جدولی در دیتاسورس مقصد وارد می کند.

سورس ها

یک سورس یکی از اجزاء هست که به محیط طراحی روند داده اضافه میکنید تا محل قرارگیری داده سورس را تعیین کنید که داده ها را به اجزاء پایین دستی میفرستد. سورس ها تنظیم شدن تا از CONNECTION MANAGERها برای قادر ساختن شما از استفاده دوباره ارتباط ها در پکیج خود استفاده شوند. 8  SSIS سورس را در اخیار شما قرار می دهد:

 

OLE DB Source : تقریبا به هر سورس داده OLE DB وصل میشود.

Excel Source : مخصوص دریافت داده از صفحات EXCEL است. این سورس همچنین اجرای کوئری های SQL را در مقابل صفحات EXCEL آسان میکند که مقدار داده ای که شما میخواهید میان روند پاس دهید را محدود می کند. جهت استخراج و خواندن اطلاعات از Excel Worksheets استفاده می شود. ابزار Excel Source از مدیر ارتباط Excel Connection Manager در SSIS جهت اتصال به فایل های اکسل استفاده می شود.

Flat File Source : یک فایل محدود یا با طول معین رو وصل میکند. برای خواندن و استخراج اطلاعات از فایل های متنی استفاده می گردد.

Raw File Source : یک فایل مخصوص با فرمت باینری از داده ای که در حال عبور است می سازد که مخصوصا در SSIS سرعت بالایی دارد. این جزء یکی از اندک اجزائی هست که از CONNECTION MANAGER استفاده نمیکنند.

Xml Source : داده را از فایل XML بدست می آورد. این سورس برای تنظیمات از CONNECTION MANAGER استفاده نمیکند.

ADO.NET Source : این سورس همانند OLE DB ولی فقط برای سورس های بر پایه ADO.NET هست. اجرای داخلی از ADO.NETDATAREADER به عنوان سورس استفاده میکند.

ارتباط ADO.NET خیلی شبیه آن که در .NET FRAMEWORK هنگام کدنویسی دستی یک ارتباط و بازیابی از یک دیتابیس است برای استخراج اطلاعات از پایگاه داده، با استفاده از فراهم کننده داده ای .Net Provider، استفاده می شود. ابزار ADO.NET Source از مدیر ارتباط ADO.NET Connection Manager برای ارتباط با پایگاه داده، استفاده می کند.

CDC Source : داده ها را در جدول هایی با CHANGE DATA CAPTURE یا CDC فعال، میخواند که برای بازیابی فقط سطر هایی که در یک بازه زمانی تغییر کرده اند استفاده میشود.

ODBC Source : داده های جدول را با ODBC به جای OLE DB میخواند. در پکیج SSIS بین OLE DB و ODBC انتخاب OLE DB همچنان بهتر هست. اگر این سورس های موجود در SSIS قادر به انجام تابع های مورد نظر شما نیستند، میتوانید با نوشتن کد برنامه .NET به هر سورس داده که دست یافتنی هست وصل شوید.

یک روش استفاده از SCRIPT COMPONENT برای ساخت یک جریان سورس با استفاده از کتابخانه های موجود .NET هست. این روش برای برنامه های یکبار مصرف کارآمد هست. اگر میخواهید از یک سورس سفارشی خود در چند پکیج استفاده کنید میتوانید یکی را با SSIS .NET API و OBJECT MODAL توسعه دهید.

تبدیل ها TRANSFORMATION

TRANSFORMATIONها اجزاء کلیدی در روند داده هستند که اجازه تغییر داده ها درون لوله های داده را میدهند. شما میتوانید از تبدیل ها برای جدا کردن، ادغام یا انحراف داده ها در لوله استفاده کنید. همینطور داده میتواند با استفاده از قوانین تعیین شده اعتبار سنجی، پاکسازی و یا رد بشود.

برای مثال اگر میخواهید داده شما اعتبار سنجی و طبقه بندی شود میتوانید به راحتی با دراپ کردن یک SORT و LOOKUP TRANSFORMATION توی محیط طراحی روند داده و تنظیم کردن آن این کار رو انجام بدید. اجزاء تبدیل در روند داده SSIS روی داده ها در لوله و در حافظه اثر می گزارند.

چون این پروسه در حافظه انجام میشود سرعت بالاتری نسبت به روش های دیگر دارد. لیست تبدیل ها و هدف اون ها را در زیر مشاهده میکنید:

Aggregate : داده را از تبدیل یا سورس جمع میکند.
Audit : اطلاعات حسابرسی را از پکیج در لوله داده نمایش میدهد مثل زمان اجرا و کاربر اجرا کننده پکیج.
CDC Splitter : بعد از خوانده شدن داده از جدول با CDC فعال این تبدیل داده هایی را که باید وارد، جدید و پاک بشوند را میفرستد.
Character Map : تغییرات رشته ای معمول داده ها مثل نوشته با حروف بزرگ یا کوچک را انجام میدهد.
Conditional Split : داده را بر اساس انجام شدن یک شرط جدا میکند. مثلا یک داده به یک مسیر دیگه فرستاده شود اگر ستون STATE مساوی با FLORIDA باشد.
Copy Column : کپی یک ستون را به خروجی تبدیل اضافه میکند که بعد میتوانید کپی را تبدیل کنید و اصلی را حفظ کنید.
Data Conversion : نوع داده یک ستون را به نوعی دیگه تبدیل میکند.
Data Mining Query : کوئری استخراج داده در مقابل ANALYSIS SERVICES اجرا میشود.
Derived Column : یک ستون جدید DRIVED حساب شده از یک عبارت را میسازد.
DQS Cleansing : پاکسازی داده پیشرفته را با موتور DATA QUALITY SERVICES اجرا میکند.
Export Column : یک ستون را از روند داده به فایل سیستمی خارج میکند. مثلا میتوانید یک ستون که حاوی عکس هست رو به فایل تبدیل کنید.
Fuzzy Grouping : پاکسازی را با پیدا کردن سطر های مشابه و کپی انجام میدهد.
Fuzzy Lookup : داده ها را براساس منطق FUZZY پیدا و استاندارد میکند. مثلا JON را به JOHN تبدیل میکند.
Import Column : داده را از ایمیل میخواند و به روند داده اضافه میکند.

 

  • Lookup : یک جستجو را روی داده اجرا میکند تا بعد در تبدیل استفاده بشود. برای مثال با این تبدیل میشود شهری رابر اساس کد پستی جستجو کرد.
  • جهت تکمیل و غنی ­سازی یک جریان داده با استفاده از یک جریان خارجی داده استفاده می­کنیم.
  • این کامپوننت داده­ های جدول مرجع را به­ طور کامل در حافظه Data Flow Task بارگذاری می­کند تا با سرعت بهتری بتواند مقادیر مورد نیاز را واکشی نماید. لذا این کامپوننت مناسب سناریوهایی است که جدول مرجع کوچک باشد.
  • نوع اتصال جریان داده و داده ­های جدول مرجع به صورت equi-join است که حالت خاصی از left outer join باشد.
  • در Equi-join درصورتیکه چندین سطر دیده شود، اولی را برای join انتخاب می­کند.

Match output: سطرهایی که مقادیر متناظر آن­ها در جدول مرجع وجود دارد.

No Match output: سطرهایی که مقادیر متناظر آن­ها در جدول مرجع وجود ندارد.

Fail Component: منجر به تولید خطا می­شود.

Ignore Failure: از خطا چشم پوشی شده و مقادیرNULL جایگزین مقادیر مورد نظر می­شود.

Redirect Rows (no match output) : ارسال سطرهای مشکل دار به خروجی no match

Redirect Rows (error output) : ارسال سطرهای مشکل دار به خروجی error

بیشتر بخوانید :  آموزش SSIS

متغییر ها

متغییر ها یکی از اجزاء اساسی دیگر معماری SSIS هستند. متغییر های SSIS میتوانند برای ارزیابی در یک عبارت هنگام اجرا ست شوند. همینطور میتوانید برای ست کردن در روند داده با تسک اسکریپت یا تسک عبارت(EXPRESSION TASK) از آن ها استفاده کنید.

متغییر ها در SSIS تبدیل به روشی برای تبادیل بین خیلی از تسک ها و تبدیل ها شده که هدف متغییر ها را مهم تر می سازد. به طور پیشفرض متغییر های SSIS در یک محدوده پکیج قرار می گیرند ولی میتوانند به سطح های مختلف دیگر در یک پکیج محدود شوند همانطور که در بخش CONTAINERها گفته شد.

پارامترها

پارامتر ها بسیار شبیه متغییر ها ولی همراه با تعداد کمی استثنا عمل می کنند. پارامتر ها، همانند متغییر ها، میتوانند یک پکیج را پویا کنند.

بزرگترین تفاوت میان آن ها این است که پارامتر ها میتوانند به راحتی بیرون یک پکیج ست شده و میتوانند به عنوان یک مقدار که حتما برای شروع پکیج باید پاس داده شوند تعین می شوند، مثل یک پارامتر اینپوت روش های ذخیر شده. پارامتر ها جایگزین قابلیت CONFIGURATIONها در نسخه های قبلی SQL SERVER شده اند.

دوره های مرتبط

دوره کامل تضمینی هوش تجاری با رویکرد کسب درآمد در داخل و خارج از کشور

آنالیز داده و هوش تجاری یکی از پردرآمدهای شغل های دنیا چه در داخل کشور و چه خارج از کشور است. ما در دوره آموزشی  صفر تا صد هوش تجاری را به صورت تضمینی آموزش میدهیم.

آموزش ویدیویی هوش تجاری در SQL

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

دوره کامل مقدماتی آموزش هوش تجاری

به صورت تئوری مفاهیم و مبانی ساخت انباره داده را فرا می گیرید و دو نمونه را پیاده سازی و استفاده می کنید.

دوره آموزش SSAS یا سرویس آنالیز ماکروسافت

دوره آموزش SSAS شامل  آموزش کامل تمامی مباحث آنالیز داده و ساخت کیوب در سرویس آنالیز

آموزش کامل دوره غیر حضوری SSRS یا سرویس نمایشگر ماکروسافت

دوره آموزش SSRS شامل آموزش کامل تمامی مباحث مربوط به نمایش اطلاعات در محیط SSRS به صورت کاملا عملی در محیط عملیاتی و مطابق با تکنولوژی های روز دنیا