sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2016:OLTP-forbedringer i hukommelsen

Opdatering:30. november 2015

SQL Server-teamet har udgivet et blogindlæg med nogle nye funktioner til In-Memory OLTP i CTP 3.1:

  • SQL Server 2016 Community Technology Preview 3.1 er tilgængelig

Opdatering:17. november 2015
Jos de Bruijn har offentliggjort en opdateret liste over OLTP-ændringer i hukommelsen fra CTP 3.0:

  • In-Memory OLTP – hvad er nyt i SQL2016 CTP3

Jeg skrev tidligere om ændringerne til Availability Groups i SQL Server 2016, som jeg lærte om hos MS Ignite hovedsageligt fra en session af Joey D'Antoni og Denny Cherry. En anden fantastisk session var fra Kevin Farlee og Sunil Agarwal om ændringerne i vente for In-Memory OLTP (funktionen tidligere kendt som "Hekaton"). En interessant sidebemærkning:videoen fra denne session viser en demo, hvor Kevin kører CTP2.0 (build 13.0.200) – selvom det nok ikke er den build, vi vil se offentligt til sommer.

Funktion/grænse SQL Server 2014 SQL Server 2016
Maksimal kombineret størrelse af holdbare borde 256 GB 2 TB
LOB (varbinær(maks), [n]varchar(maks)) Ikke understøttet Understøttet*
Transparent Data Encryption (TDE) Ikke understøttet Understøttet
Offline Checkpoint-tråde 1 1 pr. container
ÆNDRINGSPROCEDURE / sp_recompile Ikke understøttet Understøttet (fuldt online)
Indlejrede native procedurekald Ikke understøttet Understøttet
Native-kompilerede skalære UDF'er Ikke understøttet Understøttet
ÆNDRINGSTABEL Ikke understøttet
(DROP / re-CREATE)
Delvist understøttet
(offline – detaljer nedenfor)
DML-udløsere Ikke understøttet Delvist understøttet
(EFTER, indbygget kompileret)
Indekser på NULL-kolonner Ikke understøttet Understøttet
Ikke-BIN2-sorteringer i indeksnøglekolonner Ikke understøttet Understøttet
Ikke-latinske kodetavler til [var]char-kolonner Ikke understøttet Understøttet
Ikke-BIN2 sammenligning / sortering i indbyggede moduler Ikke understøttet Understøttet
Udenlandske nøgler Ikke understøttet Understøttet
Tjek/Unikke begrænsninger Ikke understøttet Understøttet
Parallelisme Ikke understøttet Understøttet
YDRE JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN Ikke understøttet Understøttet
Multiple Active Result Sets (MARS)
(Betyder bedre understøttelse af Entity Framework.)
Ikke understøttet Understøttet
SSMS Table Designer Ikke understøttet Understøttet

* LOB-understøttelse vil ikke være tilgængelig i CTP-forsendelsen denne sommer.

ALTER TABLE er en offline operation og vil understøtte tilføjelse/slipning af kolonner, indekser og begrænsninger. Der vil være nye syntaksudvidelser til at understøtte nogle af disse handlinger. Du kan ændre dine bucket count-værdier med en simpel genopbygning (bemærk dog, at enhver genopbygning vil kræve 2X hukommelse):

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

Ud over disse kapacitets-/funktionsforbedringer er der også nogle ekstra ydeevneforbedringer. For eksempel vil der være mulighed for at tilføje et i-hukommelsen, opdaterbart, ikke-clustered columnstore-indeks over enten disk-baserede eller in-memory-tabeller. Og de har forenklet den måde, slettede rækker behandles på (i 2014 bruger disse operationer FileStream; i 2016 vil de springe dette trin over). Der er også sket forbedringer af migrationsrådgiverne og analysatoren for bedste praksis – de er nu lettere på dataindsamling og giver mere kontekst om migrationskompleksitet.

Der er stadig nogle begrænsninger med nogle af disse ændringer. TDE, som et eksempel, kræver yderligere trin ved opgradering af en database. Men det er tydeligt, at efterhånden som In-Memory OLTP bliver mere modent, er de ved at hugge mange af de største vejspærringer for adoption.

Men vent, der er mere! Hvis du vil bruge In-Memory OLTP i Azure SQL Database, vil der være en offentlig forhåndsvisning med fuld support til sommer. Så du behøver ikke din egen fysiske server med 2 TB hukommelse for at presse denne funktion til dets grænser. Forvent dog ikke, at denne funktion kommer ind i Standard Edition.


  1. Javascript-dato til sql-datoobjekt

  2. Hvad er den mest elegante måde at gemme tidsstempel med nanosec i postgresql?

  3. Gendan en SQL Server-database (T-SQL)

  4. MySQL Insert Command vs T-SQL Query Syntaks med eksempler