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.

We hebben NoSQL toegepast bij de ontwikkeling van het klantenportaal voor Stichting Beter Leven keurmerk. Behalve zeer tevreden gebruikers leverde ons dit ook een Computable Award nominatie op.

Wil je weten wat de kansen zijn voor jouw organisatie? Neem dan vrijblijvend contact met ons op, we helpen je graag vooruit.

Jacco van Willigen
Over de auteur

Java Developer

  • +31 (0)88 26 27 301

Mis niets meer!

Ontvang inside informatie over software innovatie in je mailbox. Meld je nu aan voor onze maandelijkse update.

Vond je dit interessant? Ontdek meer!

Lees meer over deze onderwerpen

Meer kennis opdoen over:

Software ontwikkeling Development

Software ontwikkeling voorop lopen in de markt

Wil je snel vooruit met je organisatie? Innoveren met software ontwikkeling is de manier om dit te realiseren. Maar eigen software laten maken brengt ook onzekerheid en lastige keuzes met zich mee. Hoe lang duurt het en wat krijg je uiteindelijk?

Meer info
Nu zijn we nieuwsgierig naar jou. Waar wil jij heen?
Neem contact op

Bel ons direct op
088 262 7376 100% van onze klanten beveelt ons aan bij andere organisaties
Feedback Company

© 2005 - 2022     Ambrero Software BV • Algemene voorwaardenPrivacyverklaring
Klantwaardering