Say Yes to NoSQL en versnel je applicatie

Iedereen kent inmiddels wel de kracht van data: performance kunnen meten, trends ontdekken, voorspellingen kunnen doen. Allemaal zeer waardevol. In dit blog bespreken we een essentiële tool om dit soort analyses snel uit te voeren: NoSQL (spreek uit: nosiekwol). Wat is het en wat levert het je op?

Zoals je waarschijnlijk wel weet, zit achter elke applicatie een database. En een sterke vrouw, maar dat laten we even buiten beschouwing. In de database worden op een gestructureerde manier gegevens vastgelegd: elke type gegevens (bijvoorbeeld boeken, genres, auteurs) wordt in een eigen tabel vastgelegd. Via relaties worden daarbij de onderlinge verbanden gelegd die je laten weten dat het boek The Hitchhiker's Guide to the Galaxy daadwerkelijk een Science Fiction roman is, geschreven door Douglas Adams.

Voor als je systeem niet meer vooruit te branden is

Toch heeft dit gestructureerde dataformat ook beperkingen en daar lopen steeds meer organisaties tegenaan. Je hoeft ook geen genie te zijn om te begrijpen dat het doorzoeken van immense hoeveelheden data, door steeds meer gebruikers, zijn grenzen kent. Zeker wanneer er grote volumes data worden verwerkt, zorgt de onderlinge afhankelijkheid tussen databronnen voor vertraging. Een extra database erbij, of meer processing power, is lang niet altijd de beste oplossing. Maar wat dan wel?

Versnellen met indexeringen versus NoSQL

Tragere databases, en daarmee dus alle applicaties die eraan gekoppeld zijn, worden nog wel eens geoptimaliseerd met behulp van bijvoorbeeld indexering: een soort inhoudsopgave waarmee de database kan terugvinden waar hij bepaalde gegevens heeft opgeslagen. Hiermee gaat het zoeken sneller. Echter, dit voordeel kan teniet gedaan worden doordat de database bij elke toevoeging de indexering moet bijwerken. Dat maakt de database dus weer trager.

Anders gezegd: de meeste databases kunnen wel een zoekassistent gebruiken. En die zijn er in de vorm van NoSQL databases.

Hoe werkt dat dan?

Vooropgesteld: er is niks mis met de gestructureerde opzet van data. Sterker nog: het is essentieel voor bijvoorbeeld de datakwaliteit binnen je applicatie. Maar voor het doorzoeken van grote volumes data is het fijn om een systeem te gebruiken dat daarvoor geoptimaliseerd is.

In de meeste gevallen wordt een NoSQL database voor deze specifieke toepassing naast de gestructureerde database geplaatst. De NoSQL database bevat als het ware een kopie van de database, maar dan ingericht in format dat is bedoeld voor snelle dataverwerking. Op deze manier werken beide databases effectief aan het doel dat ze dienen.

Elasticsearch, een NoSQL database, waar we bij Ambrero mee werken, haalt als het ware de hinderlijke en vertragende ‘joins’ uit de database. Joins zijn combinaties van records uit meerdere tabellen. Het resultaat zijn overzichten waarin verschillende aan elkaar gerelateerde gegevens bij elkaar zijn gezet. Bijvoorbeeld: het boek The Hitchhiker’s guide van Douglas Adams met het genre SF. Het lijkt een beetje op een zoekmachine als Google maar dan voor je eigen database.

En wat levert NoSQL je op?

Nou zul je je misschien afvragen wat NoSQL voor jou kan betekenen. Ga maar eens na binnen je organisatie wat er allemaal gemeten wordt en welke informatie je uit die data zou kunnen halen als die data altijd beschikbaar zou zijn. We zetten de belangrijkste voordelen op een rij:

  • Supersnel zoeken uiteraard.
  • De mogelijkheid om gegevens uit verschillende systemen te combineren.
  • Inzichten, omdat je grote hoeveelheden informatie automatisch kunt verwerken.
  • Schaalbaarheid: je bent niet langer afhankelijk van de complexe gegevensstructuren in je applicatie. Bovendien staat de NoSQL database los van de applicatie en kun je hem makkelijk op een andere omgeving draaien.

