Case · Dataplatform
Platformen lavede op til 4,5 gange det planlagte arbejde. Planerne styrede ikke mængden.
En kundes dataplatform med over 60 mio. poster behandlede langt mere, end planerne bad om, og et natligt job omskrev det meste af en stor tabel for at ændre en lille del af den. Sådan blev det fundet, hvad der blev ændret, og hvad der stadig er åbent.
2–4,5×
det arbejde, planerne bad om: omkring 2 gange samlet og 4,5 gange for én kunde, målt i drift i de første to uger af september 2026.
8 min
for det langsomste enkelte opslag, hvor hele jobbet havde 10 minutter, før det blev delt ud igen.
−98,5 %
rækker skrevet af et natligt job: 46 mio. omskrevet hver nat for at ændre 683.000.
Hvad der var galt
Efter en plan pr. kunde, for det meste én gang om dagen, udvælger platformen en portion poster og sender den gennem et betalt behandlingstrin. Planerne gav tilsammen omkring 250.000 poster om dagen. I de første to uger af september 2026 behandlede den omkring 540.000 om dagen, og for én kunde 4,5 gange dens grænse.
Planerne styrede ikke mængden. Det gjorde den tid, hver udvælgelse tog, og det, køen gjorde, når et job kørte over sin tidsgrænse. Det ses, når man sammenligner det, planerne beder om, med det, der faktisk blev behandlet, pr. kunde og pr. dag.
Sådan blev det fundet
På én dag, 16. september 2026, ud fra platformens egne logs, indstillinger og behandlingsdata.
- 01
Sammenlign
Det, planerne bad om, over for den behandling, der faktisk blev logget, pr. kunde og pr. dag.
- 02
Følg ét job
Jobbene tog mellem 100 og 835 sekunder. Køen gav hvert job 600 sekunder, før det blev delt ud igen.
- 03
Find den langsomme del
Opslaget, der udvælger næste portion, sorterede alle kundens kandidatposter, før portionen blev taget, og tabellen med 64 mio. rækker havde ikke et indeks til opslagets filter, så det læste hele tabellen. Det tog op til 503 sekunder alene.
- 04
Forklar mangedoblingen
Et job, der kørte over grænsen, blev delt ud igen, og det samme gjaldt et job, der blev afvist eller gik ned, op til fem forsøg. Hvert nyt forsøg tog en ny portion, fordi den tidligere allerede var reserveret, så ét planlagt job kunne behandle to portioner eller flere.
- 05
Tjek resten
En manuel kørsel på tværs af 147 kunder tog 20 til 26 minutter og blev delt ud igen og igen: på tre dage kørte den 74 gange og sendte omkring 3 mio. poster.
Hvad der blev ændret
Tre ændringer, flettet ind 16. og 18. september 2026 og sat i drift. Selve genforsøgene blev beholdt; se nedenfor.
Et indeks til opslaget
Et delvist indeks, der passer til opslagets filter, og forespørgslen omskrevet, så den kan bruge det. Opslaget læser ikke længere hele tabellen.
En sortering, der ikke gjorde noget
Hver portion blev sorteret efter værdier, der var frosset måneder tidligere. Den eneste reelle effekt var at lægge poster, der aldrig var behandlet før, bagerst, og den tvang databasen til at sortere alle kandidater, før portionen blev taget. Den blev fjernet, så de poster ikke længere kommer sidst. Testet på historiske data var den ikke bedre end tilfældig udvælgelse.
Et natligt job, der omskrev alt
Fundet i samme undersøgelse: et natligt job markerede poster som ledige igen uden at tjekke, om de allerede var det. Det omskrev 46,2 mio. rækker hver nat for at ændre 683.000, og tabellen havde fået 10,7 mia. opdateringer. Én ekstra betingelse rettede det; slutresultatet og ændringsloggen blev de samme.
Før og efter
Begge målt i drift før ændringerne. Det natlige jobs tal efter rettelsen følger af selve ændringen; det er ikke talt siden.
−98,5 %
Et natligt job omskrev 46 mio. rækker for at ændre 683.000. Nu rører det kun det, der er ændret.
Målt i drift før rettelsen
2–4,5×
Platformen lavede omkring 2 gange det planlagte arbejde og 4,5 gange for én kunde. Langsom udvælgelse fik køen til at dele jobs ud igen, og hvert nyt forsøg tog en ny portion.
Målt i drift
Hvad der skete bagefter
Kunden beholdt bevidst genforsøgene: at køre udvælgelsen igen var også måden, den behandlede mere end planerne på, for at dække flere poster. I stedet satte den et loft for den daglige mængde.
Stadig åbent: hvor lang tid opslaget tager nu, og hvor ofte jobs stadig kører over grænsen, er ikke målt efter ændringen. Næste skridt er en tjeneste, der planlægger hver dags arbejde ét sted og slet ikke kan dele et job ud igen. Den er under opbygning.
Den lære, jeg tager med til hver platform: korrekt output siger intet om omkostningen. Sammenlign det, der blev bedt om, med det, der blev gjort, job for job, før alt andet.
Samme tjek på jeres platform
Det er det, en Gennemgang af dataplatform leder efter: arbejde, planerne ikke regner med, jobs der omskriver langt mere, end de ændrer, og omkostninger, der vokser, uden at nogen opdager det. I får en skriftlig, prioriteret liste over, hvad der bør rettes først.
Fortæl mig, hvad I har brug for.
Tre linjer er nok. Jeg svarer inden for én arbejdsdag med, hvordan jeg ville gribe det an, og hvad det kræver.
- Gratis og uforpligtende
- Et klart svar på, om jeg kan hjælpe
- En pris, før arbejdet går i gang
