RDBS: database bestanden

Status
Niet open voor verdere reacties.

NoellaG

Terugkerende gebruiker
Lid geworden
10 apr 2019
Berichten
1.267
Database bestanden
Een SQL database bestaat uit 2 of meer bestanden: één of meerdere data bestanden en één log bestand. De data bestanden bevatten de gegevens en indexen, het log bestand registreert elke transactie of aanpassing in de gegevens. Zodoende kunnen bij een onvoorziene gebeurtenis alle aanpassingen tot het laatste stabiele punt worden teruggedraaid.
Data bestanden
Bij creatie van de database creëer je minstens één, leeg database bestand. Het is de bedoeling dat de gegevens met zo weinig mogelijk fragmentatie hierin worden weggeschreven. Zorg ervoor dat je data bestand dus groot genoeg is om alle gegevens die je hebt te bevatten + voldoende lege ruimte om nog een tijd te kunnen groeien. Eens het databestand vol is, zal SQL server automatisch een extensie nemen. Het is de bedoeling dat de eventuele groei gestructureerd en gecontroleerd gebeurt en een autogrowth zo weinig mogelijk voorkomt. De grootte van de groei extensie bepaal je wanneer de database aangemaakt . Gebruik steeds een vaste groei in MB en geen percentage . Zo voorkom je dat de groei bestanden steeds groter worden en eventueel de harde schijf gaan volschrijven.

Log bestand
Het gebruik van het log bestand hangt af van het backup/recovery model dat gebruikt wordt.
1. Simple recovery model: alle afgesloten transacties worden onmiddellijk uit het log bestand verwijderd. Het log bestand wordt alleen gebruikt om open transacties eventueel via een rollback commando te kunnen terugdraaien.
Voordeel: het logbestand wordt voortdurend opgekuist en kan niet ongebreideld groeien.
Nadeel: In dit model kan men in een noodsituatie alleen de laatste volledige (full backup) gebruiken om de database te herstellen.
2. Full recovery model: alle transacties en acties worden bewaard tot een log-backup wordt gemaakt. In dit systeem maakt men bijvoorbeeld elke dag een full backup van de database en elk uur of kwartier een backup van het logbestand.
Voordeel: in een noodsituatie kan men eerst de laatste full backup herstellen en dan alle log backups terugzetten zodat men maximum een uur of kwartier werk kwijt speelt.
Nadeel: indien men geen aparte log backups neemt, dan blijft de log file groeien tot deze de hele schijf in beslag neemt en het systeem vastloopt.
3. Bulk-Logged recovery systeem: dit werkt als een full recovery systeem, maar schrijft geen bulk-operaties zoals de creatie van een index of een bulk insert van een grote hoeveelheid gegevens weg naar de log file.
Voordeel: de log file groeit niet zo snel. Nadeel: bulk operaties kunnen niet meer teruggezet worden via een log restore operatie. Het log bestand blijft wel groeien door de gewone transacties. Dus het regelmatig nemen van log backups blijft nodig.

Indien mogelijk kan men best de data – en logbestanden op een aparte schijf plaatsen. Zo kan de database engine tegelijk in het data bestand en de log file schrijven en is de structuur overzichtelijker.
 

Bijlagen

  • SQL_RecoveryModel.jpg
    SQL_RecoveryModel.jpg
    116,4 KB · Weergaven: 32
één of meerdere data bestanden en één log bestand.
Bij Oracle wordt vooraf in het Rollback segment weggeschreven en achteraf in het Redo buffer. De namen spreken voor zich ;)
Het is wel zo dat Oracle z'n "eigen OS" op het OS van het platform legt.
 
De RDBS info is specifiek voor SQL server. Deze is op maat van Windows/Azure servers geschreven. Zelf ben ik van Oracle op SQL server overgestapt omdat meer en meer firma's dat ook deden, vooral voor het kostenplaatje. Thx voor de extra info die het plaatje vervolledigt. Als iemand extra info heeft betreffende de andere database systemen, bedankt bij voorbaat.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan