Aggiornamento:30 novembre 2015
Il team di SQL Server ha pubblicato un post sul blog con alcune nuove funzionalità per In-Memory OLTP in CTP 3.1:
- È disponibile SQL Server 2016 Community Technology Preview 3.1
Aggiornamento:17 novembre 2015
Jos de Bruijn ha pubblicato un elenco aggiornato delle modifiche OLTP in memoria a partire da CTP 3.0:
- OLTP in memoria:le novità di SQL2016 CTP3
Ho pubblicato in precedenza le modifiche ai gruppi di disponibilità in SQL Server 2016, che ho appreso in MS Ignite in gran parte da una sessione di Joey D'Antoni e Denny Cherry. Un'altra grande sessione è stata di Kevin Farlee e Sunil Agarwal sui cambiamenti in serbo per In-Memory OLTP (il film precedentemente noto come "Hekaton"). Una nota a margine interessante:il video di questa sessione mostra una demo in cui Kevin esegue CTP2.0 (build 13.0.200), anche se probabilmente non è la build che vedremo pubblicamente quest'estate.
Caratteristiche/Limiti | SQL Server 2014 | SQL Server 2016 |
---|---|---|
Dimensione massima combinata di tavoli durevoli | 256 GB | 2 TB |
LOB (varbinary(max), [n]varchar(max)) | Non supportato | Supportato* |
Crittografia dati trasparenti (TDE) | Non supportato | Supportato |
Thread di checkpoint offline | 1 | 1 per contenitore |
ALTER PROCEDURE / sp_recompile | Non supportato | Supportato (completamente online) |
Chiamate di procedure native nidificate | Non supportato | Supportato |
UDF scalari compilati in modo nativo | Non supportato | Supportato |
ALTER TABELLA | Non supportato (DROP / re-CREATE) | Parzialmente supportato (offline – dettagli sotto) |
Attivatori DML | Non supportato | Parzialmente supportato (DOPO, compilato in modo nativo) |
Indici su colonne NULLable | Non supportato | Supportato |
Confrontazioni non BIN2 nelle colonne della chiave dell'indice | Non supportato | Supportato |
Codici codici non latini per [var]colonne char | Non supportato | Supportato |
Confronto/ordinamento non BIN2 nei moduli nativi | Non supportato | Supportato |
Chiavi estere | Non supportato | Supportato |
Controllo/Vincoli univoci | Non supportato | Supportato |
Parallelismo | Non supportato | Supportato |
OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN | Non supportato | Supportato |
Multiple Active Result Sets (MARS) (Significa un migliore supporto per Entity Framework.) | Non supportato | Supportato |
Progettazione tabelle SSMS | Non supportato | Supportato |
* Il supporto LOB non sarà disponibile nella spedizione CTP quest'estate.
ALTER TABLE
è un'operazione offline e supporterà l'aggiunta/rimozione di colonne, indici e vincoli. Ci saranno nuove estensioni della sintassi per supportare alcune di queste azioni. Puoi modificare i valori del numero di bucket con una semplice ricostruzione (tuttavia, tieni presente che qualsiasi ricostruzione richiederà 2 volte la memoria):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
Oltre a questi miglioramenti di capacità/funzionalità, ci sono anche alcuni miglioramenti delle prestazioni aggiuntivi. Ad esempio, sarà possibile aggiungere un indice columnstore in memoria, aggiornabile e non in cluster su tabelle basate su disco o in memoria. E hanno semplificato il modo in cui vengono elaborate le righe eliminate (nel 2014 tali operazioni utilizzano FileStream; nel 2016 salteranno questo passaggio). Sono stati inoltre apportati miglioramenti ai consulenti per la migrazione e all'analizzatore delle migliori pratiche:ora sono più leggeri nella raccolta dei dati e forniscono più contesto sulla complessità della migrazione.
Ci sono ancora alcune limitazioni con alcune di queste modifiche. TDE, ad esempio, richiede passaggi aggiuntivi durante l'aggiornamento di un database. Ma è chiaro che man mano che In-Memory OLTP diventa più maturo, stanno eliminando molti dei maggiori ostacoli all'adozione.
Ma aspetta, c'è di più! Se vuoi usare OLTP in memoria nel database SQL di Azure, quest'estate sarà disponibile un'anteprima pubblica con supporto completo. Quindi non avrai bisogno del tuo server fisico con 2 TB di memoria per spingere questa funzionalità al limite. Tuttavia, non aspettarti alcun passaggio di questa funzione nella Standard Edition.