← Nieuwste papers
💻 informatica

A Comparative Performance Evaluation of SQL and NoSQL Databases Under Different Indexing and Cache Conditions

Deze studie benchmarkt MySQL 8.0.46 en MongoDB 8.0.32 over variërende datasetgroottes, indexeringsstrategieën en cachecondities, waarbij wordt onthuld dat MongoDB uitblinkt in bulkwrites terwijl beide systemen significant profiteren van indexering voor lookups, wat uiteindelijk aantoont dat databaseprestaties sterk contextafhankelijk zijn in plaats van universeel superieur voor een van beide modellen.

Oorspronkelijke auteurs: Amir Khan, Sawaira Gull, Arooj Shahzadi

Gepubliceerd 2026-11-13✓ Author reviewed ⓘ
📖 6 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Amir Khan, Sawaira Gull, Arooj Shahzadi

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). ✨ Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

In de digitale wereld laat bijna elke actie een spoor achter. Een aankoop, een login, een verzonden bericht—elk evenement wordt opgeslagen in een database, een enorme elektronische archiefkast die het geheugen van het moderne leven bevat. Om deze systemen soepel te laten draaien, moeten ingenieurs kiezen tussen twee hoofdtypen opslagsystemen. Eén type, bekend als relationeel, organiseert gegevens in rigide tabellen met strikte rijen en kolommen, vergelijkbaar met een traditionele spreadsheet. Het andere, NoSQL genoemd, slaat informatie op als flexibele, zelfstandige documenten die in vorm en omvang kunnen variëren. Jarenlang woedde er een debat over welk systeem sneller of beter is. Het antwoord is echter zelden eenvoudig, omdat snelheid volledig afhangt van wat je het systeem vraagt te doen en door hoeveel gegevens het moet zoeken.

Een recente studie probeerde deze vraag niet met theorie, maar met een gecontroleerd experiment te beslechten. Onderzoekers Amir Khan, Sawaira Gull en Arooj Shahzadi bouwden een testomgeving op een enkele computer om te zien hoe twee populaire systemen, MySQL en MongoDB, presteerden onder identieke omstandigheden. Ze vroegen niet alleen welk systeem sneller was; ze vroegen hoe de snelheid veranderde wanneer de hoeveelheid gegevens groeide van een kleine stapel naar een enorme berg, en hoe het gebruik van indexen—gespecialiseerde snelkoppelingen die het systeem helpen informatie snel te vinden—de resultaten beïnvloedde. Ze testten drie specifieke taken: het dumpen van een grote hoeveelheid nieuwe gegevens in het systeem, het vinden van één enkel record op basis van een specifieke naam, en het groeperen van veel records samen om een totaal te berekenen.

De onderzoekers begonnen met het genereren van synthetische transactiegegevens, waarbij ze drie afzonderlijke datasets maakten met tien duizend, honderdduizend en één miljoen vermeldingen. Ze laadden deze records in beide databasesystemen en maten hoe lang het duurde om elke taak te voltooien. In de eerste test, die inhield dat alle gegevens tegelijkertijd in het systeem werden geschreven, bleek het op documenten gebaseerde systeem, MongoDB, consequent sneller. Bij het verwerken van één miljoen records voltooide het de taak in ongeveer twaalfëndertig seconden, terwijl het relationele systeem, MySQL, bijna dertig seconden nodig had. Dit verschil bleef standhouden, ongeacht of de dataset klein of groot was, wat suggereert dat voor pure gegevensinname het op documenten gebaseerde model een duidelijk voordeel had in deze specifieke opstelling.

