Hoofd DBMS-functies
Hoofd DBMS-functies

Video: Hoofd DBMS-functies

Video: Hoofd DBMS-functies
Video: Sprouting Wheat Berries For Chickens 2024, Mei
Anonim

Moderne databasebeheersystemen worden op veel sites gebruikt, maar niet iedereen weet wat ze zijn en hoe u de functies van het DBMS kunt gebruiken. Dergelijke tools hebben een enorm aantal mogelijkheden, dus om ze volledig te gebruiken, moet je begrijpen wat ze kunnen doen en hoe nuttig ze zijn voor de gebruiker.

Gegevensbeheer

Allereerst omvatten de functies van het DBMS het verwerken van informatie in het externe geheugen, en deze functie is om de basisstructuren van de VI te bieden, die niet alleen nodig zijn om informatie op te slaan die rechtstreeks in de database is opgenomen, maar ook om verschillende servicetaken uit te voeren, zoals in verschillende gevallen versneld toegang krijgen tot bestanden. Bij bepaalde wijzigingen worden de mogelijkheden van verschillende bestandssystemen actief gebruikt, terwijl andere zelfs op het niveau van externe geheugenapparaten voor werk zorgen. Maar in dit geval is het vermeldenswaard dat in de functie van een hoogontwikkeld DBMS de gebruiker in ieder geval niet wordt geïnformeerd of een systeem wordt gebruikt en zo ja, hoe de bestanden zijn georganiseerd. In het bijzonder handhaaft het systeem zijn eigen naamvolgorde voor objecten die in de database zijn opgenomen.

subd-functies
subd-functies

RAM-bufferbeheer

In de overgrote meerderheid van de gevallen is het gebruikelijk om DBMS-functies te gebruiken in vrij grote databases, en deze grootte is op zijn minst vaak veel groter dan het beschikbare RAM-geheugen. Natuurlijk, als in het geval van toegang tot elk gegevenselement een uitwisseling met extern geheugen wordt uitgevoerd, zal de snelheid van de laatste overeenkomen met de snelheid van het systeem zelf, daarom is praktisch de enige optie om het daadwerkelijk te verhogen bufferen informatie in het RAM-geheugen. Bovendien, zelfs als het besturingssysteem systeembrede buffering uitvoert, bijvoorbeeld met UNIX, zal dit niet voldoende zijn om het DBMS het doel en de basisfuncties te bieden, aangezien het een veel grotere hoeveelheid gegevens heeft over de gunstige eigenschappen van buffering voor elke specifiek deel van de gebruikte database. Hierdoor behouden geavanceerde systemen hun eigen set buffers, evenals een unieke discipline voor hun vervanging.

Het is vermeldenswaard dat er een aparte richting van controlesystemen is, gericht op de continue aanwezigheid van de gehele database in RAM. Deze richting is gebaseerd op de veronderstelling dat in de nabije toekomst de hoeveelheid RAM in computers zo sterk zal kunnen uitbreiden dat ze zich geen zorgen meer zullen maken over buffering, en de basisfuncties van dit type DBMS zullen hier goed van pas komen. Op dit moment bevinden al deze werken zich in de testfase.

Transactiebeheer

Een transactie is een opeenvolging van bewerkingen met de gebruikte database, die het managementsysteem beschouwt alséén geheel. Als de transactie volledig succesvol is uitgevoerd, herstelt het systeem de wijzigingen die het heeft aangebracht in het externe geheugen, anders heeft geen van deze wijzigingen invloed op de status van de database. Deze operatie is nodig om de logische integriteit van de gebruikte database te behouden. Het is vermeldenswaard dat het handhaven van het juiste verloop van het transactiemechanisme een vereiste is, zelfs bij gebruik van DBMS voor één gebruiker, waarvan het doel en de functies aanzienlijk verschillen van andere soorten systemen.

belangrijkste functies van subd
belangrijkste functies van subd

De eigenschap dat een transactie alleen start wanneer de database in een consistente staat is en deze na het einde van de procedure in dezelfde staat laat, maakt het uiterst handig om te gebruiken als een activiteitseenheid met betrekking tot de database. Bij een goed beheer van het gelijktijdig uitvoeren van transacties door het controlesysteem kan elke individuele gebruiker zich in principe onderdeel van het geheel voelen. Dit is echter tot op zekere hoogte een geïdealiseerde weergave, aangezien in veel situaties waarin werkende mensen nog de aanwezigheid van hun collega's zullen voelen als ze een multi-user systeem gebruiken, maar in feite wordt hierin ook voorzien door het concept zelf van een DBMS. De kenmerken van het multi-user type DBMS relateren ook concepten zoals serieel uitvoeringsplan en serialisatie aan transactiebeheer.

Wat betekenen ze?

Serialisatie van gelijktijdig uitgevoerde transacties zorgt voor de constructie van een speciaal plan voor hun werk, waarin:het totale effect van het bereikte mengsel is gelijk aan het verkregen resultaat dankzij hun sequentiële uitvoering.

