WhatsApp Facebook Twitter LinkedIn Mail

Database

In de bedrijfswereld worden veel data beheerd. Dit kan gaan om financiële data, persoonlijke gegevens, informatie over de inventaris, productinformatie enzovoort. Er wordt aangeraden om deze data zoveel mogelijk digitaal en goed beveiligd op te slaan. Vaak wordt dit echter vertaald naar platte tekst in tekstbestanden (zoals Word en Excel), en bestaat de beveiliging uit alleen een persoonlijk wachtwoord. Veel (groeiende) bedrijven willen hier iets aan doen. Ze hebben behoefte aan een systeem dat dubbele content tegengaat met verschillende toegangsniveaus en -controles. In dit verband wordt vaak over een database gesproken. Maar welke voordelen biedt zo’n database nu precies? Voor welke bedrijven is het systeem interessant? En welke soorten databases bestaan er?

Wat is een database?

Een database, ook wel gegevensbank of databank genoemd, is de naam voor het systeem waarbij gegevens worden verzameld, georganiseerd en gelinkt aan elkaar. Vanaf gekoppelde computers kunnen er zo snel data opgevraagd worden. Via het databasemodel zijn tegenwoordig ook uitgebreide analyses mogelijk. De meest moderne databases zijn tot slot ook in staat om complexe gegevens te voorzien voor gespecialiseerde rapportages.

Wanneer een bedrijf al een database gebruikt, en nieuwe software wil installeren, is het belangrijk om te kijken naar de compatibiliteit tussen de database en de software. Een ERP-systeem, HRM-pakket, DMS of CRM-oplossing kan gemakkelijker worden gekoppeld aan een database die ‘dezelfde taal’ spreekt. Zo werkt een ERP van Microsoft bijvoorbeeld het meest optimaal met een database van Microsoft, een ERP van Oracle met een Oracle-database, en ERP van SAP met een SAP-database. Toch zijn de verschillen zijn meestal niet zo groot dat een connectie tussen software van het ene bedrijf en de database van het andere een echt probleem vormt. Vooral de grote fabrikanten zorgen voor een steeds betere integratie met systemen van andere merken.

Wanneer een bedrijf een oplossing voor e-commerce wil implementeren, wordt de integratie tussen de software en de database wat lastiger. Deze integratie kan namelijk niet rechtstreeks tot stand komen. Omdat het systeem voor e-commerce en de database niet dezelfde taal spreken, is het nodig om voor een tussenlaag te zorgen die de communicatie verzorgt. Deze tussenlaag neemt meestal de vorm aan van een API.

Opmerking: voordat de definitieve keuze valt op de ene of andere database, is het belangrijk de eigenschappen van verschillende systemen te bekijken. In de ERP Wijzer staat een vergelijking van verschillende databases, zodat projectleiders deze goed naast elkaar kunnen leggen.

Welke systemen zorgen voor de inrichting van een database

Eerst en vooral is het belangrijk een verschil te maken tussen een database en een Data Base Management System (DBMS). De database is de set van gegevens, ingericht volgens een bepaald model en opgeslagen op een server. Een Data Base Management System (DBMS) is de software die zorgt voor deze indeling van de gegevens op de server. De meest bekende DBMS’en zijn SAP HANA of Microsoft SQL Server. DBMS’en gebruiken in de regel de programmeertaal SQL (Structured Query Language) om toegang te verlenen tot de database en deze te bewerken.

sql database

Soorten databases

Het is belangrijk om te weten dat er verschillende systemen bestaan om databases in te richten. Er worden continu nieuwe systemen uitgedacht om gegevensbanken in te richten. De meest voorkomende systemen zijn:

  • Flat file database
  • Relational database
  • Distributed database
  • NoSQL database
  • Object-oriented database
  • Graphic database

Flat file database

Dit soort database, ook wel platte database genoemd, is het meest eenvoudige model database. Het is een eenvoudige tweedimensionale tabel. Alle elementen in dezelfde kolom hebben gelijksoortige waarden, en alle elementen van een rij zijn gerelateerd. Dit model, waar ook Excel-sheets op zijn gebaseerd, vormt de basis van meer complexe databasemodellen, zoals een relational database.

structuur database

Relational database

