Een optimale basis voor het Bel-me-niet Register

Optimalisatie van een database met 10 miljoen actieve telefoonnummers.

Het Bel-me-niet Register is de verzamelplek van zo’n 10 miljoen actieve telefoonnummers. In dit register staat opgeslagen welke nummers niet gebeld mogen worden voor telefonische verkoop. De nummers in het register worden aangeleverd door particulieren, maar ook verschillende commerciële partijen leveren bestanden met nummers en de bijbehorende blokkades aan. Daarnaast komen er cotinue wijzigingen voor telefoonnummers bij. Callcenters kunnen bij het Bel-me-niet Register lijsten opvragen om te bepalen welke nummers zij wel mogen bellen en welke niet.

Synetic beheert sinds begin 2017 het register. We zorgen zowel voor de applicatie (Drupal) updates als voor de doorontwikkeling. In 2018 stond een omvangrijk optimalisatie project op de planning.

Bij aanvang van dit project stonden zowel de historie als de actieve data van de telefoonnummers in dezelfde databasetabel. De historie was dusdanig groot geworden, dat de processen om de lijsten te genereren, steeds zwaarder werden.

Nieuwe database opgedeeld in actieve en historische data

De nieuwe databasestructuur is opgedeeld in twee delen: de actieve data en de historie. Met de opsplitsing wordt er met name gewerkt in de actieve data, waar de meest recente acties vindbaar zijn. Voor rapportages en dergelijke, is de historie nog altijd beschikbaar, maar deze wordt dus niet standaard meegenomen, wat het systeem extra stabiel maakt.

Daarnaast was dit een mooi moment om andere aspecten te optimaliseren. Zo is er een nieuw interface voor de medewerkers van het register gerealiseerd. Zij kunnen nu eenvoudiger zien wanneer een nummer geregistreerd is, en welke mutaties er zijn geweest. Op deze manier is er ook meer controle over wat er precies gebeurt en is het voor de medewerkers zichtbaar wanneer een nummer niet verwerkt is.

Afbeelding van de bel-me-niet-register website op een macbook

Data queue manager

Voor het nieuwe platform is Drupal 8 gebruikt. Hierbij is het hele platform “Headless” opgezet. Dit is een toekomstbestendige manier van ontwikkelen, waarbij er via een API met de applicatie gecommuniceerd kan worden vanuit verschillende frontends, bijvoorbeeld voor een website en een app.

Alle datamutaties en verzoeken voor bellijsten en dergelijke kunnen nu binnenkomen via de API en worden opgepakt door de queue manager. Dit kan worden gezien als een wachtrij met taken die uitgevoerd moeten worden. Het systeem doorloopt deze taken automatisch, maar wanneer er een onderbreking is, kan het proces weer vervolgen vanaf de laatst genomen stap.

Up-to-date database

De database van het register is up-to-date, het systeem is stabiel en medewerkers van het register kunnen precies zien welke stappen het systeem doorloopt en welke mutaties zijn gedaan.

Synetic werkt samen met