آموزش جامع یک پارچه سازی SQL Server یا SSIS (بخش اول)

آموزش جامع یک پارچه سازی SQL Server یا SSIS (بخش اول)

سلام.

با سری آموزش یکپارچه سازی SQL Server یا همان SSIS درخدمت شما هستیم.

در 5 بخش اول:

جدید های این ورژن SSIS

ابزار های مورد استفاده در SSIS

مشاهده اجمالی معماری SSIS

در نظر گرفتن گزینه های مجوز در ارتباط با BI با SQL SERVER

آموزش یکپارچه سازی SQL Server یا SSIS

به SSIS خوش آمدید
 
در 5 بخش اول:

جدید های این ورژن SSIS

ابزار های مورد استفاده در SSIS

مشاهده اجمالی معماری SSIS

در نظر گرفتن گزینه های مجوز در ارتباط با BI با SQL SERVER

آموزش یکپارچه سازی SQL Server یا SSIS

خدمات یکپارچه سازی 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 لازم است نیاز دارید.
هنگامی که ما درحال نوشتن چاپ اول این کتاب بودیم، معماری و توانایی های SSIS ما را شگفت زده کرد. SSIS یک تغییر بزرگ از محصول DATA TRANSFORMATION SERVICES یا DTS بود که جایگزین شد و چیزهای زیادی برای یادگیری بود. از زمان اولین نشر SSIS ما به طور کل سال های زیادی صرف تجربه تبدیل پکیج های قدیمی DTS کردیم تا از آن استفاده کرده و به ما اعتماد کنید هر کس که این تغییرات را فراهم کرده است دوست ندارد به قبل برگردد. ما چیزهای زیادی یاد گرفتیم.
در حالی که SQL SERVER 2012 یک قدم بزرگ در پیشروی SSIS بود، SQL SERVER 2014 تغییرات بسیار کوچک تکراری دارد.
 

نگاهی به تاریخچه SQL SERVER SSIS

در ورژن 7، مایکروسافت یک تیم کوچک از توسعه دهندگان را برای یک ویژگی پشت پا افتاده به نام DATA TRANSFORMATION SERVICES یا DTS به کار گرفت.  DTS پایه ای از IMPORT و EXPORT WIZARD بود و هدف اصلی آن این بود که داده ها را تقریبا از تمام دیتابیس های سازگار با OLE به هر نوع دیگری تبدیل کند. همچنین قابلیت داشت تا برنامه ها را اجرا کند.
زمانی که SQL SERVER 200  بیرون آمد، DTS پیروی قوی از مدیر های دیتابیس  و شاید تعداد کمی توسعه دهنده داشت. مایکروسافت قابلیت های جدید مثل DYNAMIC PROPERTIES TASK را قرار داد که به شما اجازه می دهد به صورت پویا در هنگام اجرا تغییرات را در پکیج ایجاد کنید. اگرچه DTS ثبت وقایع بزرگی همراه با پمپ های داده ساده و پیچیده چند حالتی به کار گرفت، مطالعات برروی قابلیت های استفاده همچنان نشان میداد که توسعه دهندگان باید اسکریپت هایی به زحمت درست میکردند تا DTS را برای انجام کار مورد نظرشان توسعه دهند. یک قابلیت معمول این بود که DTS را قابل سازند تا داده ها را مشروط بر موجود بودن فایل بار گزاری کند. به همین منظور در DTS، باید از ACTIVEX SCRIPT TASK استفاده میشد تا یک SOLUTION را نوشته که در VB از شی فایل سیستم استفاده کند. مشکل اینجا بود که DTS فاقد اجزا معمولی مورد نیاز برای پروسه های ETL بود. اگرچه اگر دانش نوشتن کد های اسکریپتینگ را داشتید ابزار قدرتمندی بود ولی بیشتر مدیر های دیتابیس این چنین تجربه کدنویسی و یا وقت آن را نداشتند.
بعد از پنج سال، مایکروسافت محصول بسیار تبلیغ شده خود به نام SQL SERVER 2005 و SSIS را منتشر کرد که مانند DTS پشت پا افتاده نبود. با بیرون آمدن SQL SERVER 2008، به SSIS ویژگی های قابل ملاحظه دیگری داده شد تا کمک کند جواب بهتری به سازمان ها بدهد. این حرکت بسیار مناسب بود چون خیلی ویژگی ها به SSIS اضافه شد. با پیشرفت های ساده در جعبه ابزار مایکروسافت که به کاربران جدید امکان پیشرفت می داد یک سرمایه گذاری بزرگ برای قابلیت استفاده محصولش کرد. دقت کلی در نشر جدیدترین SQL SERVER، در مدیریت و گسترش SSIS هست. 
 

