sql >> Databáze >  >> RDS >> Sqlserver

SQL Server 2016:Vylepšení OLTP v paměti

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.


  1. Jak ošetřit chyby ve vnořených transakcích SQL Server

  2. Databázová služba PostgreSQL

  3. Zaujměte lidský přístup ke správě dat

  4. 4 způsoby, jak vypsat všechny tabulky v databázi MySQL