Opdatering:30. november 2015
SQL Server-teamet har udgivet et blogindlæg med nogle nye funktioner til In-Memory OLTP i CTP 3.1:
- SQL Server 2016 Community Technology Preview 3.1 er tilgængelig
Opdatering:17. november 2015
Jos de Bruijn har offentliggjort en opdateret liste over OLTP-ændringer i hukommelsen fra CTP 3.0:
- In-Memory OLTP – hvad er nyt i SQL2016 CTP3
Jeg skrev tidligere om ændringerne til Availability Groups i SQL Server 2016, som jeg lærte om hos MS Ignite hovedsageligt fra en session af Joey D'Antoni og Denny Cherry. En anden fantastisk session var fra Kevin Farlee og Sunil Agarwal om ændringerne i vente for In-Memory OLTP (funktionen tidligere kendt som "Hekaton"). En interessant sidebemærkning:videoen fra denne session viser en demo, hvor Kevin kører CTP2.0 (build 13.0.200) – selvom det nok ikke er den build, vi vil se offentligt til sommer.
Funktion/grænse | SQL Server 2014 | SQL Server 2016 |
---|---|---|
Maksimal kombineret størrelse af holdbare borde | 256 GB | 2 TB |
LOB (varbinær(maks), [n]varchar(maks)) | Ikke understøttet | Understøttet* |
Transparent Data Encryption (TDE) | Ikke understøttet | Understøttet |
Offline Checkpoint-tråde | 1 | 1 pr. container |
ÆNDRINGSPROCEDURE / sp_recompile | Ikke understøttet | Understøttet (fuldt online) |
Indlejrede native procedurekald | Ikke understøttet | Understøttet |
Native-kompilerede skalære UDF'er | Ikke understøttet | Understøttet |
ÆNDRINGSTABEL | Ikke understøttet (DROP / re-CREATE) | Delvist understøttet (offline – detaljer nedenfor) |
DML-udløsere | Ikke understøttet | Delvist understøttet (EFTER, indbygget kompileret) |
Indekser på NULL-kolonner | Ikke understøttet | Understøttet |
Ikke-BIN2-sorteringer i indeksnøglekolonner | Ikke understøttet | Understøttet |
Ikke-latinske kodetavler til [var]char-kolonner | Ikke understøttet | Understøttet |
Ikke-BIN2 sammenligning / sortering i indbyggede moduler | Ikke understøttet | Understøttet |
Udenlandske nøgler | Ikke understøttet | Understøttet |
Tjek/Unikke begrænsninger | Ikke understøttet | Understøttet |
Parallelisme | Ikke understøttet | Understøttet |
YDRE JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN | Ikke understøttet | Understøttet |
Multiple Active Result Sets (MARS) (Betyder bedre understøttelse af Entity Framework.) | Ikke understøttet | Understøttet |
SSMS Table Designer | Ikke understøttet | Understøttet |
* LOB-understøttelse vil ikke være tilgængelig i CTP-forsendelsen denne sommer.
ALTER TABLE
er en offline operation og vil understøtte tilføjelse/slipning af kolonner, indekser og begrænsninger. Der vil være nye syntaksudvidelser til at understøtte nogle af disse handlinger. Du kan ændre dine bucket count-værdier med en simpel genopbygning (bemærk dog, at enhver genopbygning vil kræve 2X hukommelse):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
Ud over disse kapacitets-/funktionsforbedringer er der også nogle ekstra ydeevneforbedringer. For eksempel vil der være mulighed for at tilføje et i-hukommelsen, opdaterbart, ikke-clustered columnstore-indeks over enten disk-baserede eller in-memory-tabeller. Og de har forenklet den måde, slettede rækker behandles på (i 2014 bruger disse operationer FileStream; i 2016 vil de springe dette trin over). Der er også sket forbedringer af migrationsrådgiverne og analysatoren for bedste praksis – de er nu lettere på dataindsamling og giver mere kontekst om migrationskompleksitet.
Der er stadig nogle begrænsninger med nogle af disse ændringer. TDE, som et eksempel, kræver yderligere trin ved opgradering af en database. Men det er tydeligt, at efterhånden som In-Memory OLTP bliver mere modent, er de ved at hugge mange af de største vejspærringer for adoption.
Men vent, der er mere! Hvis du vil bruge In-Memory OLTP i Azure SQL Database, vil der være en offentlig forhåndsvisning med fuld support til sommer. Så du behøver ikke din egen fysiske server med 2 TB hukommelse for at presse denne funktion til dets grænser. Forvent dog ikke, at denne funktion kommer ind i Standard Edition.