Zunächst einmal möchte ich mich bei Microsoft für die Erfindung des NTFS-Dateisystems bedanken. Es handelt sich tatsächlich um ein sehr robustes Dateisystem mit leistungsstarken Funktionen.
Cluster ist die grundlegendste Einheit für das Lesen und Schreiben von Festplatten-E/A (es ist die Zuordnungseinheit in NTFS).
Heute werden wir über Themen im Zusammenhang mit der NTFS-Clustergröße in der SQL Server-Datenspeicherung sprechen. NTFS verwendet standardmäßig 4-KB-Cluster, wenn Partitionen größer als 2 GB formatiert werden, was im Grunde der Clustergröße der meisten heutigen Festplatten entspricht. Die Defragmentierung kann verwendet werden, wenn der Cluster nicht größer als 4 KB ist.
Die NTFS-Clustergröße kann von 512B bis 64KB eingestellt werden. Natürlich muss sie bei der Formatierung angegeben werden, sonst kann sie nicht geändert werden. Wenn der Cluster zu klein ist, ist die Speicherplatzauslastung hoch, aber die Partitionstabelle ist groß, es gibt viele Fragmente und die Leistung ist schlecht. Wenn der Cluster zu groß ist, ist die Speicherplatzauslastung gering, aber es gibt nur wenige Fragmente. und die Leistung ist gut. Daher ist 4 KB eine häufige Wahl.
Heutige Festplatten haben eine Kapazität von mehreren hundert GB, Platz scheint also kein Problem mehr zu sein. Allerdings war Festplatten-I/O schon immer ein Leistungsengpass. Um die Lese- und Schreibgeschwindigkeit der Festplatte zu erhöhen, hat sich jeder den Kopf zerbrochen. Solange die Festplatte ausgewählt ist, scheint es auf jeden Fall unmöglich zu sein, ihr physisches Design zu ändern, und dies wird nicht empfohlen. Wir können also nur an anderen Stellen beginnen, z. B. bei der Verwendung eines RAID-Arrays, bei der häufigen Defragmentierung oder bei der Verwendung von Chips B. Datenkabel usw., wird alles verwendet, was verwendet werden kann.
Der SQL Server-Server ist eine Anwendung mit hohen E/A-Anforderungen. Die Größe jeder Seite beträgt 8 KB, was im Allgemeinen einem 64-KB-Bereich entspricht. Datendateien Sie sind alle relativ groß und in allgemeinen Produktionsumgebungen sind mehrere GB oder mehr üblich. Und im Grunde wird niemand den SQL Server-Speicher defragmentieren, sodass wir die für den SQL Server-Speicher vorgesehene Festplattenpartition in einen 64-KB-Cluster formatieren können, was die Leistung verbessern kann, ohne Speicherplatz zu verschwenden.
Gibt es Risiken? Wenn es zu einer Festplattenkatastrophe kommt, kann der Datenverlust natürlich etwas größer sein, mindestens 64 KB. Die Praxis hat jedoch gezeigt, dass diese Lösung immer noch sehr machbar ist, da die RAID-Array-Blöcke bei allgemeinen Servern ebenfalls 64 KB groß sind Es spielt keine Rolle, ob es 64 KB ist.
Sie können auch auf andere Anwendungsszenarien verweisen. Sollten Fehler auftreten, können Sie diese gerne kritisieren.
Autor dieses Artikels: gytnet
Quelle dieses Artikels: http://www.cnblogs.com/gytnet/archive/2009/12/21/1628561.htm