نقد و بررسی: SQL Server 2016 و کمک آن به سرعت
![SQL Server 2016 و کمک آن به سرعت](https://khatedid.com/wp-content/uploads/2017/02/sql-server1.jpg)
2016 SQL Server، با پایگاه دادهی Azure، query های در برابر Hadoop، R داخلی ، امنیت بهتر و عملکرد بالاتری دارد. مایکروسافت 2016 SQL Server را” بزرگترین جهش روبهجلو” در تکامل 27 سالهی پایگاه داده SQL سرور مینامد. همانطور که مشاهده میکنیم، 2016 SQL Server ، تعدادی قابلیتهای جدید و جذاب، ازجمله تجزیهوتحلیل داخلی R، صحهگذاری اطلاعات Hadoop خارجی و پایگاه دادههای Azure و مدیریت تمیز و ویژگیهایی در امنیت داده را ارائه میدهد.
علاوه بر این، 2016 SQL Server ، حافظهی داخلی موتور OTLP، حافظه داخلی columnstore و یکپارچگی ابری Azure را بهبود بخشیده است. همچنین یک آپگرید برای سرورهای SQL موجود نیز عرضهشده است. اینکه آیا تمام این پیشرفتها برای اغوا کردن کاربران برای مهاجرت به SQL Server کافی است یک سؤال بسیار متفاوت است.
راهاندازی و آپگرید
راهاندازی 2016 SQL Server بهصورت محلی نیاز به مقداری برنامهریزی، به همراه یک ویندوز 8 آپدیت شده، ویندوز 10 یا ویندوز سرور 2012، دارد. حتی نسخهی کامل موجود از ویندوز 10، نیاز به نصب و راهاندازی آپدیت رانتایم Visual Studio قبل از نصب 2016 SQL Server ، دارد و اگر شما میخواهید از PolyBase استفاده کنید، شما باید Oracle Java7 یا بالاتر را نصب کنید. ورژن لینوکس 2016 SQL Server ، در حال حاضر در مرحله پیش بررسی خصوصی است.
مشتریان اصلی 2016 SQL Server ، کسانی اند که در حال حاضر ورژن 2014 رادارند، و خواهان استفاده از امکانات جدید و پیشرفتهای عملکردی، امنیتی و غیره هستند.اگر شما یکی از این مشتریان هستید، میتوانید 2016 SQL Server را بهصورت اولیه بر روی دیتا بیس توسعه نصب کنید. توصیهی مایکروسافت این است که بدون تغییر سطح همگامسازی دیتا بیس آغاز بکار کنید و بعد آن را تا 130 افزایش دهید و تولیدات را بررسی و صحهگذاری کنید. اگر مجبور به تنظیم رگرسیونها شدید، میتوانید سطح همگامسازی را موقتاً کاهش دهید.
بهبودهای عملکردی
مایکروسافت ادعاهای زیادی برای بهبودهای عملکردی 2016 SQL Server میکند. در سطح بالا، 2 بالاترین امتیاز برای قیمت\عملکرد TPC-E (OLTP)، با 44 هسته، یکی با سرور فوجیتسو و یکی با سرور لنوو را مدعی میشود. علاوه بر این، مدعی بالاترین امتیاز در تحلیل TPC-E (OLTP) هم در عملکرد، هم قیمت\عملکرد در حجمهای 30 ترابایت و 1 ترابایت، نیز میباشد.
TPC-H انواع مختلف بیشتری از فروشندگان را تعمیم میدهد؛ چیزی که من با مشاهدهی لیست TPC-H متوجه آن نمیشوم این است که مایکروسافت چگونه ادعای پیروزی در 30 ترابایت و 1 ترابایت میکند، درحالیکه 2016 SQL Server ، بهطور کامل توسط EXACluster OS 5.0 ی خوشهبندیشده، در هر دو مورد، از صحنه خارج میشود.شاید منظور مایکروسافت محدود کردن ادعاها به نتایج غیر خوشهبندیشده بوده است که ذکر این موضوع را از قلم انداخته است.
بنابراین من در مورد نتایج TPC تحت تأثیر قرار نگرفتهام. مایکروسافت در مورد بهبود سرعت 2016 SQL Server در برابر نسخه 2014 نیز ادعاهای زیادی دارد؛ بعضی از آنها بسیار تخصصیاند مانند “19 برابر سرعت بیشتر در عملکردهای محلی Spatial” و بعضی دیگر معمولیترند مانند ” query های Tableau 190 درصد سریعتر”.
سؤالهای مهم دربارهی عملکرد 2016 SQL Server ، بر عهدهی کاربران نسخهی 2014 است تا ببیند آیا دیتا بیسشان در 2016 SQL Server ، سریعتر بارگذاری میشود یا خیر. معیارهای مایکروسافت ممکن است تا حدی معقول باشند، اما آنها بسیار کمتر نسبت نتایج خودتان و عملکرد پایگاه دادههایتان منطقیاند.
محدودهی دیگری که در آن می بهبود عملکردی بالقوه را مشاهده کرد، افزایش حافظه (12 ترابایت) و تعداد هستههای موجود برای اجراشدن در ویندوز سرور 2016 است.
علاوه برافزایش در ماکسیمم RAM، حافظهی داخلی OLTP نیز نسبت زمان معرفیاش در 2014، پیشرفت کرده است. مایکروسافت ادعا میکنید که موتور آن را با گردآوری T-SQL به کدهای محلی، بازنویسی کرده است.
بهبودهای امنیتی
امنیت دادهها از همیشه مهمتر شده است. یکی از بزرگترین پیشرفتهای امنیتی در 2016 SQL Server ، Always Encrypted نام دارد.نحوهی عمل به این صورت است: اطلاعات حساس درون پایگاه دادهها در سطح ستونی رمزگذاری میشوند، و اطاعات رمزگذاری نشده بیرون منطقهی امن دیده نمیشوند.
2016 SQL Server، دو روش پیادهسازی رمزگذاری دارد: تصادفی و اندازهگیری شده. نوع تصادفی امنتر است اما نوع اندازهگیری شده اجازهی مقایسهی برابری در مکان، تمایز، گروهبندی و غیره را میدهد.
مسئلهی بااهمیت دیگر دربارهی امنیت 2016 SQL Server ماسک گذاری اطلاعات بهصورت دینامیک است. این مسئله از ستونهای حساس هنگام جستوجو محافظت میکند.
تحلیلگران عملیاتی
بهصورت اورجینال، پایگاه دادههای سرور OLTP و سرور دیتا بیس تحلیلکننده بهصورت مجزا قرار داشتند و یک پروسه ETL بهصورت دورهای اطلاعات جدید را از سرور OLTP استخراج کرده و مکعبهای OLAP را از سرور تحلیلگر پدیت میکند. این فرایند هزینهبر بوده و همچنین باعث دیرکرد در انتقال اطلاعات میشد.
عملیات تحلیل در لحظهی جدید در 2016 SQL Server از یک columnstore غیر خوشهای زنده که بهصورت مستقیم اطلاعات دیتابیس OLTP را آپدیت میکند. پروسه بهصورت یک فعالیت در پسزمینه ادامه مییابد و ردیفهایی از این پروسه تا شمار 1 میلیون به انجام این بروز رسانی فعالیت دارند.
سرویسهای R داخلی
زبان برنامهنویسی R، به همراه پایتون، یکی از زبانهای موردعلاقهی دانشمندان حوزهی اطلاعات میباشد. یک مشکل بزرگ هنگام اجرای زبان R، رگرسیون در برابر مقادیر زیاد اطلاعات نسبت زمان است. اصولاً، مهندسان این مشکل را با کشیدن یک نمونهی تصادفی به درون سرور R برای توسعه و آزمایش حل کردهاند، و بدینصورت از کدهای R صرفاً در مرحلهی نهایی بر روی نسخهی کامل اطلاعات استفاده میکنند.
در 2016 SQL Server ، سرویسهای موازی شده R با عملکرد بالا، درون پایگاه دادهها ساختهشدهاند و توانایی برهمکنش با ساختارهای T-SQL رادارند که، بهجای انتقال اطلاعات به آنالیز، باعث آوردن آنالیزها به اطلاعات میشود. این مسئله نهتنها باعث افزایش سرعت میشود، بلکه، بسیار قابلیت اندازهگیری بالاتری نیز دارد.
ابر هیبریدی و اطلاعات بزرگ
مایکروسافت علاقهی زیادی به صحبت کردن راجع به ویژگیهای “hyperscale” که با ترکیب 2016 SQL Server و ابر Azure به دست میآورد، دارد. بهترین این ویژگیها، پایگاه دادههای کاذب است. شما یک لینک بین اطلاعات خود در محل و دیتابیس SQL Azure با فعال کردن “ریموت آرشیو دیتا”، در 2016 SQL Server ، میسازید که این امر اجازهی فعالیت در سرور SQL را به ادمین Azure میدهد.
سپس شما انتقال را مدیریت میکنید؛ درواقع شما توانایی اینکه تعیین کنید چه اطلاعاتی، از طریق این دیتابیس کاذب تغییر کنند و انتقال یابند.
ویژگی دیگری که در این دسته قرار میگیرد، نسخههای دوم از پایگاه دادهها و بک آپ های بهبودیافته بر روی Azure است. شما همچنین توانایی انتقال اطلاعات از SQL Server به SQL Azure، را بهطور کامل و اتوماتیک دارد.
آیا شرکت شما به این ویژگیهای 2016 SQL Server احتیاج دارد؟ اگر شما یک ورژن قدیمیتر از SQL سرور رادارید، برای شما آزمایش این نسخه جدید با راهاندازی یک نسخهی تست چه بهصورت لوکال چه به بر روی Azure، مقدور است که بدینصورت شما میتوانید دیتا بیس خود را بر روی آن بارگذاری کرده و اپلیکیشن هایتان را آزمایش کنید. با این راهکار شما خواهید دانست که آیا نسخهی جدید این نرمافزار مناسب شما هست یا خیر.
به همین صورت اگر شما، از کاربران دیتابیس اوراکل هستید، مایکروسافت تمایل اهدای لایسنس های موردنیاز برای انتقال اطلاعات به 2016 SQL Server به شمارا دارد. مایکروسافت حدود 90 درصد پروسهی انتقال اطلاعات از سرور اوراکل به SQL، را اتوماتیک انجام میدهد. اگر این پروسهی انتقال اطلاعات از سرور اوراکل جز برنامهی شماست، اکنون یکی از بهترین موقعیتها برای انجام این انتقال است.