Download pptx - Delayed durability

Transcript
Page 1: Delayed durability

SQL Server 2014Delayed DurabilityDavide [email protected]

Page 2: Delayed durability

12/04/2023

USER GROUP ITALIANO SQL SERVER 2

PILLS SPONSORS

Page 3: Delayed durability

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

Page 4: Delayed durability

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

Page 5: 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

Page 6: 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

Page 7: 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

Page 8: 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

Page 9: 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

Page 10: 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

Page 11: Delayed durability

12/04/2023

USER GROUP ITALIANO SQL SERVER 11

DTD a livello di transazione:

Delayed Durability

Page 12: Delayed durability

12/04/2023

USER GROUP ITALIANO SQL SERVER 12Delayed Durability

Click icon to add picture

Demo

Page 13: Delayed durability

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

Page 14: Delayed durability

12/04/2023

USER GROUP ITALIANO SQL SERVER 14

Grazie!Trovi altri video su:www.ugiss.org/sql-server-2014-pills


Recommended