Aktualizace:30. listopadu 2015
Tým SQL Server publikoval blogový příspěvek s některými novými funkcemi pro In-Memory OLTP v CTP 3.1:
- K dispozici je SQL Server 2016 Community Technology Preview 3.1
Aktualizace:17. listopadu 2015
Jos de Bruijn zveřejnil aktualizovaný seznam změn OLTP v paměti od CTP 3.0:
- In-Memory OLTP – co je nového v SQL2016 CTP3
Již dříve jsem psal o změnách ve skupinách dostupnosti v SQL Server 2016, o kterých jsem se dozvěděl na MS Ignite převážně z relace Joey D'Antoni a Denny Cherry. Další skvělá sekce byla od Kevina Farleeho a Sunila Agarwala o změnách, které se chystají pro In-Memory OLTP (funkce dříve známá jako „Hekaton“). Zajímavá poznámka na okraj:video z této relace ukazuje demo, kde Kevin používá CTP2.0 (sestavení 13.0.200) – i když to pravděpodobně není sestavení, které veřejně uvidíme letos v létě.
Funkce/limit | SQL Server 2014 | SQL Server 2016 |
---|---|---|
Maximální kombinovaná velikost odolných stolů | 256 GB | 2 TB |
LOB (varbinary(max), [n]varchar(max)) | Nepodporováno | Podporováno* |
Transparentní šifrování dat (TDE) | Nepodporováno | Podporováno |
Offline vlákna kontrolního bodu | 1 | 1 na kontejner |
ALTER PROCEDURE / sp_recompile | Nepodporováno | Podporováno (plně online) |
Vnořená volání nativní procedury | Nepodporováno | Podporováno |
Nativně zkompilované skalární UDF | Nepodporováno | Podporováno |
ALTER TABLE | Nepodporováno (PUSTIT / ZNOVU VYTVOŘIT) | Částečně podporováno (offline – podrobnosti níže) |
Spouštěče DML | Nepodporováno | Částečně podporováno (PO, nativně zkompilováno) |
Indexy ve sloupcích s možností NULL | Nepodporováno | Podporováno |
Porovnání jiných než BIN2 ve sloupcích klíče indexu | Nepodporováno | Podporováno |
Nelatinské kódové stránky pro [var]sloupce znaků | Nepodporováno | Podporováno |
Porovnání/třídění bez BIN2 v nativních modulech | Nepodporováno | Podporováno |
Zahraniční klíče | Nepodporováno | Podporováno |
Kontrola/jedinečná omezení | Nepodporováno | Podporováno |
Paralelismus | Nepodporováno | Podporováno |
OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN | Nepodporováno | Podporováno |
Multiple Active Result Sets (MARS) (Znamená lepší podporu Entity Framework.) | Nepodporováno | Podporováno |
Návrhář tabulek SSMS | Nepodporováno | Podporováno |
* Podpora LOB nebude letos v létě k dispozici v expedici CTP.
ALTER TABLE
je offline operace a bude podporovat přidávání/vypouštění sloupců, indexů a omezení. Pro podporu některých z těchto akcí budou k dispozici nová rozšíření syntaxe. Hodnoty počtu segmentů můžete změnit jednoduchou přestavbou (nicméně mějte na paměti, že každá přestavba bude vyžadovat 2X paměť):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
Kromě těchto vylepšení kapacity / funkcí existují také některá další vylepšení výkonu. Například bude možné přidat v paměti, aktualizovatelný, neklastrovaný index columnstore přes diskové tabulky nebo tabulky v paměti. A zjednodušili způsob zpracování smazaných řádků (v roce 2014 tyto operace používají FileStream, v roce 2016 tento krok vynechají). Došlo také k vylepšení migračních poradců a analyzátoru osvědčených postupů – nyní jsou jednodušší na shromažďování dat a poskytují více kontextu o složitosti migrace.
U některých z těchto změn stále existují určitá omezení. TDE jako příklad vyžaduje další kroky při upgradu databáze. Ale je jasné, že jak se In-Memory OLTP stává vyspělejším, odbourávají mnohé z největších překážek přijetí.
Ale počkat, je toho víc! Pokud chcete používat In-Memory OLTP v Azure SQL Database, letos v létě bude k dispozici veřejný náhled s plnou podporou. Nebudete tedy potřebovat vlastní fyzický server s 2 TB paměti, abyste tuto funkci posunuli na hranici svých možností. Neočekávejte však žádné rozšíření této funkce do standardní verze.