جدید های این ورژن SSIS

حوزه کاری SQL SERVER 2014 با SQL SERVER 2008 R2 شباهت دارد. با آخرین انتشار SQL SERVER 2008 R2، تیم SSIS مایکروسافت تغییرات افزایشی زیادی بعد از SQL SERVER 2008 داشت. در نسخه SQL SERVER 2012 مایکروسافت به قسمت مدیریت دقت کرده تا آن را برای اجرا و توسعه آسان تر کند. اجزاء قدرتمند پاکسازی داده ها که به شما کمک می کنند تا داده های شما استاندارد باشد و ناهنجاری ها مشخص شوند و پیشرفت های قسمت ابزار های توسعه که به توسعه دهندگان کمک می کنند سازنده باشند و راه توسعه دهندگان جدید هموار شود، از قابلیت های اضافه شده در 2012 هست. SQL SERVER 2014 از ورژن جدیدی از VISUAL STUDIO استفاده می کند ولی در کل همان حس 2012 را دارد.  اجزاء جدیدی در SQL SERVER 2014 SSIS پیدا خواهید کرد ولی آن های باید از سایت هایی مانند CODEPLEX دانلود شوند.
 

IMPORT WIZARD و 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 را انتخاب کنید. در بخش دوم با جزییات این بخش را کاور می کنیم. عکس زیر مثالی برای جدولی که بار گزاری شده می باشد.
 
ابزار Import و Export Wizard

 

تجربه ابزار داده SQL SERVER

ابزار داده SQL SERVER یا SSDT قبلا در SQL SERVER 2008 به نام استودیو توسعه هوش تجاری یا BIDS شناخته می شد، محیط مرکزی هست که شما بیشتر زمان را به عنوان توسعه دهنده SSIS توی آن میگزرونید. SSDT فقط یک استفاده تخصصی از محیط توسعه VISUAL STUDIO است. در SQL SERVER 2014، دیگر SSDT هنگام نصب SQL SERVER نصب نمی شود. به جای اینکار شما باید SQL SERVER DATA TOOLS (BUSSINESS INTELLIGENCE FOR VISUAL STUDIO) را از سایت مایکروسافت دانلود و نصب کنید. تا الان SQL SERVER 2014 میتواند از ورژن های 2012 و 2013 برای طراحی پکیج SSIS استفاده کند. ویژوال استودیو میتواند انواع مختلف پروژه را از کنسول اپلیکیشن ها تا ویندوز اپلیکیشن ها را هاست کند. اگرچه شما شاید انواع زیادی از پروژه ها را هنگام ساخت ببینید، SSDT شامل قالب پروژه فقط برای سرویس های ANALYSIS، سرویس های INTEGRATION، ریپورت سرور و انواع اینهاست. SSIS در شرایط خاص از نوعی پروژه BI به نام پروژه سرویس های ادغام یا INTEGRATION SERVICES استفاده می کند که محیط دیزاین توسعه ای با ابزار کامل مرتبط با ETL در جعبه ابزار برای شما فراهم می کند.
 
ابزار داده یا Data Tools
 