Een relationele database ziet er op het eerste gezicht hetzelfde uit als een platte database. Het verschil is echter dat de tabellen niet op zichzelf staan. Via een zogenaamde JOIN-clause worden twee of meer tabellen uit de database aan elkaar verbonden. Zo kan een contactpersoon uit een tabel voor bedrijfsgegevens, weer verwijzen naar een andere tabel met de aankoopgeschiedenis van die specifieke contactpersoon. Microsoft SQL Server is een voorbeeld van een relationeel databasesysteem.

Distributed database

Bij een gedistribueerde database wordt de database opgedeeld in stukjes en op verschillende fysieke plekken (hardware) opgeslagen. De verwerkingstaken voor verzoeken worden verdeeld over deze verschillende stukjes.

Het voordeel van een gedistribueerde database is dat de gegevens beter beschikbaar zijn. Als één van de stukjes een fout bevat, blijft de rest van de database wel gewoon werken. Verzoeken worden misschien wat trager verwerkt, maar helemaal uitvallen doet de database niet. Aan de andere kant bestaat wel het risico dat bepaalde data gedupliceerd worden. Ook zijn er meer toegangspunten die beveiligd moeten worden, wat iets meer risico met zich meebrengt.

Binnen de gedistribueerde databases is er nog een opdeling in twee soorten:

  1. homogene gedistribueerde databases
  2. heterogene gedistribueerde databases

Bij homogene gedistribueerde databases zijn alle delen ‘op de hoogte’ van het bestaan van de andere delen, en werken ze samen voor het verwerken van verzoeken. Bovendien gebruiken ze dezelfde structuur en hetzelfde DBMS. De delen van een heterogene gedistribueerde database daarentegen werken veel zelfstandiger. Zij werken slechts gelimiteerd samen aan verzoeken, kunnen een andere structuur aanhouden en ‘kennen elkaar’ soms zelfs niet. Bijgevolg worden homogene gedistribueerde databases vaak binnen hetzelfde bedrijf gebruikt (één database opgedeeld binnen het bedrijf), terwijl de heterogene variant eerder gebruikt wordt door verschillende organisaties (één database opgedeeld in delen die bij verschillende bedrijven staan).

Wist je dat? De meest bekende gedistribueerde database is blockchain. Deze database werd vooral bekend door het gebruik voor cryptomunten zoals Bitcoin en Ethereum.

NoSQL database

De naam NoSQL komt van Not Only SQL, oftewel niet alleen SQL. Hiermee wordt gerefereerd aan het feit dat dit soort databases SQL vermijdt. Het systeem wordt wel ter ondersteuning gebruikt, maar niet actief voor het verwerken van verzoeken. De reden hiervoor is dat dit soort databases wordt ingezet bij grote hoeveelheden gegevens.

In een SQL database wordt er voor elke rij met verschillende kolommen, oftewel attributen, gewerkt. In een NoSQL database wordt aan een rij slechts een enkele kolom gelinkt. Alle entry’s voor die rij worden gegroepeerd in dezelfde kolom. Zo wordt plaats bespaard. In dit soort databases kunnen er meestal geen JOIN-clauses gebruikt worden. Door het grote volume aan data zijn deze koppelingen (bijna) onhaalbaar.

Enkele voorbeelden van programmeertalen die gebruikt worden in een NoSQL database zijn: JSON (JavaScript Object Notation), CQL (Contextual Query Language, voordien bekend als Common Query Language), en GQL (Graph Query Language).

Wist je dat? NoSQL databases zijn in gebruik geraakt met het ontstaan van sociale media zoals Twitter, Facebook en Instagram. Deze bedrijven moesten en moeten namelijk een enorme hoeveelheid data beheren.

Object-Oriented database

In een objectgeoriënteerde database worden gegevens in de vorm van objecten weergegeven. Een object is een concreet stukje data, bijvoorbeeld de bestelling van een klant. De gegevens van de bestelling, zoals klantnaam, opleverdatum, prijs, bestelnummer enzovoort, worden schematisch weergegeven. Daarom wordt dit soort databases ook wel schematische database genoemd. In hetzelfde voorbeeld kan er in de database een nieuw object gemaakt worden, dat op basis van het bestelnummer de details over de bestelling zelf bevat, zoals wanneer productie start, welke materialen nodig zijn, et cetera.

