بر کسی پوشیده نیست که در حال حاضر سرعت تولیدات نرمافزار از هر زمان دیگری بیشتر است. اکنون که استفاده از Cloud به عنوان یک مؤلفه راهبردی خدمات IT، فراگیر شده است، انتشار مداوم ویژگیها و خدمات جدید روی تولیدات دیگر شرکتها نیز تاثیر گذاشته است. و به دنبال آن با رشد انتظارات مشتری، نرمافزارهای On-Premise یا Retail-Deliver بیشتر منتشر میشوند. اینگونه است که طی چهار سال گذشته شاهد سه نسخهی اصلی SQL Server 2016 و 2017 (با یک جهش بزرگ SQL درلینوکس) بودهایم و اکنون نوبت به SQL Server 2019 رسیده است که گام تکاملی بلندی برای ویژگیهایی است که درSQL 2017 معرفی شدهاست. علاوه بر این، مجموعهای از قابلیتهای جدید را با نام تجاری خود دنبال میکند که همچنان موقعیت محصول را به عنوان پلتفرم نرمافزاری یک مرحلهای برای همهی نیازهای کاربر حفظ میکند. با توجه به این موضوع و محصولات تولید شده، لیستی از ده ویژگی فنی و برتر SQL Server 2019 در ادامه آمده است که البته ممکن است کامل نباشد. کاربران برای اطلاعات بیشتر میتوانند به Microsoft documentation مراجعه کنند. ویژگیهایی که ذکر خواهند شد، بیشتر ویژگیهای فنی هستند که به توسعهدهندگان و DBAها در عملکردهای روزانهی خود کمک میکنند.
1- پیشرفتهای پردازش Query هوشمند
پیشرفتهای پردازش Query هوشمند به مجموعه پیشرفتهایی گفته میشود که بر رفتار Query Optimizer، مولفهی موجود در SQL Server که برنامهی اجرای Queryها را تولید میکند، تاثیر میگذارد و شامل حافظهی پویا برای Rowstore Tableها، Table Variable Deferred Compilation، Batch Mode On Rowstore و… است.
دلیل اهمیت: این موارد پیشرفتهای پشت صحنه در Query Optimizer هستند که کیفیت برنامهها برای همهی Queryهای قابل اجرا را بهبود میبخشند. این امر به معنای عملکرد بهتر بعد از انجام بروزرسانی است.
هزینهی Adoption: برای تأیید پیشرفتها، میتوان مسائل مربوط به مشکلات Query را در Development Instance، آزمایش کرد که به نوبهی خود پیشرفت بزرگی است و نیاز به تغییر زیادی از طرف مشتری ندارد.
2- Accelerated Database Recovery یا به اختصار ADR
این روش شیوهای کاملاً جدید برای SQL Server به منظور بازیابی دیتابیس در صورت انجام تراکنش برگشتی یاInstance Restart و یا Availability Group Failover است. در این صورت، دیگر زمان غیرقابل پیشبینی نخواهد بود. زیراSQL Team عملکرد بازیابی را توسعه داده و به طرز چشمگیری زمان پردازش را کاهش میدهد.
دلایل اهمیت: فقط کاربری که منتظر تولید SQL Server Instance است تا تراکنشی طولانی را دوباره از ابتدا انجام دهد و یا کاربری که در طی یک عملیات بزرگ داده، مشکل غیرمنتظرهای برایش پیش آمده، میداند که انتظار کشیدن برای به اتمام رسیدن بازیابی و برگشتن به کسب و کار و فعالیت چقدر طاقتفرساست. ولی خوشبختانه ADR مزایای کاملی را برای SLA و RTO فراهم می کند.
هزینهیAdoption: هیچ هزینهای ندارد. کاربر فقط باید آنرا فعال کند و از مزایای آن بهره ببرد.
3- AlwaysEncrypted با Secure Enclaves
ALWAYSENCRYPTED نسخهی بعدی AlwaysEncrypted است، و فناوری رمزگذاری معرفی شده در SQL Server 2016 است که امکان رمزگذاری واضح ستون را بدون دسترسی ادمینها به کلیدهای رمزگشایی فراهم میکند. یک اشکال در پیادهسازی نخست این است که به دلیل عدم امکان رمزگشایی دادهها توسط SQL Server، Query گرفتن در سمت SQL منجر به انجام محاسبات یا دستکاری مقادیر واقعی ستون نمیشود. با استفاده از تکنولوژی جدید Secure Enclaves، SQL Server اکنون میتواند بخشی از حافظه را به صورت امن رمزگذاری کند تا بتواند محاسبات روی این ستونهای رمزگذاری شده را انجام دهد بدون اینکه مقادیر رمزگذاری نشده در معرض بقیه پردازشها (یا در دسترس ادمینها) قرار گیرند.
دلایل اهمیت: این موضوع به دلیل مسایل امنیتی و عملکردی نیز اهمیت دارد. سرورهای دیتابیس برای پردازش مقادیر زیادی از دادهها به بهترین نحو مجهز هستند، بنابراین قادر به انجام AlwaysEncripted و همچنین دستکاریهای پیچیده بوده که آنها را به بهترین شکل کامل میکند.
هزینهی Adoption: اگر کاربر سابفهی استفاده از AlwaysEncrypt را داشته باشد، غیر از تنظیم و رمزگذاری مجدد ستون مورد نظر، انجام هیچ تغییر بزرگی دیگری لازم نیست. اما اگر تا کنون از AlwaysEncryption استفاده نکرده، اکنون زمان مناسبی برای بررسی است، کاربر میتواند این ویژگی را آزمایش کند و در صورت مناسب بودن با نیازهای امنیتی خود از آن استفاده کند.
4- Memory-Optimized Tempdb Metadata
تیم SQL بهینهسازیهایی را در کد tempdb انجام داده است به گونهای که برخی از فرادادههایی که ممکن است دلیل Bottleneck در سیستم های سنگین tempdb باشند، می توانند کاملاً به حافظه تکیه کرده و برای دسترسی به RAM بهینهسازی شوند.
دلایل اهمیت: Volumeها و محیطهایی در مقیاس بزرگ که از tempdb زیادی استفاده میکنند، با این نوع Bottleneck روبرو میشوند که معمولاً برای کاهش استفاده از tempdb به نوعی اصلاح نیاز دارد. با استفاده از این ویژگی، امکان فعالسازی Metadata یا فراداده در حافظه و دسترسی بهینه به آنها امکانپذیر است. با این روش کاربر از شر این قبیل موارد خلاص خواهد شد.
هزینهی Adoption: کاربر فقط باید این ویژگی را فعال و تکمیل آن را تأیید کند.