محیط توسعه مشابه با DTS DESIGNER است با این اختلاف که رویکرد متفاوتی دارد. مهمترین قسمت این است که محیط توسعه مشترکی همانند هر محیط توسعه ویژوال استودیو با مدیریت کامل سورس کد، کنترل ورژن و مدیریت چند کاربری است. SOLUTION های SSIS همانند دیگر SOLUTION های توسعه .NET ها است (در این حالت، فایل با معماری XML با پسوند .DTSX است). شما حتی میتوانید در محیط SSIS بدون کانکت بودن به SQL SERVER و با نمونه آفلاین به توسعه دادن ادامه دهید. زمانی که SOLUTION شما کامل شد میتواند روی یک یا چند SQL SERVER مورد نظر ساخته شود. ؟؟؟؟. در بخش دوم، قسمت های محیط توسعه SSDT را با جزئیات شرح می دهیم.
 

معماری SSIS

مایکروسافت به خوبی SSIS را به عنوان بازیگر اصلی برای EXTRACTION(استخراج)، TRANSFORMATION(تبدیل) و LOADING(بارگزاری) یا ETL در بازار ارائه کرده است. نتنها SSIS یک تکنولوژی کامل بازنویس شده از SQL SERVER 2000 DTS بلکه الان رقیب دیگر ابزار شخص ثالث ETL که هزاران دلار با توجه به بزرگی نرم افزار هزینه آن است که SSIS با خرید SQL SERVER 2014 رایگان هست. رایگان همیشه حس خوبی میده :)) ولی بیشتر محصولات رایگان محدود هستند. SSIS پیش نیاز های ETL را با معماری که نسبت به قبل پیشرفت خیره کننده ای داشته در اختیار شما قرار می دهد. SSIS تا الان رکورد سرعت بارگزاری اطلاعاتی با سایز 2 ترابایت را دارد که فقط توی یک ساعت انجام می شود.
 

پکیج ها

یک جزء اصلی در SSIS مفهوم پکیج هاست. یک پکیج به بهترین شیوه برنامه اجرایی که می توانید بنویسید را که حاوی روند کار(WORKFLOW) و منطق تجاری است را در اختیار شما قرار می دهد. اساسا یک پکیج مجموعه ای از TASKها هست که در کنار هم قرار گرفته تا برنامه را منظم اجرا کند. یک پکیج همینطور یک واحد برای اجرا و توسعه همانند توسعه دهنده .NET هست که برنامه ها یا فایل های DLL را می سازد. اجبار های اولویت(Precedence constraints) استفاده می شوند تا TASKها را در کنار هم قرار دهند و اولویت ها را بر اساس اتفاق هایی که در TASK می افتد یا بر اساس قوانینی که توسعه دهنده پکیج نوشته مدیریت کنند. پکیج ها در قالب فایل های .DTSX که در واقع فایل هایی با معماری XML همراه با مجموعه پروپرتی ها هستند. مثل پروژه های دیگه .NET، فایل کد مشخص شده تا از محیط توسعه استفاده کند و بعد می تواند روی یک SQL SERVER ذخیره یا مستقر شود.
نگران نباشید; برای ایجاد یک پکیج لازم نیست نوشتن XML را بلد باشید. قسمت طراحی برای همین است. بحث این است که پکیج ها فایل های با معماری XML مثل فایل های .RDL برای سرویس های REPORTING هستند. اطلاعات زیادی در مورد پکیج ها هست که در این بخش توضیح خواهیم داد.
 

CONTROL FLOW

مغز یک پکیج همان روند کنترل یا CONTROL FLOW هست که آرایش اجرای اجزاء را هماهنگ می کند. اجزاء شامل TASKها و CONTAINERها توسط اجبار های اولویت کنترل می شوند که بعدا توضیح می دهیم. برای مثال در عکس زیر می بینید که سه TASK با دو اجبار اولویت در کنار هم بسته شده اند.
 
آموزش روند کنترل در SSIS
 
در بخش بعدی با تسک ها، Precedence Constraint، Container، Data flow آشنا خواهید شد.
 

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس