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.