Bedrijf, Vraag de expert
Belangrijkste functies van het DBMS
Moderne database management systemen worden gebruikt op veel objecten, maar niet iedereen weet wat ze zijn en hoe de functies van het DBMS kunnen worden gebruikt. Dergelijke tools worden onderscheiden door een groot aantal functies, zodat u ze volledig kunt gebruiken, moet u begrijpen wat ze kunnen doen en wat nuttig is voor de gebruiker.
Gegevensbeheer
Allereerst omvat de functie van het DBMS de verwerking van informatie in extern geheugen en deze functie is de levering van de basisstructuren van de VI, die niet alleen nodig zijn voor het opslaan van informatie die direct in de database is opgeslagen, maar ook voor het uitvoeren van diverse taken, zoals het versnellen van Toegang tot bestanden in verschillende gevallen. Bij bepaalde wijzigingen worden de mogelijkheden van verschillende bestandssystemen actief gebruikt, terwijl anderen werk mogelijk maken op het niveau van externe geheugenapparaten. Maar in dit geval is het opmerkelijk dat in de functie van DBMS een hoge mate van ontwikkeling heeft, de gebruiker in ieder geval niet op de hoogte wordt gesteld of er een systeem is gebruikt en zo ja hoe de bestanden zijn georganiseerd. In het bijzonder behoudt het systeem zijn eigen volgorde om objecten in de database te vermelden.
Het beheren van de buffers van RAM
In de meeste gevallen worden DBMS-functies gebruikt in vrij grote databases, en deze grootte is in ieder geval veel meer dan het beschikbare RAM. Natuurlijk, als het gaat om toegang tot elk data-element, wordt het uitgewisseld met extern geheugen, de snelheid van deze laatste zal overeenkomen met de snelheid van het systeem zelf, dus praktisch is de enige optie voor zijn echte toename de buffering van informatie in RAM. In dit geval, zelfs als het besturingssysteem de gehele buffer uitvoert, bijvoorbeeld bij UNIX, is dit niet voldoende om de DBMS te voorzien van de doel- en basisfuncties, omdat het veel meer gegevens bevat over de nuttige eigenschappen van het bufferen van elk specifiek deel van de gebruikte database. Hierdoor ondersteunen de ontwikkelde systemen hun eigen set buffers, evenals de unieke discipline van hun vervanging.
Het is opmerkelijk dat er een aparte richting van controlesystemen is, gericht op de continue aanwezigheid in het RAM van de gehele database. Deze richting is gebaseerd op de veronderstelling dat de hoeveelheid RAM van computers in de nabije toekomst zo veel kan worden uitgebreid dat de buffering niet meer van belang is en dat de belangrijkste functies van dit type DBMS hier handig zullen zijn. Op dit moment blijven al deze werken in het testfase.
Transactiebeheer
Transactie is een reeks operaties met de gebruikte database, die het management systeem als geheel beschouwt. Als de transactie volledig succesvol is uitgevoerd, wordt het door de systeem opgeslagen wijzigingen in het externe geheugen opgeslagen of wordt geen van de aangegeven wijzigingen weergegeven in de toestand van de database. Deze operatie is nodig om de logische integriteit van de gebruikte database te ondersteunen. Opgemerkt moet worden dat het handhaven van de juiste gang van het transactiemechanisme een voorwaarde is, zelfs bij het gebruik van enkele gebruikersdatabases, waarvan het doel en de functies aanzienlijk verschillen van andere typen systemen.
Het eigendom dat een transactie alleen begint met een volledige database, en het na het einde van de procedure nog steeds in dezelfde staat achterlaat, maakt het gebruik ervan zeer handig als een activiteiteneenheid met betrekking tot de database. Met een goed beheer van tegelijkertijd uitgevoerde transacties van het beheersysteem kan elke individuele gebruiker in principe een deel van het geheel voelen. Dit is echter een geoptimaliseerde weergave tot op zekere hoogte, omdat mensen in veel situaties nog steeds de aanwezigheid van hun collega's voelen als ze een multibruikersysteem gebruiken, maar ook voor het concept van een DBMS. De functies van een DBMS met meerdere gebruikers hebben ook betrekking op het beheer van transacties zoals concepten als een seriële uitvoeringsplan en serialisatie.
Wat bedoelen ze?
Serialisatie van gelijktijdige transacties omvat het opstellen van een speciaal plan voor hun werking, waarbij het totale effect van het mengsel gelijk is aan het verkregen resultaat vanwege hun consistente uitvoering.
Een seriële uitvoeringsplan is een gedefinieerde structuur van acties die tot serialisatie leiden. Natuurlijk, als het systeem een echt serieele uitvoering van een mix van transacties kan leveren, dan kan voor elke gebruiker die een transactie genereren, de aanwezigheid van anderen onzichtbaar zijn, behalve dat het een beetje langzamer dan een enkele gebruiker modus zal werken.
Er zijn verschillende basisalgoritmen voor serialisatie. In gecentraliseerde systemen zijn de meest populaire algoritmen vandaag gebaseerd op synchronisatie-opnamen van verschillende databaseobjecten. In het geval van het gebruik van serialisatie algoritmen, is het mogelijk om conflicten te creëren tussen twee of meer transacties op toegang tot bepaalde objecten van de database. In een dergelijke situatie, om deze procedure te ondersteunen, moet u terugrollen, dat wil zeggen dat wijzigingen in de database door een of meer processen worden verwijderd. Dit is slechts een van de situaties waarin een persoon in een multi-user systeem de aanwezigheid van anderen voelt.
logging
Een van de belangrijkste eisen voor moderne systemen is om de betrouwbaarheid van de opslag van informatie in extern geheugen te waarborgen. Dit bepaalt in het bijzonder dat de hoofdfuncties van het DBMS de mogelijkheid omvatten om de laatst overeengekomen toestand van de database te herstellen na het optreden van software of hardwarefouten. In de meeste gevallen is het gebruikelijk om twee versies van hardwarefouten te overwegen:
- Zacht, dat kan worden geïnterpreteerd als een onverwachte stop van de computer (het meest voorkomende geval is een stroomuitval);
- Hard, die gekenmerkt worden door een gedeeltelijk of volledig verlies van gegevens opgeslagen op externe opslagmedia.
Als voorbeelden van softwarefouten kan u ervoor zorgen dat het systeem crasht wanneer u een functie probeert te gebruiken die niet tot de hoofdfuncties van het DBMS behoort of de noodafsluiting van een gebruikersprogramma, waardoor een bepaalde transactie niet is voltooid. De eerste situatie kan worden beschouwd als een speciaal soort mild mislukking, maar wanneer deze laatste optreedt, moet u de gevolgen van een enkele transactie elimineren.
Natuurlijk, in ieder geval, voor een normale database recovery, moet u een zekere hoeveelheid extra informatie hebben. Met andere woorden, om de betrouwbaarheid van de gegevensopslag in een database te behouden, is het nodig om redundantie van informatieopslag te voorzien, en het gedeelte van de gegevens die gebruikt worden voor herstel moet zorgvuldig bewaakt worden. De meest voorkomende methode voor het handhaven van dergelijke overbodige gegevens is het bijhouden van een wijzigingslogboek.
Wat is het en hoe wordt het gebruikt?
Het logboek is een speciaal onderdeel van de database, waarvan de toegang niet in het aantal functies van het DBMS is opgenomen, en het wordt met name zorgvuldig gehandhaafd. In sommige situaties is zelfs ondersteuning voor twee exemplaren van het tijdschrift, dat op verschillende fysieke media staat. Deze winkels ontvangen informatie over veranderingen die zich voordoen in het hoofddeel van de database, en in verschillende beheersystemen kunnen de wijzigingen op verschillende niveaus worden gelogd. In sommige gevallen is de logboekinvoer volledig in overeenstemming met een bepaalde logische veranderingsoperatie, ergens - een minimale interne operatie in verband met de wijziging van de externe geheugenpagina, terwijl sommige DBMS's een combinatie van de twee benaderingen gebruiken.
In ieder geval wordt de zogenaamde 'pre-emptie strategie' gebruikt in het tijdschrift. Bij gebruik wordt een record dat de wijziging van een database object aanduidt in het externe loggeheugen voordat het object wordt gewijzigd. Het is bekend dat als de functies van de Access DB zorgen voor de normale naleving van dit protocol, lost het log eventuele problemen met betrekking tot de herstel van de database in geval van storingen.
terugslag
De meest eenvoudige herstel situatie is een individuele transactie rollback. Voor deze procedure hoeft u geen wijzigingslogboek voor het gehele systeem te gebruiken, en het is voldoende om een lokaal wijzigingslogboek voor elke transactie te gebruiken en transacties terug te draaien door backtracks uit te voeren, vanaf het einde van elk record. De structuur van de functie van het DBMS omvat vaak het gebruik van deze structuur, maar in de meeste gevallen worden lokale logboeken niet ondersteund, en individuele terugzendingen worden systematisch uitgevoerd voor individuele transacties. Voor dit doel worden alle records van elke transactie gecombineerd in een omgekeerde lijst.
In het geval van een lichte fout kan het externe databasegeheugen diverse objecten bevatten die zijn gewijzigd door transacties die niet zijn voltooid tegen het moment dat de storing zich heeft voorgedaan. Er kunnen geen verschillende objecten worden opgewaardeerd die succesvol zijn voltooid voordat u de RAM buffers gebruikt, de inhoud Dat verdwijnt helemaal als er soortgelijke problemen zijn. Als het protocol dat lokale logboeken gebruikt, gevolgd wordt, worden er altijd records opgenomen in het externe geheugen dat betrekking heeft op de wijziging van dergelijke objecten.
Het hoofddoel van de herstelprocedure na het optreden van lichte fouten is de toestand van het externe geheugen van de hoofddatabase die zou optreden als er in de VI een voltooide transactie was vastgesteld en geen sporen van onvoltooide procedures bevatten. Om dit effect te bereiken, zijn de belangrijkste functies van het DBMS in dit geval de terugrol van onvoltooide transacties en de herhaling van die operaties waarvan de resultaten uiteindelijk niet in extern geheugen worden weergegeven. Dit proces behelst een vrij groot aantal subtiliteiten, die vooral verband houden met het beheer van het tijdschrift en buffers.
Harde crashes
Als u de database moet herstellen na een ernstige storing, wordt niet alleen het logboek gebruikt, maar ook een archiefkopie van de database. De laatste is een compleet exemplaar van de database tegen het moment dat het tijdschrift begon te worden ingevuld. Natuurlijk, om een normale herstelprocedure uit te voeren, is het noodzakelijk om het logboek te behouden. Daarom zijn, zoals eerder vermeld, uiterst ernstige eisen gesteld aan het behoud ervan in het externe geheugen. In dit geval is de herstelling van de database gebaseerd op het feit dat op basis van het archiefkopie alle transacties die zijn voltooid tegen het moment dat de storing optreedt, uit het logboek worden gereproduceerd. Zo nodig kan zelfs de werkzaamheden van onvoltooide transacties worden gereproduceerd en de normale werking voortgezet nadat de restauratieprocedure is voorbij, maar in de meeste echte systemen is een dergelijke procedure niet uitgevoerd omdat de restauratie zelf na ernstige storingen op zich een vrij langdurige procedure is.
Taalondersteuning
Om te werken met moderne databases, worden verschillende talen gebruikt, en in het vroege DBMS was het doel, de functies en andere kenmerken aanzienlijk verschillend van de moderne systemen. Er werd ondersteuning verleend aan verscheidene hoog gespecialiseerde talen. In principe was het SDL en DML, ontworpen om het schema van de database te bepalen en respectievelijk de gegevens te manipuleren.
SDL werd gebruikt om de logische structuur van de database te bepalen, dat wil zeggen de specifieke structuur van de database, die voor gebruikers wordt aangeboden, herkennen. DML bevat ook een hele complex van data manipulatie operators, waarmee u informatie in de database kunt invoeren, evenals bestaande gegevens verwijderen, wijzigen of gebruiken.
De DBMS-functies omvatten verschillende soorten ondersteuning voor een enkele geïntegreerde taal, die voorziet in alle middelen die nodig zijn voor normaal werk met databases, vanaf het begin van de creatie en het verschaffen van een standaard gebruikersinterface. Omdat de standaardtaal, die de basisfuncties van het DBMS van de meest voorkomende relatiesystemen biedt, wordt SQL vandaag gebruikt.
Hoe is hij?
In de eerste plaats combineert deze taal de basisfuncties van DML en SDL, dat wil zeggen het biedt de mogelijkheid om de specifieke semantiek van de relationele database te bepalen en de nodige informatie te manipuleren. In dit geval wordt de naamgeving van diverse databaseobjecten rechtstreeks op het taalniveau ondersteund in de zin dat de compiler objectnamen in hun interne identificaties vertaalt op basis van speciaal onderhouden service directories-directories. De kern van de controlesystemen is in principe niet in wisselwerking met de tabellen of hun individuele kolommen.
De SQL-taal bevat een hele lijst van speciale tools waarmee u de integriteitsbeperkingen van de database kunt bepalen. Nogmaals, dergelijke beperkingen zijn opgenomen in speciale catalogus tabellen, en de integriteitscontrole wordt direct uitgevoerd op het taalniveau, dat wil zeggen, tijdens het lezen van individuele databasemodificatieoperators, compileert de compiler, op basis van de integriteitsbeperkingen die in de database bestaan, de bijbehorende programmacode.
Similar articles
Trending Now