شرکت مایکروسافت در SQL Server 2016 به معرفی قابلیتهای جدیدی همچون سرویسهایSQL Server R پرداخته است که از ادغام زبان برنامهنویسی R با موتور پایگاهدادهی SQL Server ایجاد شده و از علم دادهها یا Data Science در مقیاس سازمانی پشتیبانی مینماید.
علاوه بر موارد فوق، قابلیت پشتیبانی از زبان پرکاربردِ Python در SQL Server 2017 اضافه شده است که باعث گردیده میزان توانایی Machine Learning یا یادگیری ماشینی هم افزایش یابد. سرویسهای SQL Server R از زبانهای مختلفی پشتیبانی نموده و از زمان ارائهی نسخه CTP 2.0 که نسخهای جهت تست و بررسی محصولات مایکروسافتی میباشد، تحت عنوان سرویسهای یادگیری ماشینی (در پایگاهداده) یا به عبارتی Machine Learning Services نامیده میشود.
ویژگیهای جدید SQL Server 2017 CTP 2.0
SQL Server 2017 که به تازگی ارائه شده است شامل تعداد زیادی ویژگی جدید میباشد و ارائه و پیادهسازی راهکارهای Machine learningی را تسهیل مینماید که از دادههای SQL Server استفاده میکنند.
در هنگام اجرای SQL Server بر روی لینوکس، پشتیبانی از آن دسته از سرویسهای یادگیری ماشینی که از زبانهای R و Python استفاده میکنند، امکانپذیر نمیباشد. شایان ذکر است که این ویژگی در نسخهی بعدی افزوده خواهد شد.
ادغام Python در SQL Server
در شرایط فعلی این امکان وجود دارد که Python را با استفاده از Stored Procedures یا ساختارهای محاسباتی Remote اجرا نمود.
یادگیری ماشینی با Python شامل ماژول Revoscalepy میشود که از یک زیرمجموعه از الگوریتمهای توزیعی و ساختارهای محاسباتیِ ارائه شده در RevoScaleR پشتیبانی مینماید.
محاسبات موازی برای مدلهای توزیعی
این موضوع از اهمیت بالایی برخوردار است که کارشناسان داده تعداد زیادی از مدلهای کوچک مربوط به زیرمجموعههای یک مجموعه بزرگ از داده را، به نحوی کارآمد تهیه نمایند. برای مثال ممکن است یک مجموعه بزرگ از دادهها، شامل دادههای مربوط به چندین محصول یا تجهیزات در طول چند روز باشد، اما کارشناسان داده یا تصمیمگیرندگان کسبوکار به مدلهایی نیاز دارند که مختص محصولات، تجهیزات، دورهی زمانی و مجموعه خاصی از کاربران (User Base) باشد.
همچنین ارائه چندین مدل موازی از R با استفاده از کارکرد جدید rxExecBy برای کاربران، به سادگی امکانپذیر میگردد. با این کارکرد، یک مجموعه حاوی دادههای نامنظم و گروهبندینشده را پذیرفته و امکان تفکیک و بخشبندی آن را از طریق یک ساختار واحد برای تهیه و ساخت مدل برای کاربران فراهم مینماید. برای مثال میتوان تفکیک را بر اساس محصول انجام داده و سپس مجموعه کلی دادهها را به صورت موازی پردازش نمود. در نهایت، چندین مدل مختلف ارائه میشود که هر یک برای زیرمجموعه مناسبی از دادههای مربوط به هر محصول، تهیه شده است.
عملکرد rxExecBy در SQL Server 2017 CTP 2.0 و در Microsoft R Server 9.1.0 دردسترس میباشد. ضمن اینکه ساختارهای محاسباتی پشتیبانیشده شامل RxSpark و RxInSQLServer میشوند.
بروزرسانی ویژگی های SQL Server 2017 CTP 2.0
در این بخش به ارائه ویژگیهایی پرداخته میشود که در نسخههای قبلی عرضه و در CTP 2.0 بهروزرسانی شده است:
بهبود مدیریت Package، برای کارشناسان داده
درحالحاضر SQL Server به ارائه Roleهایی برای مدیریت مجوزهای مربوط به بستهها میپردازد. به علاوه، DBA میتواند بستهها را در سطح پایگاهداده کنترل نموده و امکان نصب بستههای شخصی و یا اشتراکگذاری بستهها با سایر افراد را برای کاربران فراهم نماید. کاربران دارنده این Roleها میتوانند بستههای R را از یک Client در وضعیت Remote بر روی کامپیوتر SQL Server نصب و یا حذف نمایند، بدون آنکه نیاز به مراجعه به واحد مدیریت پایگاهداده یا DBA باشد.
ویژگیهای جدیدی در CTP 2.0 وجود دارد که امکان پشتیبانگیری و بازیابی مجموعه Packageهای مربوط به کاربران را در هنگام جابجایی یا بازیابی پایگاهداده فراهم مینماید.
بهبود تجربیات در حوزه R
بسته RevoScaleR در SQL Server 2016 ،SQL Server 2017 وMicrosoft R Server قابل دسترسی میباشد. این بسته شامل تغییرات و الگوریتمهایی است که از پردازش موازی یا توزیعی و ساختارهای محاسباتی متعدد پشتیبانی مینماید.
در صورت نصب نسخهی قبلی RevoScaleR با SQL Server 2016، کاربر با سوئیچینگ سرور میتواند جدیدترین نسخه را به روزرسانی نماید تا از Policy مربوط به Modern Lifecycle استفاده نماید. بدین ترتیب میتوان از مزایای مربوط به چرخههای سریعتر برای R بهره برده و به صورت خودکار تمام Componentهای R را ارتقا بخشید. به علاوه، این Componentها در CTP 2.0 به نسخهی 0-1-9 ارتقا مییابد.
عملکردها و ویژگیهای جدید در MicrosoftML
MicrosoftML به عنوان بستهی یادگیری ماشینی برای R توسط تیم Microsoft Data Science ارائه شده است. این بسته به افزایش سرعت، ارتقای عملکرد و مقیاس برای کنترل مقدار زیادی از دادههای متنی و دادههای مربوط به دستهبندی High-Dimentional در مدلهای R همراه با تعداد اندکی کد میپردازد. ضمن اینکه دارای پنج Learner با سرعت و دقت بالا میباشد که در Azure Machine Learning یافت میشوند.
از ویژگیهای جدید MicrosoftML در CTP 2.0 میتوان به عملکرد ایجاد ویژگیهای جدید تست و Image و همچنین پشتیبانی از مدلهای موازی با rxExecby اشاره نمود.