SQL Server è nato in un periodo storico in cui il costo della memoria RAM era ordini di grandezza più elevato rispetto al costo dello storage, da qui la decisione iniziale di persistere sempre i dati nello storage mantenendoli in memoria solo per il tempo strettamente necessario all’elaborazione. Ora però lo scenario è cambiato, e non è difficile trovare database server con 500 MB di RAM.
La tecnologia In-Memory OLTP, introdotta con SQL Server 2014, consente di beneficiare del costante calo della memoria RAM per aumentare le prestazioni delle operazioni OLTP fino a 30 o addirittura 40 volte. Teoricamente, le prestazioni di alcune query posso migliorare di 100 volte… da qui il prende il nome il progetto (In-Memory OLTP), originariamente chiamato “Hekaton” che nella lingua greca significa Cento!
La prima implementazione di In-Memory OLTP, su SQL Server 2014, non era certo priva di limitazioni. Con SQL Server 2016, Microsoft, continua ad investire su questa tecnologia eliminando molte delle limitazioni presenti in SQL Server 2014 e migliorando gli algoritmi delle elaborazioni interne per aumentarne ulteriormente le performance.
Kalen Delaney (@sqlqueen) ha recentemente pubblicato un aggiornamento del suo Whitepaper: SQL Server 2016 CTP3 In-Memory OLTP Internals in cui descrive i miglioramenti introdotti con SQL Server 2016, sulla tecnologia In-Memory OLTP.
Sempre in merito alla tecnologia In-Memory, segnalo la sessione che Gilberto Zampatti ha tenuto al SQL Saturday Parma 2015, sessione registrata e disponibile sul canale UGISS di Vimeo:
E non finisce qui, la tecnologia In-Memory OLTP è già arrivata anche su Azure SQL DB come spiega Jos de Bruijn (@jdebruijn) nel seguente episodio della serie Data Exposed..
Buona lettura e buona visione!