Importanza della posizione di installazione di Microsoft SQL Server


10

Ho un server con disco lento economico e un disco veloce costoso.

Voglio usare il disco costoso per tutte le cose in cui è importante che sia veloce, come i miei database.

Per risparmiare denaro, voglio usare il disco lento per tutto ciò che non fa molta differenza se è veloce o lento, come i backup.

Ora, la mia domanda è: devo installare il mio Microsoft SQL Server sul disco lento o veloce?

(Per essere chiari, posizionerò i miei database sul disco veloce in ogni caso, quindi la mia domanda riguarda solo la posizione dell'installazione stessa)


3
Perché dovresti anche considerare questo dato che un basso ssd di scrittura da 120 GB è (a) ECONOMICO e (b) super veloce e (c) abbastanza buono per tutto ciò che riguarda i programmi OS +? Ho spostato tutti i sistemi operativi a 120 GB SSD 2 anni fa e il costo non contava davvero - a quel tempo. Ora è ancora meno rilevante.
TomTom,

Volete fidarvi di un database mission-critical su un disco SSD? Ricordami di non fare mai affari con te ...
Shadur,

2
@Shadur che esca di fiamma. Sì, lo posizionerò su un disco configurato RAID 10 basato su SSD, replicato localmente su altri 2 dischi e sottoposto a backup di notte in una posizione remota. Benvenuti nel decennio!
Niels Brinch,

@TomTom, naturalmente, hai ragione, ma in questo caso mi trovo in una situazione piuttosto sensibile ai costi, quindi è per questo che mi preoccupo anche di questo tipo di iper ottimizzazione. La mia domanda diventerà sempre più irrilevante man mano che passa ogni anno, come suppongo nella maggior parte delle domande qui.
Niels Brinch,

@NielsBrinch Cent Smart e Pound Foolish. Sul serio.
TomTom,

Risposte:


11

Questo è un tipo di opinione, ma vorrei mettere i binari di SQL Server sul disco lento. È abbastanza comune mettere i binari sul disco del sistema operativo (anche se alcune persone lo odiano) o su un disco più lento.

Tuttavia, ti consigliamo di ricordare di mettere i database di sistema, in particolare tempdb, sul disco più veloce, tuttavia. In effetti, è anche comune mettere tempdb da solo.

Questo è in linea con un paio di articoli che ho trovato che potrebbero esserti utili.

Ci sono anche i backup del registro delle transazioni da pensare, e sono lacerato su questo perché vuoi i LDF sul disco più veloce e vuoi anche i backup su un disco diverso da dove vivono i database, ma sarebbe meglio se fossero su un disco più veloce. Dovrai effettuare una chiamata di giudizio, ma probabilmente farei un backup sul disco più lento e mi lamento. ;)


Grazie. Stai dicendo che non influisce sulle prestazioni, in particolare se l'installazione del server sql (binari ecc.) Si trova sul disco lento o veloce?
Niels Brinch,

1
Non che ho notato. Ed è una configurazione abbastanza comune.
Katherine Villyard,

6
Katherine ha ragione, perché i binari stessi non sono particolarmente legati all'IO. In generale, l'inserimento di file binari su un disco veloce migliorerà i tempi di caricamento, ma raramente influisce sulla velocità operativa generale poiché il codice viene eseguito dalla memoria. A meno che non si riavvii frequentemente il server, non sarà male avere i binari su una memoria più lenta.
Corey,

@Corey grazie mille per la spiegazione molto puntuale. Questo è quello che stavo cercando.
Niels Brinch,

6

Vorrei dare un seguito alla risposta abbastanza buona che Katherine Villyard ha già fornito .

Dipende in qualche modo dall'uso previsto del database.
Se ti aspetti molte operazioni di scrittura, vai avanti e metti i tuoi .mdfe i .ndffile sul disco più veloce.

Se, tuttavia, il tuo database è in genere abbastanza statico (ad esempio, serve contenuti web). E le query non variano molto, è probabile che otterrai una grande quantità di query in memoria o addirittura memorizzate nella cache sul lato dell'applicazione. A quel punto si è meglio utilizzare il disco più veloce per i vostri .ldf, tempdbe backup.

