C'è un vantaggio in termini di prestazioni nel posizionare i file di registro delle transazioni su un'unità separata?


9

Esistono molti post di blog e articoli di best practice che esaltano le virtù del posizionamento del file di dati di SQL Server su un disco rigido e il registro delle transazioni su un altro. Il motivo indicato è che il file di database avrà letture e scritture casuali mentre il registro delle transazioni avrà solo scritture sequenziali.

E se avessi centinaia di database? C'è un vero vantaggio in termini di prestazioni nel posizionare centinaia di file di registro delle transazioni su un disco separato? Se vengono scritti più registri delle transazioni, penso che le scritture dei registri delle transazioni sarebbero casuali come le scritture del database.

Risposte:


7

Corretta. In teoria, se si dispone di centinaia di DB, è necessario disporre di 100 unità, una per ciascun registro. In pratica, anche se non ci si preoccupa di questo caso, perché quando si hanno centinaia di DB non ci si aspetta ovviamente prestazioni TPC di prim'ordine per ogni DB. Probabilmente avrai alcuni DB con throughput elevato e SLA rigorosi e potresti averli ciascuno su mandrini separati, mentre i numerosi SLA di livello inferiore si accumulano su alcuni dischi condivisi.


2

Il registro delle transazioni è esattamente questo ... un registro in esecuzione di tutte le transazioni. Come tale, si riempie continuamente in una direzione fino a quando non viene controllato e sovrascritto, oppure troncato e sovrascritto. La sovrascrittura è sequenziale.

Considera i tuoi file di dati. Un record cliente può contenere un ordine di 5 anni fa e uno di 10 anni fa. Se elimini tali ordini (ad esempio, stai archiviando i dati altrove), nel registro corrente hai l'eliminazione 1 e l'eliminazione 2, nell'ordine. Tuttavia, nei tuoi file di dati hai toccato blocchi scritti 5 e 10 anni fa.

Quindi importa di sicuro :)


2

Posizionare il registro delle transazioni su un disco separato da solo offre prestazioni migliori rispetto al metterlo insieme ad altri file di dati / registro. Se si posizionano tutti i registri sullo stesso disco, non si esegue effettivamente un IO sequenziale, ma un IO casuale tra questi file di registro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.