Bedeutung des Installationsorts von Microsoft SQL Server

10

Ich habe einen Server mit billiger langsamer Festplatte und einer teuren schnellen Festplatte.

Ich möchte die teure Festplatte für alle Dinge verwenden, bei denen es wichtig ist, dass sie schnell ist, z. B. für meine Datenbanken.

Um Geld zu sparen, möchte ich die langsame Festplatte für alles verwenden, wo es keinen großen Unterschied macht, ob sie schnell oder langsam ist, wie zum Beispiel für Backups.

Meine Frage ist nun, ob ich meinen Microsoft SQL Server auf der langsamen oder der schnellen Festplatte installieren soll .

(Um es klar zu sagen, ich werde meine Datenbanken auf der schnellen Festplatte ablegen, egal was passiert, daher bezieht sich meine Frage nur auf den Speicherort der Installation selbst.)

Niels Brinch
quelle
3
Warum sollten Sie dies überhaupt in Betracht ziehen, da eine 120-GB-SSD mit niedrigem Schreibzugriff (a) GÜNSTIG und (b) superschnell und (c) gut genug für alle OS + -Programme ist? Ich habe vor 2 Jahren alle Betriebssysteme auf 120 GB SSD umgestellt, und die Kosten spielten damals keine Rolle. Jetzt ist es noch weniger relevant.
TomTom
Sie möchten einer SSD-Festplatte eine geschäftskritische Datenbank anvertrauen? Erinnere mich daran, niemals mit dir Geschäfte zu machen ...
Shadur
2
@ Shadur was für ein Flammenköder. Ja, ich werde es auf einer SSD-basierten RAID 10-konfigurierten Festplatte ablegen, die lokal auf 2 andere Festplatten repliziert und jede Nacht an einem Remotestandort gesichert wird. Willkommen im Jahrzehnt!
Niels Brinch
@ TomTom Sie haben natürlich Recht, aber ich bin in diesem Fall in einer ziemlich kostensensitiven Situation, deshalb beschäftige ich mich sogar mit dieser Art der Hyperoptimierung. Meine Frage wird von Jahr zu Jahr irrelevanter, wie es bei den meisten Fragen hier der Fall ist, nehme ich an.
Niels Brinch
@NielsBrinch Cent Smart und Pfund dumm. Ernsthaft.
TomTom

Antworten:

11

Dies ist eine Art Meinungsbild, aber ich würde die SQL Server-Binärdateien auf der langsamen Festplatte ablegen. Es ist durchaus üblich, die Binärdateien auf der Betriebssystemfestplatte (obwohl manche Leute das hassen) oder auf einer langsameren Festplatte abzulegen.

Sie möchten jedoch auf jeden Fall daran denken, Ihre Systemdatenbanken, insbesondere Tempdb, auf der schnelleren Festplatte abzulegen. In der Tat ist es auch üblich, Tempdb selbst zu setzen.

Dies steht im Einklang mit einem Paar von Artikel fand ich , dass könnte für Sie nützlich sein.

Es gibt auch Transaktionsprotokollsicherungen, an die man denken muss, und ich bin hin und her gerissen, weil Sie die LDFs auf der schnelleren Festplatte und Sie möchten auch Sicherungen auf einer anderen Festplatte als der, auf der sich die Datenbanken befinden, aber es wäre besser, wenn sie sich auf einer befinden würden schnellere Festplatte. Sie müssen ein Urteil fällen, aber ich würde wahrscheinlich auf die langsamere Festplatte zurückkehren und mich darüber beschweren. ;)

Katherine Villyard
quelle
Vielen Dank. Wollen Sie damit sagen, dass dies keinen Einfluss auf die Leistung hat, insbesondere nicht darauf, ob sich die SQL Server-Installation (Binärdateien usw.) auf der langsamen oder schnellen Festplatte befindet?
Niels Brinch
1
Nicht dass ich es bemerkt hätte. Und es ist eine ziemlich häufige Konfiguration.
Katherine Villyard
6
Katherine hat recht, weil die Binärdateien selbst nicht besonders an E / A gebunden sind. Im Allgemeinen verbessert das Speichern von Binärdateien auf einer schnellen Festplatte die Ladezeiten, wirkt sich jedoch selten auf die allgemeine Betriebsgeschwindigkeit aus, da der Code aus dem Speicher ausgeführt wird. Wenn Sie den Server nicht häufig neu starten, schadet es nicht wesentlich, wenn die Binärdateien langsamer gespeichert werden.
Corey
@Corey vielen Dank für die sehr genaue Erklärung. Das habe ich gesucht.
Niels Brinch
6

Ich möchte die ziemlich gute Antwort, die Katherine Villyard bereits gegeben hat, weiterverfolgen .

Dies hängt etwas von der beabsichtigten Verwendung Ihrer Datenbank ab.
Wenn Sie viele Schreibvorgänge erwarten, legen Sie Ihre .mdfund Ihre .ndfDateien auf der schnelleren Festplatte ab.

Wenn Ihre Datenbank jedoch eine ist, die im Allgemeinen recht statisch ist (z. B. Bereitstellung von Webinhalten). Und die Abfragen variieren nicht sehr. Wahrscheinlich erhalten Sie einen großen Teil der Abfragen in Ihrem Speicher oder werden sogar auf der Anwendungsseite zwischengespeichert. An diesem Punkt sind Sie besser dran , die schnellere Festplatte für Ihre Verwendung .ldf, tempdbund Backups.

