در قسمت اول این مطلب به بررسی تعدادی از ویژگیهای فنی و برتر در Sql Server 2019 پرداختیم. در ادامه به بررسی سایر ویژگیها خواهیم پرداخت.
-
Query Store و Policyهای سفارشی
Query Store یک ابزار تنظیم عملکرد بهروز عالی است که امکان ذخیرهسازی، اندازهگیری و تثبیت برنامههای بازگشتی طرح را در دیتابیس SQL Server فراهم میکند. گرچه نکته مهم در استفاده از Query Store این است که گاهی اوقات میتواند اطلاعات زیادی را حتی برای Queryهایی که مد نظر DBA نیستند و یا حتی Queryهایی که بخشی از ابزار سیستم یا ابزار مانیتورینگ هستند، ذخیره کند. کاربر با این قابلیت جدید Policyهای سفارشی، میتواند دقیقا تنظیم کند که کدام Queryها بر اساس آمار اجرای آنها، مانند تعداد دفعات اجرا، CPU مورد استفاده و سایر موارد ردیابی شوند.
دلایل اهمیت: Query Store یک ویژگی عالی است اما اگر منابع زیادی مصرف کند یا بیش از حد Bloat شود تا برای DBA موثر واقع شود، دیگر زیاد مفید نخواهد بود. این ویژگی امکان تنظیمات دقیق را فراهم میکند تا رفع مشکلات برنامه، همیشه کارآمد و آسان باشد.
هزینهی Adoption: کاربر فقط باید ببیند قصد استفاده از چه نوع شرایط اجرایی را به عنوان یک فیلتر برای Query Store خود دارد.
-
هشدارهای Verbose Truncation
هر یک از توسعهدهندگان T-SQL از سختیهای خطای Truncation آگاه هستند. برخی از منابع در بعضی از موقعیتها با نوع جدید داده سازگاری ندارند. اما کاربر به هیچ وجه جزییات آن را دریافت نمیکند. و در نهایت با آزمون و خطا درمییابد که خطا از سوی کدام منبع بودهاست. که این روش قطعا بهترین تجربه برای حل مسئله نیست.
دلایل اهمیت: این قضیه از نظر سلامت روانی اهمیت دارد. زیرا این پیامهای جدید تمام جزئیات مربوط به مسائل Truncation داده را در اختیار کاربر میگذارند. بنابراین کاربر میتواند آن را برطرف کند و به کار خود ادامه دهد.
هزینهی Adoption: هیچ هزینهای ندارد. تنها یک پیشفرض جدید است که کاربر از آن لذت خواهدبرد.
-
ساخت Resumable Index
SQL Server اکنون توانایی توقف عملیات بازسازی Index را در حین انجام کار دارد و میتواند کارهایی را که تا آن لحظه انجام شده، حفظ کند و در زمان دیگر آنرا دنبال کند.
دلایل اهمیت: برای برخی از افراد، بازسازی Index هنوز هم امری ضروری است و منابع بسیاری را حتی با گزینهی ONLINE برای این کار صرف میکنند، آنها هنوز با واقعیت حفظ و نگهداری ویندوز کنار نیامدهاند. اما سوال اینجاست که اگر در طی مدت نگهداری ویندوز، زمان به آخر برسد چه اتفاقی میافتد؟ قبل از هر کاری کاربر باید بازسازی را لغو کند و منتظر یک Recovery طولانی مدت باشد و دوباره از ابتدا شروع کند. ولی با این ویژگی جدید، کاربر از شر این مشکلات خلاص خواهد شد.
هزینهی Adoption: برای استفاده از RESUMABLE جدید کاربر فقط باید Index Scriptهای خود را تغییر دهد.
-
مجازیسازی داده با Polybase
Polybase ماژول SQL Server است که به T-SQL Queryهای سریع و موازی اجازه میدهد که به حافظهی خارجی (معمولا HDFS On-Premise) بروند و نتایج را به صورت مداوم به عنوان یک مجموعه نتایج T-SQL انتقال دهند. با SQL 2019، Polybase برای پشتیبانی از MongoDb، Teradata، Oracle و موارد دیگر گسترش مییابد.
دلایل اهمیت: ادغام دادهها همیشه یک چالش است و با مجموعه دادههای روزافزون، این عملکرد میتواند به یک مسئله تبدیل شود. تلاش برای Query گرفتن و جابجایی حجم بالایی از داده از طریق سرور مرتبط همیشه بسیار کند است زیرا واقعا برای این کار بهینهسازی نشدهاست. Polybase به SQL Server اجازه میدهد تا با توانمندسازی مهارتهای T-SQL و حفظ عملکرد به عنوان یک اولویت اصلی به صورت همزمان تبدیل به Data Hub یک سازمان شود.
هزینهی Adoption: این امر به طور قطع نیاز به انجام کارهایی دارد. کاربر نیاز به چندین Polybase node، تنظیم اتصال سایر پلتفرمهای دیتابیس و سپس آزمودن عملکرد آن Queryها دارد.
9.آخرین برنامهی اجرایی DMF
این برنامه یک Dynamic Management Function به نام sys.dm_exec_query_plan_stats است که آخرین برنامهی اجرایی Actual برای Query را در صورت فعال بودن ویژگی Lightweight Query Profiling، دنبال میکند.
دلایل اهمیت: پیش از هر چیز، گرفتن یک Actual Query Plan نیازمند یک Profiler Trace، یا یک XEvents Trace و یا یک Call به Ephemeral DMFاست که محتوای آن در هنگام Query گرفتن، از دست رفته است. برداشتن گامهای اساسی در انواع سناریوهای دارای مشکل عملکرد تولید، آسانترین یا راحتترین مکانیسم نیست.
هزینهی Adoption: بعد از فعال کردن تنظیمات، میتوان از DMF استفاده کرد.
-
ارتقاء عملکرد داخلی چندگانه
چندین ارتقاء عملکرد داخلی، توسط تیم SQL برای این نسخه انجام شدهاست. برای Indexهایی که دارای Sequential Key، بهبود عملکرد مجدد Temp Table، بهبود Checkpoint Scalability غیرمستقیم و موارد دیگر هستند، یک بهینهسازی Index جدید وجود دارد.
دلایل اهمیت: اینها همه پیشرفتهای عملکردی هستند که در نسخهی جدید وجود دارند و فرآیندهای مشترک SQL Server را بهینهسازی میکنند و برای بهرهمندی از آنها نیاز به انجام کاری از طرف مشتری نیست.
هزینهی Adoption: ندارد