NoSQL-databases

Inleiding

Als we het over databases hebben dan verwijst men vrijwel altijd naar relationele databases. Voor het relationele model in 1970 bedacht werd waren er andere vormen van elektronische databases.

Relationele databases zijn de standaard geworden omdat bij dit model de opbouw en organisatie los staan van de manier van opslag: gegevens worden op een gestandaardiseerde manier opgeslagen buiten de applicatie die de gegevens gebruikt. Dit maakt de databases meer toekomst bestendig omdat de manier waarop de data gebruikt wordt kan veranderen dan waar de data in eerste instantie voor opgeslagen is.

Toch is het relationele model niet overal geschikt voor. Wanneer men met grote hoeveelheden data werkt of gegevens serveert onder hoge druk merkt men al snel op dat relationele databases hier niet in uitblinken, tenzij fors geïnvesteerd wordt in de onderliggende hardware. Maar hardware die 2x zo snel is in theorie schaalt niet 2x zo snel mee in praktijk. De performance van het systeem is niet lineair evenredig met de snelheid van de onderdelen.

In sommige gevallen is een relationele database gewoonweg niet nodig, bijvoorbeeld omdat informatie helemaal geen relatie met iets heeft en dus maar op één manier opgeslagen wordt. Of als er geen complexe queries op de data uitgevoerd hoeven te worden. In weer andere gevallen biedt een relationele database niet genoeg functionaliteit, bijvoorbeeld bij het leggen van een groot aantal verbanden tussen punten.

NoSQL-databases zijn ontwikkeld om in te springen waar SQL niet praktisch is. NoSQL is ten eerste een verwijzing naar SQL, een door IBM ontwikkelde taal voor het werken met gegevens binnen een relationele database. Voorbeelden van database software die zwaar op SQL leunen zijn o.a. MySQL – de meest gebruikte web database -, Microsoft SQL Server, Oracle Database en PostgreSQL.

De No in NoSQL verwijst niet naar geen zoals velen denken maar naar not only. Hiermee wordt bedoeld dat relationele databases niet overal voor geschikt zijn. Er is daardoor ook geen complete definitie van NoSQL-databases omdat er veel verschillende gebieden zijn waar verschillende NoSQL oplossingen uit voortgekomen zijn. Er is echter wel één eigenschap die NoSQL-databases verenigt: ze verschillen op een of meer punten van traditionele relationele databases.

Lees verder NoSQL-databases