Wil jij ook weten hoe NoSQL jouw applicaties kan versnellen? Neem dan contact met ons op, we adviseren je graag over de mogelijkheden.

Jacco van Willigen

Is jouw database ook toe aan reanimatie?

‘Beste heer Verhuisd. In de bijlage sturen wij u het tuinhuisje voor de door u bestelde factuur. Het totaalbedrag ad 0,12 EUR kunt u overmaken op rekening 3268 AB tnv 14 dagen’. Tja, dat krijg je als je werkt met sterk verouderde, onvolledige en dus onbetrouwbare databases.

Een beetje gechargeerd natuurlijk, maar je begrijpt waar we naartoe willen. Met gedegen kennis van dataconversie en een vleugje magie maken we daar een effectieve en toekomstbestendige applicatie van.

Foutgevoeligheid in data

Tom Konijn is Software Ontwikkelaar bij Ambrero en heeft de nodige dataconversies op zijn naam staan. Hij snapt maar al te goed waar de schoen kan wringen. “Data zijn zoals bekend pas echt informatie als ze relevant, compleet, accuraat en actueel zijn. Dat is een absolute voorwaarde als je, bijvoorbeeld als Operationeel Manager, op basis van informatie beslissingen moet nemen. Veel organisaties hebben hun mond vol over Business Intelligence, maar werken met vaak zeer onbetrouwbare gegevens. In de meeste gevallen zitten die verstopt in een woud van Excel-bestanden waarvan niemand precies weet wat de onderliggende systematiek is. Is die wel duidelijk, dan zijn gegevens vaak niet structureel bijgehouden of onvolledig en dus foutgevoelig.”

AVG-proof database

“Even vragen aan degene die de bestanden ooit heeft aangemaakt biedt ook lang niet altijd uitkomst. Die is in veel gevallen namelijk allang vertrokken. Daarnaast kom ik systemen tegen die qua capaciteit aan hun max zitten. Manager niet blij en Functionaris Gegevensbescherming (AVG) ook niet, daar waar het persoonsgegevens betreft. Je kunt niet zien wie, wat gewijzigd heeft en wanneer. Dit ondervang je door een audit trail toe te voegen aan je nieuwe applicatie. Ook kan iedereen overal bij. Daarom is het bij een nieuwe applicatie raadzaam meteen gebruikersprofielen en autorisaties in te stellen zodat niet iedereen bij alle velden kan.”

Oude database overzetten

Ambrero Blog - is jouw database ook toe aan reanimatie

“Onlangs nog heb ik voor een bedrijf de gegevens van de oude database geautomatiseerd omgezet naar een webapplicatie. Dat heeft als voordeel dat je niet op elke pc updates hoeft uit te voeren. En iedereen kan er overal vandaan bij. Door data systematisch en geautomatiseerd te converteren kun je bovendien gegevens harmoniseren of formatteren. Bijvoorbeeld alle postcodes in één klap naar hoofdletters in plaats van kleine letters.”

Voordelen van dataconversie

“Dit was trouwens niet de eerste klant die verbaasd was over hoe snel en betaalbaar alle oude data konden worden omgezet”, aldus Tom. “Maar veel belangrijker is natuurlijk het feit dat managers voortaan sneller en beter inzicht hebben in de daadwerkelijke situatie. Zeker wanneer bestaande data met relevante, externe data worden gecombineerd. Je kunt, in tegenstelling tot bijvoorbeeld Excel, ook nog eens met meerdere personen tegelijk in bestanden werken. Heb je nu alles op de rit, dan is de weg straks ook vrij voor toepassingen op het gebied van Artificial Intelligence. Wat wil je nou nog meer?”

Jelle van den Berg