Delayed durability

  • View
    364

  • Download
    0

Embed Size (px)

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.

Text of Delayed durability

  • 1. SQL Server 2014 Delayed Durability Davide Mauri dmauri@solidq.com

2. PILLS SPONSORS 3. Davide Mauri 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 4. Delayed Durability 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 BINon fa notizia ma una killer feature! 5. Delayed Durability D nellancronimo 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 6. Delayed Durability La persistenza viene ottenuta attraverso luso 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 7. Delayed Durability 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 8. Delayed Durability 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.. 9. Delayed Durability Lopzione per bypassare il WAL la seguente:La Delayed Transaction Durability (DTD) utilizzabile sia con Hekaton che con tabelle/transazioni classiche 10. Delayed Durability Se lopzione FORCED la DTD viene attivata su tutto il database Quindi molta attenzione Se lopzione ALLOWED possibile attivare la DTD transazione per transazione Grandissima granularit nellapplicazione della DTD! Il TEMPDB sempre stato in DTD (sin dalla versione 2000) 11. Delayed Durability DTD a livello di transazione: 12. Delayed Durability 13. Delayed Durability 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! 14. Grazie! Trovi altri video su: www.ugiss.org/sql-server-2014pills