De objecten in een objectgeoriënteerde database zijn dus aan elkaar gelinkt. Het verschil met een relationele database is dat er geen tabellen zijn waarin enorm veel gegevens staan, en verschillende van die gegevens weer naar andere tabellen linken (JOIN-clauses). In plaats daarvan bevat elk object slechts één thema. Ze kunnen wel gegroepeerd worden met gerelateerde objecten en zo complexe objecten vormen (zoals in bovenstaand voorbeeld). Zo kan een object vernoemd worden in een ander object, zonder dat er moet worden ingegaan op de details van dit eerste object.

In veel gevallen is een objectgeoriënteerde database eenvoudiger in opzet en gebruik dan een relationele database. Dit soort databases worden geschreven in programmeertalen zoals Java, C of Smalltalk.

Graphic database

Grafische databases onderscheiden zich van de voorgaande omdat ze gespecialiseerd zijn in het structureren en linken van grafische gegevens. Dit soort databases leest en interpreteert de connecties (nodes) tussen de verschillende tabellen. Vervolgens worden de beschreven relaties ‘vertaald’ naar een natuurlijke taal. Zo kunnen deze grafische data ook door gebruikers geïnterpreteerd worden. Enkele voorbeelden van grafische databases zijn Neo4j en Amazon Neptune.

Databases: in de cloud of on-premise?

Databases worden zowel on-premise als in de cloud aangeboden. Het is echter duidelijk dat de cloud terrein blijft winnen. De cloud biedt namelijk verschillende voordelen: de eenvoudige toegang op afstand bijvoorbeeld, en het onderhoud van de servers dat uit handen wordt genomen.

Toch blijven sommige bedrijven nog bewust voor een database on-premise kiezen. Redenen hiervoor zijn bijvoorbeeld: er zijn al servers aanwezig en het bedrijf hoeft dus geen extra hardware aan te schaffen. Ook kan het zijn dat het beheer of de beveiliging door een eigen intern team wordt verzorgd.

De beveiliging van de database is, logischerwijs, een hot topic. Veel bedrijven zijn van mening dat een systeem on-premise automatisch voor een betere databeveiliging zorgt. Toch is dit niet altijd waar. Datalekken en hacking kunnen namelijk ook voorkomen bij systemen on-premise. Als een bedrijf niet beschikt over specialisten in beveiliging, is het risico hierop groter. Een bedrijf dat oplossingen in de cloud aanbiedt heeft hiervoor experts in dienst.

Let op: zorg ervoor dat ook de hardware goed beveiligd is. Een beveiligingsdefect aan de server zelf kan bijvoorbeeld de gegevens in de database in gevaar brengen.

Hoeveel kost een database?

De kosten kunnen zeer uiteenlopend zijn. Wanneer een bedrijf bijvoorbeeld nieuwe software wil implementeren, biedt de leverancier vaak ook (al dan niet inclusief) een database aan. Vooral in het geval van een SaaS-abonnement wordt database vaak meegerekend in de maandelijkse licentieprijs van de software-oplossing. Een bedrijf kan leveranciers benaderen voor de implementatie van een eigen en onafhankelijke database, maar slechts weinig leveranciers bieden deze aan zonder bijbehorende software.

Een eenvoudige database van 1 gigabyte kost ongeveer tussen de 200 en 400 euro per maand. 1 gigabyte is echter erg weinig opslagruimte voor zakelijk gebruik. Er moet bovendien ook rekening gehouden worden met het aantal Data Warehouse Units (DWU), of data warehouse-eenheden in het Nederlands. Een DWU is een genormaliseerde meting van prestaties. De berekening zelf is abstract, maar hoe hoger het aantal DWU’s, hoe beter de database presteert. Ten slotte is het ook belangrijk om te kijken naar andere vereisten, zoals e-mail-notificaties, meldingen met betrekking tot het gebruik, incidenten met de HTTPS, het soort software dat ondersteund wordt etc.

Dit artikel als bron gebruiken? Klik en kopieer:

European Knowledge Center for Information Technology. (2022, 4 februari). Database. ICT Portal. https://www.ictportal.nl/ict-lexicon/database