Door de enorme vlucht die datagedreven werken op dit moment neemt, beseffen veel organisaties dat er veel meer te halen valt uit hun data dan ze tot nu toe doen. Historisch gezien werd data altijd gestructureerd opgeslagen in een database. Dit betekent dat de data gecategoriseerd werd verdeeld in verschillende tabellen. Door de digitalisering is de hoeveelheid data die bedrijven verzamelen, enorm toegenomen. Het lukt hierdoor niet langer om alles al volledig gestructureerd op te slaan. Dataexperts schatten dat zo’n 14% van alle bedrijfsdata gestructureerd is en 86% ongestructureerd. Maar wat zijn nu ongestructureerde data? Denk bijvoorbeeld aan gebruikersprofielen, documenten, afbeeldingen, video’s, geluidsopnamen en andere typen bestanden. Een ware goudmijn, want ongestructureerde data kunnen je organisatie veel voordeel opleveren, zoals:
Datamining, oftewel het boven water halen, opslaan en analyseren van ongestructureerde data, vereist een andere aanpak dan bij gestructureerde data. Daarvoor wordt steeds vaker gebruikgemaakt van zogenaamde NoSQL-databases. NoSQL is een databasemanagementsysteem (DBMS) waarin ongestructureerde data – data zonder vooraf gedefinieerde relatie of koppeling - kan worden opgeslagen. Voorbeelden van NoSQL-databases zijn MongoDB en Apache CouchDB.
Een NoSQL-database kan veel verschillende datatypen tegelijk bevatten, is hiermee flexibel en kan eenvoudig worden opgeschaald. En ook bij grote hoeveelheden data en veel dataverkeer, blijft de database snel reageren. Dit maakt NoSQL bijzonder geschikt voor werken in de cloud omgevingen en voor agile werkomgevingen met veel wijzigingen. Het aantal voorstanders van NoSQL neemt dan ook sterk toe. Maar of het verstandig is om de SQL-database dan maar vast af te schrijven? Wij vinden van niet.
Type informatie en taken: SQL kan uitsluitend overweg met gestructureerde informatie en gerelateerde taken, terwijl NoSQL prima werkt voor ongestructureerde data en ongerelateerde taken.
Wijze van opslag: bij een SQL-database moet je de structuur waarin de data wordt opgeslagen van tevoren bepalen, bij een NoSQL-database heb je geen schema nodig om data op te slaan.
Opslagcapaciteit: NoSQL-databases kunnen onbeperkt data opslaan en gedistribueerd gegevens verwerken, omdat de data eenvoudiger over meerdere servers verspreid kan worden.
Data-integriteit: bij NoSQL-databases kan data-integriteit niet altijd worden gegarandeerd omdat validatie van ongestructureerde data lastig is, binnen een SQL-database heeft alle data hetzelfde format. Daardoor kan de integriteit van de data worden gevalideerd.
Open source versus onder licentie: NoSQL-databases zijn open source, terwijl je voor SQL-databases over het algemeen over een licentie moet beschikken.
Bestandsformaat: NoSQL levert objecten op in JSON- of BSON-formaat, SQL levert rijen en kolommen op.
Ontwikkelingsstadium: NoSQL is nog volop in ontwikkeling, terwijl SQL al het stadium van volwassenheid heeft bereikt.
Nee, zeker niet! Want afhankelijk van het type data dat je wilt opslaan, heeft SQL belangrijke voordelen. Zo is SQL uitermate geschikt voor toepassingen met veel tabellen. Bovendien kent SQL veel standaardbegrippen, waardoor het gemakkelijk te leren is voor developers en databasemanagers.
En uiteraard heeft NoSQL ook nadelen. Bijvoorbeeld dat de data in een NoSQL-database minder makkelijk te structureren is. In de meeste gevallen moet een NoSQL-toepassing op maat worden gemaakt voor een specifieke taak. Dit vereist specifieke kennis van Developers. NoSQL is daarmee minder geschikt voor toepassingen waar je relaties tussen dataverzameling moet leggen, zoals een CRM-systeem of boekhoudpakket. Dan is een traditionele SQL-database nog altijd de meest logische keuze.
Vast staat wel dat we niet meer om NoSQL heen kunnen als het gaat om meer inzicht in je data. Voorlopig gaan SQL en NoSQL hand in hand en helpen ze je elk op hun eigen wijze meer te halen uit je big data.
Computrain biedt diverse cursussen en opleidingen aan op het gebied van big data. Bekijk ons cursusaanbod en schrijf je in.