Drie cachelagen tussen Select en Disk
Drie cachelagen tussen Select en Disk Deze verkenning gaat dieper in op drie aspecten en onderzoekt de betekenis en potentiële impact ervan. — Mewayz Business-besturingssysteem.
Mewayz Team
Editorial Team
Wanneer uw applicatie een SELECT-instructie afvuurt, raakt die query vrijwel nooit een draaiende schijf of zelfs maar onbewerkte flash-opslag; deze passeert drie verschillende cachelagen die in stilte bepalen of uw antwoord binnen microseconden of milliseconden arriveert. Het begrijpen van deze lagen is het verschil tussen een bedrijfsplatform dat moeiteloos schaalt en een platform dat bezwijkt onder de werkelijke belasting.
Wat gebeurt er op het moment dat een SELECT-query uw applicatie verlaat?
Op het moment dat uw applicatie een SELECT-query verzendt, komt deze in een pijplijn terecht die de meeste ontwikkelaars nooit inspecteren. De database-engine onderschept het verzoek voordat er enige I/O plaatsvindt, parseert de SQL in een intern uitvoeringsplan en raadpleegt onmiddellijk de eerste verdedigingslinie: de queryresultaatcache. Als onlangs een identieke zoekopdracht met identieke parameters is uitgevoerd, kan de engine een in de cache opgeslagen resultatenset retourneren zonder ook maar één pagina met gegevens aan te raken. Dit wordt ook wel de querycache of resultaatcache genoemd, en bij workloads die veel lezen en weinig schrijven, zoals analysedashboards en rapportagemodules, kan dit de overgrote meerderheid van schijflezingen volledig elimineren.
Het cruciale inzicht hier is dat de querycache zeer gevoelig is voor gegevensmutaties. Elke INSERT, UPDATE of DELETE tegen de onderliggende tabel maakt de relevante in de cache opgeslagen resultaten ongeldig. Dit is de reden waarom transactiesystemen die veel schrijven vereisen, de querycache vaak volledig uitschakelen en in plaats daarvan vertrouwen op de diepere lagen.
Wat is de bufferpool en waarom is deze belangrijker dan u denkt?
De tweede cachelaag – en misschien wel de belangrijkste in productiesystemen – is de bufferpool (in PostgreSQL de gedeelde buffer genoemd, in MySQL de InnoDB-bufferpool). Dit is een RAM-gebied dat door de database-engine wordt gebruikt om recentelijk geopende gegevenspagina's op te slaan. Wanneer een zoekopdracht niet vanuit de resultatencache kan worden uitgevoerd, controleert de engine of de vereiste gegevenspagina's zich al in de bufferpool bevinden voordat er schijflezingen worden uitgevoerd.
De bufferpool werkt volgens het principe van temporele en ruimtelijke lokaliteit: gegevens waartoe recentelijk toegang is verkregen, zullen waarschijnlijk opnieuw worden benaderd, en gegevens die zijn opgeslagen in de buurt van waartoe toegang is verkregen, zullen waarschijnlijk binnenkort ook worden benaderd. Databasebeheerders stemmen de grootte van de bufferpool af als een van de meest invloedrijke configuratiebeslissingen die ze nemen. Een te kleine bufferpool zorgt ervoor dat pagina's voortdurend worden verwijderd, waardoor een fenomeen ontstaat dat thrashing wordt genoemd, waarbij het systeem meer tijd besteedt aan het beheren van cachemissers dan aan het uitvoeren van zoekopdrachten.
💡 WIST JE DAT?
Mewayz vervangt 8+ zakelijke tools in één platform
CRM · Facturatie · HR · Projecten · Boekingen · eCommerce · POS · Analytics. Voor altijd gratis abonnement beschikbaar.
Begin gratis →Belangrijk inzicht: Bij de meeste OLTP-workloads betekent een grote bufferpool dat 95-99% van alle gegevenslezingen vanuit RAM worden uitgevoerd. De werkset – de subset van uw gegevens die vaak door zoekopdrachten wordt gebruikt – is vaak veel kleiner dan de totale databaseomvang. Het afstemmen van uw bufferpool op uw werkset, en niet op uw gehele dataset, is de enige afstemmingsactie met het hoogste rendement die u kunt ondernemen.
Hoe vult de cache van het besturingssysteem de kloof tussen RAM en schijf?
Zelfs als de eigen bufferpool van de database ontbreekt, is een query nog niet bestemd voor een echte schijflezing. Het besturingssysteem houdt een paginacache bij (ook wel de bestandssysteemcache genoemd), een gebied van door de kernel beheerd RAM-geheugen dat lees- en schrijfbewerkingen buffert om apparaten te blokkeren. Wanneer de database-engine een pagina opvraagt die afwezig is in de bufferpool, controleert de besturingssysteemkernel zijn eigen paginacache voordat hij een fysieke I/O-opdracht aan de opslagcontroller geeft.
Deze derde laag is grotendeels onzichtbaar voor applicatieontwikkelaars, maar van groot belang op systemen waarop de databasebufferpool onvoldoende is ingericht. De cache van de besturingssysteempagina wordt door alle processen gedeeld en concurreert dus met uw applicatieserver, webserver en andere software die op dezelfde host draait. Op speciale databaseservers is deze concurrentie minimaal en biedt de cache van het besturingssysteem een zinvolle tweedekansbuffer. Op gedeelde hosts of containers met krappe geheugenlimieten is de cache van het besturingssysteem vaak te klein om te helpen.
Welke cachelaag is in de praktijk verantwoordelijk voor de meeste prestatiewinsten?
In echte productiesystemen domineert de bufferpool
Streamline Your Business with Mewayz
Mewayz brings 207 business modules into one platform — CRM, invoicing, project management, and more. Join 138,000+ users who simplified their workflow.
Start Free Today →Related Posts
Probeer Mewayz Gratis
Alles-in-één platform voor CRM, facturatie, projecten, HR & meer. Geen creditcard nodig.
Gerelateerde Gids
HR-beheergids →Beheer je team effectief: medewerkersprofielen, verlofbeheer, salarisadministratie en prestatiebeoordelingen.
Ontvang meer van dit soort artikelen
Wekelijkse zakelijke tips en productupdates. Voor altijd gratis.
U bent geabonneerd!
Begin vandaag nog slimmer met het beheren van je bedrijf.
Sluit je aan bij 30,000+ bedrijven. Voor altijd gratis abonnement · Geen creditcard nodig.
Klaar om dit in de praktijk te brengen?
Sluit je aan bij 30,000+ bedrijven die Mewayz gebruiken. Voor altijd gratis abonnement — geen creditcard nodig.
Start Gratis Proefperiode →Gerelateerde artikelen
Hacker News
GrapheneOS weigert te voldoen aan de nieuwe wetten voor leeftijdsverificatie voor besturingssystemen
Mar 22, 2026
Hacker News
Palantir breidt zijn bereik uit naar de Britse staat en krijgt toegang tot gevoelige FCA-gegevens
Mar 22, 2026
Hacker News
Vectorisering van Verilog-ontwerpen en de effecten ervan op verificatie en synthese
Mar 22, 2026
Hacker News
Show HN: een Markdown-bestand dat van uw AI-agent een autonome onderzoeker maakt
Mar 22, 2026
Hacker News
Persoonlijk computergebruik (2022)
Mar 22, 2026
Hacker News
Bosbranden in Nebraska zorgen ervoor dat boeren op zoek zijn naar voedsel
Mar 22, 2026
Klaar om actie te ondernemen?
Start vandaag je gratis Mewayz proefperiode
Alles-in-één bedrijfsplatform. Geen creditcard vereist.
Begin gratis →14 dagen gratis proefperiode · Geen creditcard · Altijd opzegbaar