Ebenso, wenn Sie eine Menge großer Abfragen, wie für eine erwartete OLAPDatenbank sind Sie besser dran , Ihre Speicherung .mdf, tempdbauf der schnelleren Festplatte. Und legen Sie das .ldfauf Ihre langsameren Festplatten, da dies nicht oft Teil des Engpasses ist.

Machen Sie sich auf keinen Fall die Mühe, die Binärdateien auf der schnellen Festplatte abzulegen. Wir legen diese im Allgemeinen auf einer langsamen Festplatte ab (nicht auf dem System, wenn dies vermieden werden kann).
Versuchen Sie auch nicht, sowohl die .ldfals auch die .mdfDateien auf der schnellen Festplatte abzurufen. Im Allgemeinen werden sie nach Möglichkeit getrennt.

Überprüfen Sie also zusammenfassend Ihre Last, um festzustellen, was Ihr wahrscheinlichster Engpass sein wird.

Reagiert
quelle
3

Sie haben Dinge rückwärts. Ich weiß, dass dies nicht intuitiv ist, aber Sie möchten die Sicherungen (insbesondere Transaktionsprotokollsicherungen) auf der schnellen Festplatte und die MDF / LDF-Dateien (mit der bemerkenswerten Ausnahme von Tempdb) auf der langsamen Festplatte.

Sie können sich vorstellen, dass SQL Server zwei Darstellungen Ihrer Daten enthält. Die MDF + LDF-Dateien stellen den aktuellen Status der Datenbank dar, während die Sicherung (einschließlich der Transaktionsprotokollsicherungen seit der letzten vollständigen Sicherung) das darstellt, was Sie benötigen, um den aktuellen Status der Datenbank im Falle eines Fehlers wiederherzustellen. Sie möchten diese beiden Darstellungen voneinander getrennt halten, damit ein Ereignis, das eine Darstellung zerstört, auch die andere Darstellung nicht beschädigt.

Es stellt sich heraus die Leistung von SQL Server neigt dazu, einen abhängen LOT mehr auf , wie schnell können Sie die Transaktionsprotokolldateien schreiben und ihre Backups über , wie schnell Sie mdf Dateien zugreifen können. Dies bedeutet, dass Sie unbedingt in Betracht ziehen müssen, Backups auf dem schnellen Laufwerk abzulegen (idealerweise würden Sie dem Server eine kleine SSD hinzufügen, die Sie für ldf-Dateien verwenden können, um ihnen Geschwindigkeit zu verleihen und gleichzeitig die Trennung von Ihren Backups beizubehalten). Leider bleibt das langsame Laufwerk für Ihre MDF-Dateien, aber noch einmal: Es ist nicht so wichtig, wie Sie denken.

Es ist erwähnenswert, dass oben davon ausgegangen wird, dass Sie über ausreichend RAM verfügen, dass Sie typischen Workloads folgen und dass Sie den vollständigen Wiederherstellungsmodus anstelle von einfach verwenden möchten. Zusätzlich kann der Betrieb des Systems und installierten SQL - Server - Programm selbst kann auf der langsamen Fahrt gebracht, obwohl natürlich Sie wahrscheinlich so viel wollen , wie Sie Speicherplatz für bis live auf der schnellen Fahrt.

Joel Coel
quelle
Mit Backups meine ich Dateien, die nicht verwendet, sondern einfach gespeichert werden. Ich würde sowohl MDF- als auch LDF-Dateien auf die schnelle Festplatte legen. Es ist eine Neuigkeit für mich, dass mdf in Ordnung ist, auf die langsame Festplatte zu legen, das war eine interessante und unerwartete Information.
Niels Brinch
1
Sie möchten nicht, dass sich die MDF auf derselben Festplatte befindet wie die Sicherungen / Protokolle. MDF repräsentiert den aktuellen Status der Datenbank. Backup + LDF stellen dar, was Sie benötigen, um die Datenbank auf den aktuellen Status zurückzusetzen. Sie möchten, dass die beiden Darstellungen voneinander getrennt werden, damit ein Ereignis, das eine zerstört, nicht auch die andere beschädigt. Und da sich die Protokolle und Sicherungen auf der schnellen Festplatte befinden sollten (die Leistung hängt viel mehr davon ab, wie schnell Sie in die ldf-Datei schreiben können, als davon, wie schnell Sie in die mdf-Datei schreiben können), bedeutet dies, dass mdf auf die langsame Festplatte gehen sollte.
Joel Coel
Ich werde den größten Teil des obigen Kommentars in der Antwort bearbeiten.
Joel Coel
1
Ich bin mir nicht sicher, warum Sie das über das sagen .ldfund .mdfim Katastrophenfall getrennt werden müssen ... Es wird im Allgemeinen nicht davon ausgegangen, dass Sie eines für die Notfallwiederherstellung verwenden, dafür sind Backups gedacht. Wenn Sie nicht so nahe wie möglich an Datenverlust von 0 sind, erhalten Sie extrem häufige Protokollsicherungen. Sie verlassen sich nicht auf die Protokolldatei selbst.
Reagiert
@Reaces Du hast recht. Ich hatte einen Hirnfurz und schrieb LDF-Dateien mit meinen Fingern, während ich über TRN-Backups in meinem Kopf nachdachte. Die allgemeinen Gedanken gelten, aber ich muss sie erheblich überarbeiten, um dies zu klären (ich arbeite jetzt daran).
Joel Coel