De tweede test richtte zich op het vinden van één enkel record, vergelijkbaar met het opzoeken van een specifieke klant aan de hand van hun ID-nummer. Hierbij maten de onderzoekers de tijd die nodig was om een record te vinden, zowel zonder hulp als met de hulp van een index. Zonder index moest het systeem door elk enkel record scannen om de match te vinden. Naarmate de gegevens groeiden naar één miljoen vermeldingen, werd dit zoekproces pijnlijk traag en duurde het in beide systemen meer dan een halve seconde. Echter, zodra de onderzoekers een single-field index toevoegden—een eenvoudige lijst die direct naar de locatie van elk ID wijst—veranderden de resultaten drastisch. De tijd om het record te vinden kelderde naar net iets meer dan één milliseconde voor beide systemen. Deze reductie, die meer dan negentig procent bedroeg, toonde aan dat voor eenvoudige opzoeken het type database er veel minder toe deed dan de aanwezigheid van een goede kaart om de zoektocht te begeleiden.

De derde test was complexer en betrof een gefilterde aggregatie. De onderzoekers vroegen het systeem om alle transacties in een specifieke categorie te vinden, deze te groeperen op basis van hun status, en de totale bedragen op te tellen. Deze taak is moeilijker omdat het niet alleen gaat om het vinden van gegevens, maar ook om het sorteren en berekenen ervan. In dit scenario waren de resultaten minder uniform. Voor de kleinere datasets was het relationele systeem soms sneller, maar naarmate de gegevens groeiden naar één miljoen records, trok het op documenten gebaseerde systeem aanzienlijk voor. Het document-gebaseerde systeem voltooide de taak in ongeveer driehonderd milliseconden, terwijl het relationele systeem meer dan een seconde nodig had.

Misschien wel de meest verrassende bevinding kwam naar voren tijdens deze derde test met de grootste dataset. Wanneer de onderzoekers een index op het categorieveld gebruikten om het relationele systeem te versnellen, werd de taak zelfs trager dan wanneer ze helemaal geen index hadden gebruikt. Het systeem deed er meer dan een seconde over met de index, vergeleken met ongeveer zevenhonderd milliseconden zonder deze. Dit contra-intuïtieve resultaat was geen fout; de onderzoekers herhaalden de test onafhankelijk en bevestigden dat de index inderdaad een vertraging veroorzaakte in deze specifieke configuratie. Het lijkt erop dat voor dit type complexe berekening de overhead van het gebruiken van de index zwaarder woog dan de voordelen, een nuance die een simpel "het een is sneller dan het ander"-conclusie zou missen.

De studie onderzocht ook hoe de systemen zich gedroegen wanneer ze al "warm" waren, wat betekent dat ze onlangs soortgelijke verzoeken hadden verwerkt en gegevens in hun geheugen klaar hadden staan. Onder deze omstandigheden werden beide systemen sneller, maar de mate van verbetering varieerde. Het document-gebaseerde systeem zag een aanzienlijke boost in zijn aggregatiesnelheid wanneer het warm was, terwijl het relationele systeem een meer bescheiden winst liet zien. Deze bevindingen bevestigen dat prestaties geen vaste eigenschap van de software zelf zijn, maar een fluïde resultaat van de interactie tussen de gegevensgrootte, het type query, de aanwezigheid van indexen en de huidige staat van het geheugen van het systeem.

Uiteindelijk concludeert het onderzoek dat er geen universele winnaar is. De keuze tussen deze twee databasemodellen kan niet worden gemaakt op basis van een enkele snelheidstest. Als het doel is om enorme hoeveelheden nieuwe gegevens snel in te voeren, vertoonde het op documenten gebaseerde systeem een duidelijk voordeel. Als het doel is om één enkel record op te halen, presteren beide systemen even goed, zolang er een geschikte index aanwezig is. Echter, voor complexe berekeningen waarbij grote volumes gegevens betrokken zijn, kan de prestatie schommelen afhankelijk van hoe de gegevens zijn gestructureerd en geïndexeerd. De studie dient als een herinnering dat in de wereld van data het juiste instrument volledig afhangt van de specifieke taak die moet worden uitgevoerd, en dat de meest efficiënte weg vaak niet wordt gevonden door een merk te kiezen, maar door het unieke karakter van de te verrichten arbeid te begrijpen.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →