خانه SQL Server مقدمهای بر سرویسهای یادگیری ماشین در SQL Server SQL Server مبانی SQL Server نوشته شده توسط: مجید جوادی تاریخ انتشار: ۱۹ اسفند ۱۳۹۶ آخرین بروزرسانی: 27 دی 1403 زمان مطالعه: 11 دقیقه ۴ (۶) سرویسهای یادگیری ماشین در SQL Server، در سالهای اخیر شاید واژه یادگیری ماشین یا داده کاوی و یا حتی تحلیل داده را شنیده باشید. اما به طور مشخص یادگیری ماشین و دلایل همه جا گیر شدن آن چیست؟ اجازه دهید برای درک بهتر این بحث از هدف شکلگیری آن استفاده کنیم. هدف از یادگیری این سرویس شناخت ساختار داده است، به گونهای که بتوان با شناخت مناسب، مدلی ایجاد کرد که درک هرچه بهتر آن مدل به تصمیم گیری ما در فرایند کسب و کار و موفقیت کمک کند. سرویسهای یادگیری ماشین در SQL Server مایکروسافت به منظور توسعه اپلیکشینهای هوش مصنوعی چارچوبی با عنوان سرویس یادگیری ماشین در SQL Server ارائه داده است. دنیای فناوری اطلاعات سالهاست که شاهد معرفی زبانهای برنامهنویسی به منظور انجام فعالیتها و اهداف مختلف میباشد. یکی از زبانهای خاص منظوره در حوزه داده کاوی، یادگیری ماشین و تحلیل آماری دادگان که در طی چند سال گذشته بسیار مورد توجه قرار گرفته است، زبان R میباشد. از امکانات فراهم شده توسط شرکت مایکروسافت در این خصوص، بکارگیری زبان قدرتمند و غنی این زبان در محیط پایگاه داده معروف و محبوب SQL Server میباشد. R زبان برنامهنویسی آماری میباشد که غالبا به منظور تحلیل و محاسبات آماری، داده کاوی و یادگیری ماشین از آن استفاده میشود. علاوه بر حوزههای کاری چشمگیر یاد شده، ابزاری بسیار قدرتمند در بصریسازی داده و اشکال گرافیکی به حساب میآید. پیش از معرفی بیشتر ابزار یادگیری ماشین در SQL Server ابتدا برخی از ویژگیهای بارز آن معرفی میشود. یکی از قابلیتهای اصلی سرویسهای یادگیری ماشین در SQL Server به کارگیری پکیجهای ارائه شده برای این منظور است. از این رو مدیریت پکیجها به طور قابل توجهی در SQL Server بهبود یافته است. این پکیجها با جامعه بیش از هزاران پکیج سورس باز فعال هستند. در نتیجه نصب و پاک کردن این بسته ااا و نهایتا کنترل آنها بسیار راحت میباشد. قابلیت پشتیبانی از چند سکویی بودن نیز از دیگر ویژگی با اهمیت ابزار یادگیری ماشین در SQL Server میباشد. پیش از تجمیع R و SQL Server، بسیاری از کاربران و نیز سازمانها مشکلات زیادی برای رسیدن به موفقیت در تحلیل داده داشتند. زیرساختهای SQL Server databases, roles, access, security موجود کمک میکنند تا در محیطهای تجاری با حجم انبوهی از اطلاعات، دادهکاوی به خوبی انجام شود. از دیگر قابلیت های کلیدی یادگیری ماشین فراهم شده توسط SQL Server میتوان به موارد زیر اشاره کرد: تحلیل داده بسیار منعطفتر، به ویژه در انبار داده حجیم. تحلیل دیتاستهای بسیار بزرگ تحلیل هر نوع کلان داده به اشتراکگذاری بسیار سادتر داده غلبه بر محدودیت حافظه موازیسازی هرچه بهتر اجراء معرفی اجزای کلیدی یادگیری ماشین مایکروسافت به منظور بهره گیری هر چه بهتر از زبان R، استفاده از آن را به طور کلی در دو نسخه عمومی(Community) و دیگری نسخه تجاری(Enterprise) تقسیمبندی کرده است. همانگونه که در تصویر قابل مشاهده است هر یک با ارائه راهکار مناسب، استفاده متناسبی را عرضه میکنند که در ادامه با بررسی بیشتر، هر یک را شرح میدهیم. خانواده محصولات زبان R که توسط شرکت مایکروسافت ارائه شده است به شرح ذیل میباشد: • Microsoft R Open • Microsoft R Client • Microsoft R Server • SQL Server R Services نرم افزار Microsoft R Open این نسخه کاملا متن باز بوده و توسط شرکت مایکروسافت عرضه شده است تا وظایف تحلیل آماری و علوم داده را انجام دهد. علاوه بر رایگان بودن این نسخه میتوان به قدرت بالای سازگاری آن با دیگر موتورهای R نظیر Rstudio اشاره کرد. نکته قابل توجه این است که با استفاده از کتابخانه (Math Kernel Library) MKL برای انجام عملیات محاسباتی برداری و ماتریسی، امکان استفاده از پردازشهای چند نخی با کارایی بالا را فراهم میآورد. متاسفانه این نسخه مشکل محدودیت حافظه را دارد، یعنی تنها دادههای که درون حافظه وجود دارند را پردازش میکند و این انتقال داده به حافظه بسته به کامپیوتر مجری دارد. لازم به ذکر است که R Open روی تمام نسخههای SQL Server به استثنای نسخه Express اجرا خواهد شد. نرم افزار Microsoft R Client این نسخه از نرمافزار تقریبا مشابه نسخه R Open بوده با این تفاوت که برای پردازشهای موازی سنگین و محاسبات چند نخی کتابخانه RevoScaleR را معرفی کرده است. این کتابخانه از تکنولوژی ScaleR و خصوصیات آن برای محاسبات موازی استفاده میکند. این نسخه محدودیت حافظهی محلی را دارد. با وجود اینکه توابع ScaleR میتوانند از محاسبات موازی استفاده کنند، اما صرفا نظر از داشتن بیش از دو هسته پردازشی، پردازش تنها به دو رشته کنترلی(نخ) محدود میشود. و محدودیت دیگر اینکه تمام محاسبات به قابلیتهای کامپیوتر کلاینت نظیر دیسک، حافظه محدود میشود. یشنهاد میکنیم برای درک بهتر مفاهیم کوئری نویسی را مطالعه کنید. نرم افزار Microsoft R Server تقریبا پراستفادهترین نسخه از خانواده محصولات تحلیل داده مایکروسافت R Server میباشد. به عنوان اولین نکته باید توجه داشت که بیشتر قابلیتهای نسخههای R Open و R Client در این نسخه نیز وجود دارد و از این نسخه به طور ویژه در اهداف تجاری استفاده میشود. مشابه نسخههای R Open و R Client، این نسخه نیز تمامی فعالیتهای دادهکاوی، تحلیل داده و یادگیری ماشین را انجام میدهد. این نسخه در مقابل نسخههای یاد شده محدودیت حافظه را نداشته و قابلیت مقیاسپذیری دیسک نیز در این نسخه وجود دارد. باید توجه کرد که از R Server و R Client تنها در نسخههای Enterprise یا Developer مربوط به SQL Server میتوان استفاده کرد. از این نسخه زمانی استفاده میشود که نخواهیم دستورات R را مستقیا درون T-SQL اجرا کنیم. شکل فوق اجزای تشکیل دهنده Microsoft R Server را نمایش میدهد که در ادامه برخی از ویژگیهای مهم آن توضیح داده میشود: DeployR یک تکنولوژی تجمیعی برای استقراء تحلیلهای R درون وب، دسکتاب، موبایل و داشبورد مدیریتی و نیز سیستمهای تحت سرور چند سکویی میباشد. ConnectR با این مولفه این قابلیت فراهم میشود که اتصال به هر منبع دادهای با سرعت بسیار بالا انجام شود. DistributedR به منظور سازگاری در اجرای موازی این چارچوب ارائه شده است که شامل سرویسهای برای ارتباطات، ادغام منابع ذخیرهسازی و مدیریت حافظه میباشد. ScaleR این مولفه ارائه دهنده الگوریتمهای بهینه شده برای اجرای موازی کلان داده میباشد. از قابلیتهای کلیدی این مولفه میتوان به حذف محدودیت حافظه و پنهانسازی اجرای توزیعی از دید کاربر یاد کرد. نرم افزار SQL Server R Services (in-database Microsoft R Server) این نسخه تقریبا نسخه R Server است که درون موتور دیتابیس SQL Server قرار گرفته و اجرای الگوریتمهای ScaleR برای محیطهای با کارای بالا و مقیاس پذیر از ویژگی بارز این نسخه به حساب میآید. مدیریت حافظه و دیسک یه عهدهی خود SQL Server میباشد. به منظور پشتیبانی زبان R درون محیط SQL Serve، سرویسی به نام SQL Server Trusted Launchpad به خود SQL Server اضافه میشود. افراد علاقهمند میتوانند با مطالعه مقاله پرکاربردترین دستورات SQL Server، دانش خود را در زمینه کوئرینویسی گسترش دهند. نکات لازم در مراحل نصب اولین گام ضروری در هنگام نصب، انتخاب نوع تعامل R و SQL Server می باشد. دو انتخاب در هنگام نصب وجود دارد. یکی نصب سرور یادگیری ماشین به طور مستقل (Standalone)و دیگری درون-دیتابیسی (In-Database) که در این روش موتور R درون خود Database تعبیه شده است. زمانی که Standalone انتخاب شود، برای اجرای R باید از Microsoft R Server استفاده کرد. در صورت انتخاب Machine learning Server (In-Database) باشد باید از قابلیتهای نسخه SQL Server R Services استفاده کرد. در صورتی که امکان دانلود نسخههای R Server و R Open فراهم نباشد، این صفحه ظاهر شده و انتخاب گزینهی مورد نظر برای نصب به صورت آفلاین را فراهم میآورد. باید توجه کرد که آدرس دانلود فایلهای مورد نیاز در قسمت مشخص با رنگ زرد در تصویر نمایش داده شده است. در صورتی که تمام مراحل به موفقیت انجام شده باشد، نصب به پایان رسیده و آماده بهره برداری از آن فراهم میشود. بکارگیری R در SQL Server در این مرحله هدف صرفا بررسی اجمالی اجرای دستورات در SQL Server است. به منظور درک بهتر مثال سادهای در ادامه دنبال میشود که تحلیل دادهای روی دادههای عددی انجام شده و نتایج را به SQL Server باز خواهیم گرداند. پس از اینکه نصب با موفقیت انجام شد میبایست پیکربندی لازم را برای اجرای دستورات R انجام شود. با اجرای دستور زیر فعالسازی انجام میشود. باید توجه داشت که این دستور تنها توسط کاربران با مجوز Admin روی سرور قابل اجراء است. EXEC SP_CONFIGURE 'external scripts enabled', 1; GO RECONFIGURE; GO بعد از اجرای دستور فوق نیاز به Restart کردن نمونه SQL Server میباشد. پس از انجام این اقدام مطمئن شوید که سرویس SQL Server Launchpad حتما اجرا میباشد. برای اجرای دستورات R درون T-SQL قالب مشخصی باید استفاده شود. در ابتدا رویه Sp_Execute_External_Script را اجراء می کنیم و با مشخص کردن ورودیهای لازم، دستور اجرا کامل میشود. وردی @language مشخص میکند که برای تحلیل داده قرار است از زبان تحلیلی R استفاده کرد یا از عمومی Python. از آنجایی که هدف این مقاله اجرای دستورات R میباشد، زبان مورد نظر را با R مشخص میکنیم. ورودی بعدی Script است که تمامی دستورات لازمR در این قسمت قرار میگیرند. در این مثال ساده قرار است دنبالهی از اعداد بین ۱ تا ۴ با فاصلهی افزایشی ۰.۵ ایجاد شود. EXEC sp_execute_external_script @language = N'R', @script = N'OutputDataSet <- data.frame(seq(1,4,0.5));'; GO پس از اجرای دستور فوق، خروجی به شکل زیر نمایش داده میشود. (No column name) 1 1.۵ 2 2.۵ 3 3.۵ 4اجازه دهید کمی بیشتر با این قابلیت آشنا شویم. یکی از قابلیتهای که یادگیری ماشین SQL Server ارائه میدهد، تعامل آن با R در راستای اجرای دستورات بر روی دادههای درون SQL Server میباشد. در این مثال برای اجرای دستورات R اطلاعاتی از جدول فروش شخصی پایگاه داده Adventuerwork2016 اطلاعاتی را واکشی کرده و نمایش میدهد. DECLARE @rscript NVARCHAR(MAX); SET @rscript = N'OutputDataSet <- InputDataSet;'; DECLARE @sqlscript NVARCHAR(MAX); SET @sqlscript = N' SELECT FirstName, LastName, SalesYTD FROM Sales.vSalesPerson WHERE SalesYTD >= 2000000 ORDER BY SalesYTD DESC;'; EXEC sp_execute_external_script @language = N'R', @script = @rscript, @input_data_1 = @sqlscript; GO همانطور که در تصویر بالا مشخص است دو متغییر Rscript و SQL Script را تعریف کردهایم که در Rscript دستورات مربوط به R و درون متغیر SqlScript دستورات مربوط به واکشی اطلاعات از SQL Server قرار خواهد گرفت. سپس با اجرای رویه Sp_Execute_External_Script دستورات لازم اجراء میشود. با اجرای دستورات فوق خروجی به شکل زیر قابل مشاهده خواهد بود سخن پایانی سرویسهای یادگیری ماشین در SQL Server، از قابلیت های این ابزار در به کارگیری پکیجهای ارائه شده برای این منظور است. از این رو مدیریت این پکیجها به طور قابل توجهی در SQL Server بهبود یافته است. در این مقاله بررسی کرده ایم که نصب و پاک کردن این بسته ااا و نهایتا کنترل آنها بسیار راحت میباشد. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم. چه رتبه ای میدهید؟ میانگین ۴ / ۵. از مجموع ۶ اولین نفر باش دانلود مقاله مقدمهای بر سرویسهای یادگیری ماشین در SQL Server فرمت PDF 10 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 3 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده مجید جوادی معرفی محصول دوره یادگیری علم داده 1.780.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ مسعود طاهری ۱۹ / ۱۲ / ۹۶ - ۰۳:۴۱ تشکر آقای جوادی مقاله خوبی بود. منتظر قسمت های دیگر مقاله هستیم. پاسخ به دیدگاه مسعود طاهری ۱۹ / ۱۲ / ۹۶ - ۰۳:۴۱ تشکر آقای جوادی مقاله خوبی بود. منتظر قسمت های دیگر مقاله هستیم. پاسخ به دیدگاه