Een serieel uitvoeringsplan is een specifieke structuur van acties die leidt tot serialisatie. Natuurlijk, als het systeem erin slaagt om een echt seriële uitvoering van een combinatie van transacties te bieden, dan zal voor elke gebruiker die een transactie initieert, de aanwezigheid van anderen volledig onmerkbaar zijn, behalve dat het iets langzamer zal werken in vergelijking met een enkele gebruiker modus.

aantal basis subd-functies
aantal basis subd-functies

Er zijn verschillende basis algoritmen voor serialisatie. In gecentraliseerde systemen zijn de meest populaire algoritmen tegenwoordig gebaseerd op synchronisatie-opnames van verschillende database-objecten. In het geval van het gebruik van serialisatie-algoritmen, bestaat de mogelijkheid van conflicten tussen twee of meer transacties bij toegang tot bepaalde database-objecten. In een dergelijke situatie is het, om deze procedure te ondersteunen, noodzakelijk om een rollback uit te voeren, dat wil zeggen, om alle wijzigingen die in de database zijn aangebracht via een of meer processen te elimineren. Dit is slechts een van de situaties waarin een persoon de aanwezigheid van anderen voelt in een systeem met meerdere gebruikers.

Journaling

Een van de belangrijkste vereisten voor moderne systemen is het waarborgen van de betrouwbaarheid van informatieopslag in extern geheugen. Dit bepa alt met name dat de belangrijkste functies van het DBMS de mogelijkheid omvatten om de laatst overeengekomende toestand van de database nadat een software- of hardwarefout is opgetreden. In de overgrote meerderheid van de gevallen is het gebruikelijk om twee opties voor hardwarestoringen te overwegen:

  • soft, wat kan worden geïnterpreteerd als het onverwacht afsluiten van de computer (het meest voorkomende geval is een noodstroomstoring);
  • hard, die worden gekenmerkt door gedeeltelijk of volledig verlies van gegevens die zijn opgeslagen op externe media.

Voorbeelden van softwarefouten zijn onder meer het crashen van het systeem bij het proberen om een functie te gebruiken die geen deel uitmaakt van de hoofdfuncties van het DBMS, of het crashen van een gebruikershulpprogramma, waardoor een bepaalde transactie niet werd voltooid. De eerste situatie kan worden beschouwd als een speciaal soort zachte mislukking, terwijl de laatste een herstel van een enkele transactie vereist.

subd doel en belangrijkste functies
subd doel en belangrijkste functies

Natuurlijk heb je, om de database normaal te herstellen, in ieder geval een bepaalde hoeveelheid aanvullende informatie nodig. Met andere woorden, voor het normale behoud van de betrouwbaarheid van gegevensopslag in de database, is het noodzakelijk om de redundantie van informatieopslag te waarborgen, en het deel van de gegevens dat tijdens het herstel wordt gebruikt, moet bijzonder zorgvuldig worden bewaakt. De meest gebruikelijke methode voor het onderhouden van deze redundante gegevens is het loggen van wijzigingen.

Wat is het en hoe wordt het gebruikt?

Het logboek is een speciaal onderdeel van de database, toegangdie niet is opgenomen in het aantal DBMS-functies en zeer zorgvuldig wordt ondersteund. In sommige situaties biedt het zelfs ondersteuning voor twee exemplaren van het logboek tegelijk, die zich op verschillende fysieke media bevinden. Deze repositories ontvangen informatie over eventuele wijzigingen die plaatsvinden in het hoofdgedeelte van de database, en in verschillende beheersystemen kunnen wijzigingen op verschillende niveaus worden vastgelegd. In sommige situaties komt een logboekinvoer volledig overeen met een specifieke logische updatebewerking, in andere - een minimale interne bewerking die is gekoppeld aan het bijwerken van een externe geheugenpagina, terwijl sommige DBMS een combinatie van de twee benaderingen bieden.

In ieder geval wordt de zogenaamde "schrijf vooruit" logstrategie gebruikt. Wanneer het wordt toegepast, komt een record dat een wijziging in databaseobjecten aangeeft, in het externe loggeheugen voordat het object wordt gewijzigd. Het is bekend dat als de functies van het Access DBMS zorgen voor de normale implementatie van dit protocol, het gebruik van het logboek alle problemen oplost die verband houden met het herstellen van de database in het geval van storingen.

Terugdraaien

De eenvoudigste herstelsituatie is het terugdraaien van een individuele transactie. Voor deze procedure hoeft u geen systeemwijd wijzigingslogboek te gebruiken, en het is voldoende om voor elke transactie een lokaal wijzigingsbewerkingslogboek te gebruiken en vervolgens transacties terug te draaien door omgekeerde bewerkingen uit te voeren, te beginnen vanaf het einde van elk van de registers. De structuur van een DBMS-functie biedt vaak:het gebruik van zo'n structuur, maar in de meeste gevallen worden lokale logboeken nog steeds niet ondersteund, en een individuele rollback, zelfs voor individuele transacties wordt uitgevoerd volgens de systeembrede, en hiervoor worden alle records van elk van de transacties gecombineerd in een omgekeerde lijst.

het concept van subd functie subd
het concept van subd functie subd

Tijdens een zachte storing kan het externe geheugen van de database verschillende objecten bevatten die zijn gewijzigd door transacties die niet zijn voltooid op het moment van de storing, en het kan ook zijn dat er verschillende objecten ontbreken die zijn geüpgraded door degenen die met succes zijn voltooid vóór de storing door het gebruik van RAM-buffers, waarvan de inhoud volledig verdwijnt wanneer dergelijke problemen optreden. Als het protocol voor het gebruik van lokale logboeken wordt gevolgd, zijn er ongetwijfeld vermeldingen in het externe geheugen die betrekking hebben op de wijziging van dergelijke objecten.

Het belangrijkste doel van de herstelprocedure na het optreden van zachte fouten is een dergelijke toestand van het externe geheugen van de hoofddatabase, die zou optreden als wijzigingen aan voltooide transacties in de VI zouden worden doorgevoerd en geen sporen zouden bevatten van onvoltooide procedures. Om dit effect te bereiken, zijn de belangrijkste functies van het DBMS in dit geval het terugdraaien van onvolledige transacties en het opnieuw afspelen van die bewerkingen waarvan de resultaten uiteindelijk niet in het externe geheugen werden weergegeven. Dit proces omvat een vrij groot aantal subtiliteiten, die voornamelijk betrekking hebben op de organisatie van log- en bufferbeheer.

Harde mislukkingen

Als een database moet worden hersteld na een harde storing, wordt niet alleen het logboek gebruikt, maar ook een reservekopie van de database. De laatste is een volledige kopie van de database tegen de tijd dat het vullen van het logboek begon. Voor een normale herstelprocedure is natuurlijk de bewaring van het tijdschrift vereist, daarom worden, zoals eerder vermeld, zeer hoge eisen gesteld aan de bewaring ervan in het externe geheugen. In dit geval bestaat het herstel van de database erin dat, op basis van de archiefkopie, het logboek alle transacties reproduceert die zijn voltooid op het moment dat de storing optrad. Indien nodig kan het zelfs lopende transacties opnieuw afspelen en hun normale werking voortzetten na het einde van de herstelprocedure, maar in de meeste echte systemen wordt deze procedure niet uitgevoerd omdat herstel van harde fouten zelf een nogal langdurige procedure is.

Taalondersteuning

Moderne databases gebruiken een verscheidenheid aan talen, en vroege DBMS'en, waarvan het doel, de functies en andere kenmerken aanzienlijk verschilden van moderne systemen, boden ondersteuning voor verschillende zeer gespecialiseerde talen. In feite waren dit SDL en DML, ontworpen om respectievelijk het databaseschema te definiëren en gegevens te manipuleren.

subd functie structuur
subd functie structuur

SDL werd gebruikt om de logische structuur van de database te bepalen, dat wil zeggen, om de specifieke structuur van de database te herkennen, die wordt weergegevengebruikers. DML, aan de andere kant, omvatte een heel complex van informatiemanipulatie-operators waarmee u informatie in de database kon invoeren en bestaande gegevens kon verwijderen, wijzigen of gebruiken.

De DBMS-functies omvatten verschillende soorten ondersteuning voor een enkele geïntegreerde taal, die voorziet in de aanwezigheid van alle middelen die nodig zijn voor het normale werk met databases, te beginnen bij de eerste creatie, en een standaard gebruikersinterface te bieden. SQL wordt gebruikt als de standaardtaal die de basisfuncties biedt van het DBMS van de meest voorkomende relationele systemen van tegenwoordig.

Wat is het?

Allereerst combineert deze taal de belangrijkste functies van DML en SDL, dat wil zeggen, het biedt de mogelijkheid om de specifieke semantiek van een relationele database te bepalen en de benodigde informatie te manipuleren. Tegelijkertijd wordt de naamgeving van verschillende databaseobjecten direct op taalniveau ondersteund, in die zin dat de compiler objectnamen omzet in hun interne identifiers, op basis van speciaal onderhouden servicecatalogustabellen. De kern van controlesystemen heeft in principe geen interactie met tabellen of hun individuele kolommen.

niet opgenomen in de hoofdfuncties van de subd
niet opgenomen in de hoofdfuncties van de subd

De SQL-taal bevat een hele lijst van speciale tools waarmee u de beperkingen op de integriteit van de database kunt bepalen. Nogmaals, dergelijke beperkingen zijn opgenomen in speciale catalogustabellen en integriteitscontrole wordt direct op taalniveau uitgevoerd, dat wil zeggen:tijdens het lezen van individuele instructies voor het wijzigen van de database, genereert de compiler, op basis van de integriteitsbeperkingen in de database, de bijbehorende programmacode.

Aanbevolen: