Apache Airflow
Apache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerEen connection pool is een voorraad herbruikbare databaseconnecties. Applicaties lenen kort een connectie, voeren werk uit en geven ze terug in plaats van telkens opnieuw te verbinden.
Een connection pool is een voorraad open connecties naar een database of ander systeem. Een applicatie leent een connectie uit de pool, voert een query uit en geeft de connectie terug.
Dat is sneller dan telkens opnieuw verbinden. Een databaseconnectie opzetten vraagt authenticatie, netwerkhandshake en geheugen aan beide kanten. Bij een drukke webapplicatie zou dat veel onnodig werk zijn.
Bij een database die je via SQL bevraagt, merk je dit vooral wanneer veel requests tegelijk korte queries uitvoeren. De pool voorkomt dan dat elke request een nieuwe databaseverbinding moet opbouwen.
De pool is dus een wachtrij en voorraadkast tegelijk: hij houdt connecties klaar, maar begrenst ook hoeveel gelijktijdige connecties de applicatie mag gebruiken.
Bij de start of op het eerste gebruik opent de applicatie een aantal connecties. Elke request die databasewerk doet, vraagt een connectie aan. Is er eentje vrij, dan gebruikt de request die meteen. Is de pool leeg, dan wacht de request of krijgt hij een timeout.
Na de query sluit de applicatie de connectie niet echt. Ze geeft hem terug aan de pool, waar hij opnieuw gebruikt kan worden door de volgende request.
In code zie je vaak niet veel meer dan een connection string met instellingen zoals maximum pool size, idle timeout en connect timeout. De driver doet het beheer.
Een te kleine pool veroorzaakt wachttijd in de applicatie. Requests staan dan te wachten op een vrije connectie, ook al kan de database op zich nog werk aan.
Een te grote pool duwt het probleem naar de database. Honderden gelijktijdige connecties vragen geheugen, CPU en locks. De database kan dan net trager worden doordat iedereen tegelijk wil binnenkomen.
De juiste grootte hangt af van queryduur, piekverkeer, databasecapaciteit en hoeveel applicaties dezelfde database delen.
Een cache bewaart resultaten of data. Een connection pool bewaart verbindingen. De pool maakt queries niet inhoudelijk sneller, maar vermindert de kost om bij de database te geraken.
Als dezelfde query duizenden keren dezelfde data ophaalt, helpt caching. Als elke query andere data ophaalt maar de applicatie veel requests verwerkt, helpt pooling.
Connecties worden niet teruggegeven. Een bug houdt connecties open tot de pool leegloopt.
Queries duren te lang. Elke trage query houdt een connectie langer bezet.
Te veel applicaties delen dezelfde database. Elke pool lijkt redelijk, samen zijn ze te groot.
Serverless pieken. Veel korte instanties openen plots allemaal eigen pools.
Meet wachttijd op de pool. Database-CPU vertelt niet of requests wachten op een vrije connectie.
Gebruik timeouts. Eindeloos wachten maakt incidenten langer en moeilijker te vinden.
Sluit logisch af. Gebruik de patronen van je framework zodat connecties terug naar de pool gaan.
Stem pools op elkaar af. Kijk naar de totale som van alle applicaties, jobs en datapijplijnen.
Apache Airflow is een open-source orkestrator: je beschrijft je datapijplijnen als code in Python, in de vorm van een DAG, en Airflow plant ...
Lees meerApache Spark is een open-source engine voor grootschalige data-analyse op een cluster. Je schrijft SQL of DataFrames in Python, Scala of Jav...
Lees meerEen API of Application Programming Interface is de afgesproken manier waarop software met andere software praat. Je stuurt een verzoek in ee...
Lees meerEen API gateway is de voordeur voor API-verkeer. Ze bundelt authenticatie, rate limits, routing, logging en soms transformatie, zodat achter...
Lees meerAPI-automatisering laat systemen via gedocumenteerde programmeerinterfaces gegevens en opdrachten uitwisselen. De automatisering gebruikt re...
Lees meer
Nieuw in Microsoft Fabric? Zo verschillen een lakehouse en een warehouse, in mensentaal: wat ze doen, wanneer je wat kiest en wanneer je bei...
AI zit standaard in Google Workspace for Education en Microsoft 365 Education. Wat krijg je gratis, wat kost extra, wie mag wat per leeftijd...