delayed durability
DESCRIPTION
"Delayed Durability", una vera e propria killer feature che però ha finora trovato poco spazio sui vari media e social network, e che quindi è bene scoprire.TRANSCRIPT
SQL Server 2014Delayed DurabilityDavide [email protected]
12/04/2023
USER GROUP ITALIANO SQL SERVER 2
PILLS SPONSORS
12/04/2023
USER GROUP ITALIANO SQL SERVER 3
18 Years of experience on the SQL Server Platform Specialized in Data Solution Architecture, Database
Design, Performance Tuning, Business Intelligence Projects, Consulting, Mentoring & Training Regular Speaker @ SQL Server events Microsoft SQL Server MVP President of UGISS (Italian SQL Server UG) Mentor @ SolidQ
Davide Mauri
12/04/2023
USER GROUP ITALIANO SQL SERVER 4
E’ una delle più importanti novità di SQL Server 2014
Ottimale per tabelle «di appoggio» Quindi in particolare per le fasi ETL di una
soluzione di BI
Non fa «notizia» ma è una killer feature!
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 5
«D» nell’ancronimo ACID Atomicity (atomicità) Consistency (consistenza) Isolation (isolamento) Durability (persistenza)
Proprietà di una Transazione, per assicurare la correttezza logica e fisica della stessa http://en.wikipedia.org/wiki/ACID
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 6
La persistenza viene ottenuta attraverso l’uso del Transaction Log
Le transazione seguono il pattern Write-Ahead Logging (WAL) Ossia, prima le transazioni vengono scritte nel t-
log E solo successivamente vengono scritte nei data
file
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 7
Il WAL è una garanzia ed una sicurezza.
Ma anche un evidente collo di bottiglia, dato che tutto deve passare da li Anche il log sta in memoria, ma al commit deve
essere scritto su disco, prima di poter terminare la transazione.
Si parla quindi di «synchronous commit»
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 8
Con SQL Server 2014 il WAL può essere bypassato! «Asynchronous Commit»
La transazione può essere terminata senza avere la conferma che il buffer log sia stato scritto sul disco Notevole incremento del throughput! Attenzione che si possono perdere i dati! E mai più recuperarli…..
Delayed Durability
12/04/2023 9
L’opzione per bypassare il WAL è la seguente:
La Delayed Transaction Durability (DTD) è utilizzabile sia con Hekaton che con tabelle/transazioni «classiche»
USER GROUP ITALIANO SQL SERVER
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 10
Se l’opzione è «FORCED» la DTD viene attivata su tutto il database Quindi molta attenzione…
Se l’opzione è «ALLOWED» è possibile attivare la DTD transazione per transazione Grandissima granularità nell’applicazione della DTD!
Il TEMPDB è sempre stato in DTD (sin dalla versione 2000)
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 11
DTD a livello di transazione:
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 12Delayed Durability
Click icon to add picture
Demo
12/04/2023
USER GROUP ITALIANO SQL SERVER 13
In conclusione…
Utilizzare DTD dove serve per migliorare notevolmente le performance di scrittura Ricordate comunque che le operazione BULK sono
sempre le più veloci
Attenzione ad usarlo con cautela per evitare di perdere dati non «committati»!
Delayed Durability
12/04/2023
USER GROUP ITALIANO SQL SERVER 14
Grazie!Trovi altri video su:www.ugiss.org/sql-server-2014-pills