معرفی اجمالی SQL SERVER 2016

چهارشنبه 12 اسفند 1394

در اینجا قصد داریم تا برخی از امکانات نسخه جدید SQL Server رابه اختصار معرفی کنیم.

همانطور می دانید، ذخيره و بازيابي اطلاعات در سيستم هاي اطلاعاتي تقريبا بالاترين اولويت را دارد.
همچنين سرعت ذخيره و دستيابي مجدد به data در اين گونه سيستم ها بسيار مهم و حتي حساس مي باشد.
لذا در راستاي بهبود عملكرد سيستم هاي اطلاعاتي، مواردی به شرح زير جمع آوري شد تا بدليل امكانات جديد و فوق العاده نرم افزار sql server 2016
كه بخشي از آن به صورت خلاصه در زير آمده است، data platform فعلي خود را به اين نرم افزار قدرتمند ارتقا داده و بر روي ويندوز سرور 2016 نصب نمایید. (البته پس از نهايي شدن ويندوز سرور 2016 و خود sql server 2016)
قابليت هاي كلي در ديدگاه اوليه به شرح زير مي باشد.(تكنولوژي جديد In-Memory OLTP به دليل محبوبيت و كاربرد بسيار خوب به طور جداگانه به اختصار بررسي مي شود)
• پشتيباني از Microsoft Windows 2016 64 bit:
    ويندوز سرور جديد مايكروسافت (هنوز نهايي نشده) از 12 ترابايت حافظه RAM وتعداد 16 بلاك CPU پشتيباني مي كند و اين باعث مي شود تا SQL2016 تا بيشترين حد ممكن با نوع فايل NTFS به حداكثر كارايي برسد.
• Stretch Database:
    بسط دادن پويا داده ها به روشي امن به Microsoft Azure كه باعث ايجاد قابليت استفاده از آن بر روي محيط ابري مي شود.
• Always On:
    راه حل جديد مايكروسافت براي پيشگيري از فاجعه(تكنولوژي مانند mirroring اما با تكامل بيشتر و سرعت عمل بالاتر)
• PolyBase: 
    براي map كردن داده هاي عظيم خارجي Hadoop و استفاده ي آن در SqlServer و توانايي اجراي دستورات T-Sql روي آن.(Apache Hadoop: يك فريم ورك از كتابخانه هايي است كه سازوكار پردازش حجم عظيمي از داده هاي توزيع شده را فراهم مي كند)
• پشتيباني از زبان R:
    امكان اجرا نمودن اسكريپ هاي اين زبان توسط پروسيجر sp_execute_external_script براي تحليل هاي آماري SqlServer
• Always Encrypt:
    در sql 2016 مي توان برخي از ستون هاي برخي از جداول را (optional) به صورت كاملا Encrypt شده نگهداري كرد. به اين صورت كه در سمت ديتابيس تنظيمات column encryption key و در سمت app تنظيمات column master key انجام مي شود.
• Row Level Security:
    تعيين سطوح دسترسي در سطح رديف جداول
• Dynamic Data Masking:
    ايجاد mask هاي پويا در سطح ستون هاي جداول:

            Alter Table Employee                                        
        Alter Column Email ADD MASKED WITH (Function='email()')            

• Query Store:
    ابزاري گرافيكي و non-textbase براي كار حرفه اي استخراج آمار و اطلاعات در باره كوئري هاي در حال اجرا به همراه Execution Plan
• JSON:
    پشتيباني Native از JSON و DataType جديد از اين نوع. همچنين امكان import و  export ازداده ها به فرمت JSON وجود دارد
• Temporal DataBase:
    قابليتي براي ذخيره و بازيابي سابقه تغيير ركوردها به آساني و بدون نوشتن log جداگانه:

    Alter Table Person.Person                                                
    Add col1 varchar(100)                                                    
    Go                                                                    
    Alter Table Person.Person                                                
    Set (SYSTEM_VERSIONING - ON (HISTORYTABLE=History.PersonHistory))            
    Go                                                                    

-------------------------------------------------------------------------


• In-Memory OLTP
    و اما قابليت بسيار قوي، زيبا، پركاربرد و سريع "در-حافظه" كه باعث مي شود تا تراكنش ها تا 30 برابر و كوئري ها تا بيش از 100 برابر سريع تر از ديسك اجرا شوند!
    Requirements:
        - .Net framework 4.6
        -  نسخه نرم افزار SQL بايد Enterprise يا Developer باشد
        - سيستم عامل بايد 64 بيت باشد و از CPU فيزيكي يا VM مدرن استفاده شده باشد
        - حداقل RAM بايد دو برابر حافظه ي ديسك باشد(به صورت پيش فرض تا دو ترابايت RAM پشتيباني مي شود)
    در زير برخي از ويژگي هاي اين تكنولوژي آمده است:
    • پشتيباني از TDE: ذخيره داده ها به صورت رمزنگاري شده به صورت نامحسوس
    • پشتيباني از Constraint ها براي ايندكس هاي unique
    • نحوه ي اجراي checkpoint ها به صورت موازي كه موجب افزايش خيره كننده سرعت شده است
    • پشتيباني از native compiled procedure به همراه alter كردن پروسيجر و جداول
    • پشتيباني از دستورات T-SQL مانند in, or, not,union, distinct, outer join, exist و غيره كه در ورژن 2014 پشتيباني نمي شد.
    • پشتيباني از native compiled function و همچنين trigger
    • پشتيباني از Large Objects مانند varbinary-max و xml
    • پشتيباني كامل از collation ها
در زير نمونه اي از ساخت in-memory database به صورت ساده آمده است:

 
-- It is not a Memory Optimized
CREATE TABLE tblNormal (
[CustomerID] int NOT NULL PRIMARY KEY NONCLUSTERED,
[Name] nvarchar(250) NOT NULL, CustomerSince DATETIME not NULL
CREATE TABLE tblMemoryOptimized_Schema_And_Data
INDEX [ICustomerSince] NONCLUSTERED ) -- DURABILITY = SCHEMA_AND_DATA ( [CustomerID] INT NOT NULL
[CustomerSince] DATETIME NOT NULL
PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1000000), [Name] NVARCHAR(250) NOT NULL, INDEX [ICustomerSince] NONCLUSTERED
PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT = 1000000),
) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA) -- DURABILITY = SCHEMA_ONLY CREATE TABLE tblMemoryOptimized_Schema_Only ( [CustomerID] INT NOT NULL
) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY)
[Name] NVARCHAR(250) NOT NULL, [CustomerSince] DATETIME NOT NULL
INDEX [ICustomerSince] NONCLUSTERED

davood2577

نویسنده 1 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید