De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk

Terug naar zoekresultatenDeel deze publicatie

Destructieve query's detecteren

Afstudeerscriptie

Destructieve query's detecteren

Afstudeerscriptie

Samenvatting

In deze afstudeerscriptie wordt er een onderzoek gedaan hoe destructieve query’s kunnen worden gedetecteerd. Een destructieve query zorgt ervoor dat de database traag wordt of zelfs niet meer werkt. Met de resultaten van dit onderzoek en de wensen van de opdrachtgever is er een ontwerp gerealiseerd. Aan de hand van dit ontwerp is een prototype ontwikkeld.
 
Het probleem op dit moment is dat het soms voorkomt dat er query’s zijn die niet goed functioneren. Een voorbeeld is dat een query een lange doorlooptijd heeft. Aangezien er een groot aantal query’s over de lijn gaan, ongeveer 1 miljoen per seconde op piektijden, is het niet inzichtelijk welke query’s dit zijn.
 
Als eerste is er onderzoek gedaan op het onderwerp hoe een query kan worden afgevangen. Uiteindelijk is er gekozen om dit op de DBConnetor van de Verzuimsignaal applicatie te doen. Hier kan de benodigde data worden opgehaald en gaan alle query’s van het systeem overheen. Vervolgens is er gekeken wat de beste manier was om de query’s te transporteren naar een externe omgeving. Hier is uiteindelijk gekozen voor RabbitMQ. De keuze is hierop gevallen aangezien het genoeg data kan verplaaten en het is al reeds aanwezig in de Verzuimsignaal applicatie.
 
Hiernaast is er bepaald op welke manier een query geanalyseerd zal worden. Hier is gekozen om “Explain” te gebruiken van MariaDB (Verzuimsignaal maakt gebruik van een mariaDB database). Dit geeft een goed inzicht in hoeveel stappen een query wordt uitgevoerd en of die bijvoorbeeld indexes gebruikt.
Verder is er gekeken wat de definitie van een query is. Het belangrijkste is de doorlooptijd van een query.
 
Tot slot is er gekeken wat er interessant is om te monitoren. Hier is ervoor gekozen om vooral totaalwaarden weer te gegeven. Denk bijvoorbeeld aan de totale uitvoertijd of het totaal aantal dubbele query’s binnen een actie.
 
Vervolgens is er een ontwerp gerealiseerd voor de software. Hier is er rekening gehouden met een aantal requirements. De belangrijkste requirement is dat de Verzuimsignaal applicatie geen hinder mag ondervinden van het transporteren van de query’s. Dit is gewaarborgd aan de hand van een berichten bundelaar. Ook zijn er geen onnodige acties uitgevoerd op de Verzuimsignaal applicatie.
 
Bij de realisatie is er aan de hand van het prototype naar boven gekomen dat er dubbele query’s worden uitgevoerd binnen dezelfde actie. Ook is het inzichtelijk geworden welke query’s een langere doorlooptijd hebben. Met deze gegevens worden destructieve query’s naar voren gehaald.

Toon meer
OrganisatieSaxion
OpleidingHBO-ICT
Datum2020-06-01
TypeBachelor
TaalNederlands

Op de HBO Kennisbank vind je publicaties van 26 hogescholen

De grootste kennisbank van het HBO

Inspiratie op jouw vakgebied

Vrij toegankelijk