In SQL Server is een bestandsgroep een logische groepering van een of meer gegevensbestanden (`.mdf`-bestanden) en/of logbestanden (`.ldf`-bestanden). Ze zijn gewend om:
* Verbeter de prestaties: Door gegevens over meerdere bestandsgroepen op verschillende fysieke schijven te distribueren, kunt u de I/O-prestaties verbeteren. Dit is vooral belangrijk voor grote databases met hoge transactiepercentages. Parallellisme is mogelijk bij het lezen/schrijven naar verschillende bestandsgroepen.
* Opslag beheren: Bestandsgroepen zorgen voor meer gedetailleerde controle over waar gegevens worden opgeslagen. U kunt specifieke bestandsgroepen toewijzen aan verschillende soorten gegevens (bijvoorbeeld één voor transactiegegevens en een andere voor archiefgegevens) en deze op verschillende schijven plaatsen op basis van de snelheid en opslagcapaciteitsbehoeften.
* Databaseonderhoud en -herstel: Bestandsgroepen kunnen databaseonderhouds- en hersteltaken vereenvoudigen. U kunt bijvoorbeeld een back-up maken van afzonderlijke bestandsgroepen in plaats van van de hele database. Bovendien hoeven tijdens het herstel alleen de getroffen bestandsgroepen te worden hersteld.
* Gegevenspartitionering: Bestandsgroepen zijn essentieel voor het partitioneren van grote tabellen over meerdere bestanden voor betere prestaties en beheerbaarheid. Elke partitie kan zich in een afzonderlijke bestandsgroep bevinden.
* Schijfruimtebeheer: Door ruimte toe te wijzen aan verschillende bestandsgroepen op verschillende schijven kunt u de toewijzing van schijfruimte beter beheren. Dit kan met name belangrijk zijn in geclusterde omgevingen of bij opslagbeperkingen op specifieke schijven.
Belangrijkste verschillen met bestanden:
Hoewel bestandsgroepen bestanden bevatten, zijn ze logisch verschillend. Bestanden zijn fysieke entiteiten, terwijl bestandsgroepen logische containers zijn. U kunt bestanden *binnen* bestandsgroepen beheren, maar u manipuleert en beheert bestandsgroepen als een eenheid.
Voorbeeld:
Stel je een database voor die is ontworpen voor e-commerce. Je zou het volgende kunnen creëren:
* `PRIMARY` bestandsgroep: Dit is een vereiste bestandsgroep en bevat doorgaans systeemtabellen en cruciale databasemetagegevens.
* `Producten` bestandsgroep: Slaat gegevens op met betrekking tot productinformatie op een snelle SSD.
* `Bestellingen` bestandsgroep: Slaat bestelgegevens op, misschien op een snellere SSD dan de onderstaande bestandsgroep 'Klanten'.
* `Klanten` bestandsgroep: Slaat klantgegevens op, die zich op een goedkopere HDD bevinden.
Met deze opstelling kunt u de prestaties en opslagkosten optimaliseren door veelgebruikte gegevens op snellere opslag te plaatsen en minder vaak gebruikte gegevens op goedkopere opslag. Dit is een aanzienlijk voordeel vergeleken met het hebben van alle gegevens in de standaard `PRIMARY` bestandsgroep. |