sql >> Database >  >> RDS >> Sqlserver

SQL Server 2016:OLTP-verbeteringen in het geheugen

Update:30 november 2015

Het SQL Server-team heeft een blogpost gepubliceerd met nieuwe functionaliteit voor In-Memory OLTP in CTP 3.1:

  • SQL Server 2016 Community Technology Preview 3.1 is beschikbaar

Update:17 november 2015
Jos de Bruijn heeft een bijgewerkte lijst met In-Memory OLTP-wijzigingen vanaf CTP 3.0 gepost:

  • In-Memory OLTP – wat is nieuw in SQL2016 CTP3

Ik heb eerder gepost over de wijzigingen in Beschikbaarheidsgroepen in SQL Server 2016, die ik bij MS Ignite grotendeels leerde van een sessie van Joey D'Antoni en Denny Cherry. Een andere geweldige sessie was van Kevin Farlee en Sunil Agarwal over de veranderingen die in petto zijn voor In-Memory OLTP (de functie die voorheen bekend stond als "Hekaton"). Een interessante kanttekening:de video van deze sessie toont een demo waarin Kevin CTP2.0 draait (build 13.0.200) – hoewel het waarschijnlijk niet de build is die we deze zomer publiekelijk zullen zien.

Feature/Limiet SQL Server 2014 SQL Server 2016
Maximale gecombineerde grootte van duurzame tafels 256 GB 2 TB
LOB (varbinary(max), [n]varchar(max)) Niet ondersteund Ondersteund*
Transparante gegevenscodering (TDE) Niet ondersteund Ondersteund
Offline Checkpoint-threads 1 1 per container
WIJZIGINGSPROCEDURE / sp_recompile Niet ondersteund Ondersteund (volledig online)
Nested native procedure-aanroepen Niet ondersteund Ondersteund
Native-gecompileerde scalaire UDF's Niet ondersteund Ondersteund
WIJZIG TABEL Niet ondersteund
(DROP / re-CREATE)
Gedeeltelijk ondersteund
(offline – details hieronder)
DML-triggers Niet ondersteund Gedeeltelijk ondersteund
(NA, native gecompileerd)
Indexen op NULL-kolommen Niet ondersteund Ondersteund
Niet-BIN2-sorteringen in indexsleutelkolommen Niet ondersteund Ondersteund
Niet-Latijnse codepagina's voor [var]char-kolommen Niet ondersteund Ondersteund
Niet-BIN2-vergelijking / sortering in native modules Niet ondersteund Ondersteund
Buitenlandse sleutels Niet ondersteund Ondersteund
Controleer/unieke beperkingen Niet ondersteund Ondersteund
Parallelisme Niet ondersteund Ondersteund
OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, BESTAAT, IN Niet ondersteund Ondersteund
Multiple Active Result Sets (MARS)
(Betekent betere Entity Framework-ondersteuning.)
Niet ondersteund Ondersteund
SSMS-tabelontwerper Niet ondersteund Ondersteund

* LOB-ondersteuning is deze zomer niet beschikbaar in de CTP-verzending.

ALTER TABLE is een offline bewerking en ondersteunt het toevoegen/verwijderen van kolommen, indexen en beperkingen. Er zullen nieuwe syntaxisextensies zijn om sommige van deze acties te ondersteunen. U kunt uw bucket count-waarden wijzigen met een eenvoudige rebuild (houd er echter rekening mee dat voor elke rebuild 2x geheugen nodig is):

ALTER TABLE dbo.InMemoryTable
  ALTER INDEX IX_NC_Hash 
  REBUILD WITH (BUCKET_COUNT = 1048576);

Naast deze capaciteits-/functieverbeteringen zijn er ook enkele aanvullende prestatieverbeteringen. Er zal bijvoorbeeld de mogelijkheid zijn om een ​​in-memory, updatebare, niet-geclusterde columnstore-index toe te voegen aan schijfgebaseerde of in-memory tabellen. En ze hebben de manier waarop verwijderde rijen worden verwerkt vereenvoudigd (in 2014 gebruiken die bewerkingen FileStream; in 2016 slaan ze deze stap over). Er zijn ook verbeteringen aangebracht aan de migratieadviseurs en de best practices-analysator - ze zijn nu lichter in het verzamelen van gegevens en bieden meer context over de complexiteit van migratie.

Er zijn nog enkele beperkingen bij sommige van deze wijzigingen. TDE vereist bijvoorbeeld extra stappen bij het upgraden van een database. Maar het is duidelijk dat naarmate In-Memory OLTP volwassener wordt, ze veel van de grootste obstakels voor adoptie wegnemen.

Maar wacht, er is meer! Als u In-Memory OLTP in Azure SQL Database wilt gebruiken, komt er deze zomer een openbare preview met volledige ondersteuning. Je hebt dus geen eigen fysieke server met 2 TB geheugen nodig om deze functie tot het uiterste te drijven. Verwacht echter niet dat deze functie naar de Standard Edition zal druppelen.


  1. EBS 12.2.5 en hoger:verkeerde uitlijning van inlogpaginaknop

  2. Automatiseer back-up- en onderhoudstaken met het onderhoudsplan in SQL Server

  3. MySQL-database maken vanuit Java

  4. Zorg ervoor dat de cursor correct is geïnitialiseerd voordat u er gegevens van opent