Allo stesso modo, se ti aspetti molte query di grandi dimensioni, ad esempio per un OLAPdatabase, è meglio archiviare il tuo .mdf, tempdbsul disco più veloce. E inserendo i .ldfdischi più lenti in quanto spesso non faranno parte del collo di bottiglia.

In ogni caso, non preoccuparti di mettere i binari sul disco veloce, generalmente li mettiamo su un disco lento (non sul sistema se può essere evitato).
Inoltre, non ottenere appeso sul tentativo di ottenere sia l' .ldfe .mdffile sul disco veloce, in genere stanno separati, quando possibile.

Quindi, in sintesi, rivedi il tuo carico per vedere quale sarà il tuo collo di bottiglia più probabile.


3

Hai cose al contrario. So che è contro-intuitivo, ma vuoi i backup (specialmente inclusi i backup del registro delle transazioni) sul disco veloce, e i file mdf / ldf (con la notevole eccezione di tempdb) sul disco lento.

Puoi pensarlo come se Sql Server conservasse due rappresentazioni dei tuoi dati. I file MDF + LDF rappresentano lo stato corrente del database, mentre il backup (inclusi i backup del registro delle transazioni dall'ultimo backup completo) rappresenta ciò che è necessario per ripristinare lo stato corrente del database in caso di errore. Vuoi mantenere queste due rappresentazioni separate l'una dall'altra, quindi un evento che distrugge una rappresentazione non danneggerà anche l'altra rappresentazione.

Si scopre che le prestazioni del server SQL tendono a dipendere MOLTO di più dalla velocità con cui è possibile scrivere i file di registro delle transazioni e dai loro backup dalla velocità con cui è possibile accedere ai file mdf. Ciò significa che è necessario prendere in considerazione l'idea di mettere i backup sull'unità veloce (idealmente si dovrebbe aggiungere un piccolo SSD al server che è possibile utilizzare per i file ldf, per dare loro velocità pur mantenendo la separazione dai backup). Sfortunatamente, questo lascia il disco lento per i tuoi file MDF, ma ancora: non importa quanto pensi.

Vale la pena notare che quanto sopra presuppone che si disponga di RAM sufficiente, che si seguano carichi di lavoro tipici e che si preveda di utilizzare la modalità di ripristino completo, anziché semplice. Inoltre, il funzionamento del sistema e il programma Sql Server stesso possono essere collocati sull'unità lenta, anche se ovviamente si desidera probabilmente quanto spazio per vivere sull'unità veloce.


Per backup intendo i file che non sono in uso, ma semplicemente memorizzati. Vorrei mettere sia i file mdf che ldf sul disco veloce. È una novità per me che mdf sia OK da mettere sul disco lento, è stata un'informazione interessante e inaspettata.
Niels Brinch,

1
Non si desidera il mdf sullo stesso disco dei backup / registri. MDF rappresenta lo stato corrente del database. Backup + LDF rappresentano ciò che è necessario per ripristinare il database allo stato corrente. Volete che le due rappresentazioni siano separate l'una dall'altra, quindi un evento che distrugge l'una non danneggerà anche l'altra. E poiché i registri e i backup dovrebbero essere sul disco veloce (le prestazioni dipendono molto più dalla velocità con cui è possibile scrivere nel file ldf rispetto alla velocità con cui è possibile scrivere nel file mdf), ciò significa che il mdf dovrebbe passare al disco lento.
Joel Coel,

Ho intenzione di modificare la maggior parte del commento sopra nella risposta.
Joel Coel,

1
Io non sono sicuro perché stai dicendo che circa il .ldfe .mdfla necessità di essere separati in caso di disastro ... non è generalmente accettato che verrà utilizzato uno dei due per il disaster recovery, questo è ciò che i backup sono per. Se non si ottiene la perdita di dati il ​​più vicino possibile ai backup dei registri estremamente frequenti, non si fa affidamento sul file di registro stesso.
Reagisce il

@Reaces Hai ragione. Avevo una scoreggia cerebrale e stavo scrivendo i file LDF con le dita mentre pensavo ai backup TRN nella mia testa. I pensieri generali valgono, ma dovrò rivedere in modo significativo per chiarire questo (lavorando su di esso ora).
Joel Coel,
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.