Uppdatering:30 november 2015
SQL Server-teamet har publicerat ett blogginlägg med lite ny funktionalitet för In-Memory OLTP i CTP 3.1:
- SQL Server 2016 Community Technology Preview 3.1 är tillgänglig
Uppdatering:17 november 2015
Jos de Bruijn har publicerat en uppdaterad lista över OLTP-ändringar i minnet från och med CTP 3.0:
- In-Memory OLTP – vad är nytt i SQL2016 CTP3
Jag skrev tidigare om ändringarna av tillgänglighetsgrupper i SQL Server 2016, som jag lärde mig om på MS Ignite till stor del från en session av Joey D'Antoni och Denny Cherry. En annan bra session var från Kevin Farlee och Sunil Agarwal om de förändringar som väntar för In-Memory OLTP (funktionen tidigare känd som "Hekaton"). En intressant sidonotering:videon från den här sessionen visar en demo där Kevin kör CTP2.0 (byggd 13.0.200) – även om det förmodligen inte är bygget vi kommer att se offentligt i sommar.
Funktion/Begränsning | SQL Server 2014 | SQL Server 2016 |
---|---|---|
Maximal kombinerad storlek för hållbara bord | 256 GB | 2 TB |
LOB (varbinary(max), [n]varchar(max)) | Stöds inte | Stöds* |
Transparent Data Encryption (TDE) | Stöds inte | Stöds |
Offline Checkpoint-trådar | 1 | 1 per behållare |
ÄNDRA PROCEDUR / sp_recompile | Stöds inte | Stöds (helt online) |
Inkapslade inbyggda proceduranrop | Stöds inte | Stöds |
Nativet-kompilerade skalära UDF:er | Stöds inte | Stöds |
ÄNDRA TABELL | Stöds inte (DROPP / RE-CREATE) | Stöds delvis (offline – detaljer nedan) |
DML-utlösare | Stöds inte | Stöds delvis (EFTER, inbyggt kompilerad) |
Index på NULL-kolumner | Stöds inte | Stöds |
Icke-BIN2-kollationer i indexnyckelkolumner | Stöds inte | Stöds |
Icke-latinska teckentabeller för [var]char-kolumner | Stöds inte | Stöds |
Icke-BIN2-jämförelse/sortering i inbyggda moduler | Stöds inte | Stöds |
Främmande nycklar | Stöds inte | Stöds |
Kontrollera/Unika begränsningar | Stöds inte | Stöds |
Parallellism | Stöds inte | Stöds |
YTTRE JOIN, OR, NOT, UNION [ALLA], DISTINCT, EXISTS, IN | Stöds inte | Stöds |
Multiple Active Result Sets (MARS) (Betyder bättre stöd för Entity Framework.) | Stöds inte | Stöds |
SSMS-tabelldesigner | Stöds inte | Stöds |
* LOB-stöd kommer inte att vara tillgängligt i CTP-sändningen i sommar.
ALTER TABLE
är en offlineoperation och kommer att stödja att lägga till/släppa kolumner, index och begränsningar. Det kommer att finnas nya syntaxtillägg för att stödja några av dessa åtgärder. Du kan ändra dina bucket count-värden med en enkel ombyggnad (observera dock att varje ombyggnad kräver 2X minne):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
Utöver dessa kapacitets-/funktionsförbättringar finns det även några ytterligare prestandaförbättringar. Till exempel kommer det att finnas möjligheten att lägga till ett i minnet, uppdateringsbart, icke-klustrat kolumnlagerindex över antingen diskbaserade eller i minnestabeller. Och de har förenklat sättet att bearbeta borttagna rader (2014 använder de operationerna FileStream; 2016 kommer de att hoppa över det här steget). Det har också skett förbättringar av migrationsrådgivarna och analysatorn för bästa praxis – de är nu lättare när det gäller datainsamling och ger mer sammanhang om migreringskomplexitet.
Det finns fortfarande vissa begränsningar med vissa av dessa förändringar. TDE, som ett exempel, kräver ytterligare steg vid uppgradering av en databas. Men det är uppenbart att i takt med att In-Memory OLTP blir mognare, slår de bort många av de största vägspärrarna för adoption.
Men vänta, det finns mer! Om du vill använda In-Memory OLTP i Azure SQL Database kommer det att finnas en offentlig förhandsvisning med fullt stöd i sommar. Så du behöver inte din egen fysiska server med 2 TB minne för att driva den här funktionen till dess gränser. Förvänta dig dock inte att den här funktionen kommer in i Standard Edition.