Batchverwerking is een grote groep taken samen afhandelen in één run, in plaats van stuk voor stuk. Je laat het werk opstapelen en verwerkt de hele stapel op een vast moment, vaak ‘s nachts als de systemen rustig zijn en niemand op het resultaat zit te wachten.

Denk aan de was doen. Je zet de machine niet aan voor één sok; je wacht tot de mand vol is en draait een lading. De machine kost ongeveer evenveel of er nu één item in zit of dertig, dus een volle lading is veel zuiniger. Batchverwerking past die logica toe op data: verzamel een dag aan orders en factureer ze in één keer. Het draait vaak op een geplande taak die gestart wordt door een cron job op een vast tijdstip.

De afweging is timing. Een batchrun om middernacht betekent dat niets van vandaag eerder verwerkt wordt. Voor klussen waar die vertraging prima is, is batchen goedkoper en simpeler dan op elke losse gebeurtenis reageren. Voor iets urgents pak je realtime verwerking. Een batch heeft ook een plan nodig voor de dag dat het misgaat. Loopt een nachtelijke run van 10.000 records vast op record 6.000, wat dan? Een naïeve taak begint weer bovenaan en verwerkt de eerste 6.000 dubbel, met dubbele facturen tot gevolg. Een goed gebouwde onthoudt waar hij stopte, zodat de herstart in de ochtend bij 6.001 verdergaat en netjes afrondt. Zie het als een leeslint in een dik boek; je begint niet elke keer opnieuw bij hoofdstuk één. Het andere stille risico is de batch die ongemerkt krimpt. Een feed die normaal 8.000 orders brengt levert ineens 30, en niemand merkt het omdat de run wél zonder fout afrondde. Dus een serieuze batchtaak checkt zijn eigen omvang en vorm, en slaat alarm als de aantallen niet kloppen in plaats van vrolijk bijna niets te verwerken.

Bij TopDevs gebruiken we batchverwerking voor het zware, niet-urgente werk zoals rapportages en datasynchronisaties, zodat er realtime ruimte overblijft voor de dingen die een klant nu meteen beantwoord wil hebben.