Niet-relationele database maakt comeback

6 augustus 2010

De afgelopen dertig jaar is de relationele database met SQL uitgegroeid tot de dominante databasevorm. Lang niet alle toepassingen die gegevens opslaan, kunnen daar echter goed mee overweg. Met name in webtoepassingen wordt het relationele model soms eerder een last dan een lust. Enerzijds vanwege de rigiditeit die het model afdwingt bij het definiëren en ontwerpen van databases; wat voor financiële toepassingen een must is, is voor gegevensopslag bij de interactie met websites vaak overkill. En gebruik van SQL wordt vaak nodeloos omslachtig bij de simpele gegevensstructuren die ten rondslag liggen aan die webtoepassingen. Concepten als bijvoorbeeld locking en consistency hebben voor webtoepassingen vaak lang niet de absolute prioriteit die je er in een financieel of ERP-systeem aan moet geven om fouten in de administratie of bedrijfsvoering te voorkomen. Anderzijds vanwege de hoge kosten die het relationele model vaak met zich meebrengt in de achterliggende servers en opslagsystemen, als men het toenemende aantal bezoekers snelle responstijden wil kunnen bieden. Zeker als de daarmee gepaard gaande opslag richting petabytes gaat.

Een aantal bekende webbedrijven werkt daarom tegenwoordig met eigen niet-relationele oplossingen voor dataopslag ter ondersteuning van hun website. Bekendst is wellicht BigTable, dat Google heeft ontwikkeld voor zijn webgebaseerde diensten. Facebook heeft Cassandra ontwikkeld ter ondersteuning van de zoekfunctie op zijn site. Adobe maakt ter ondersteuning van zijn webconferentietoepassing ConnectNow gebruik van een niet-relationele database. En Amazon heeft als onderdeel van zijn webservices Dynamo ontwikkeld, dat het zelf aanduidt als een ‘sleutel-waardeopslagsysteem met hoge beschikbaarheid’.

Het gevoel gekluisterd te zijn door relationele databases met SQL heeft zelfs in een losvaste beweging geresulteerd, die zichzelf tooit met de naam NoSQL. De naam suggereert een animositeit die er niet is. De groep heeft zeker oog voor de verdiensten van het relationele model en SQL. Vandaar dat men NoSQL nu interpreteert als ‘not only SQL’. Op een eigen website biedt de groep verwijzingen naar nieuws en achtergronden bij de NoSQl-ontwikkelingen.

Couchio biedt nu naar eigen zeggen het eerste productierijpe NoSQL-product voor derden op de markt. CouchDB is het resultaat van een project dat in 2005 begon bij IBM voor het faciliteren van gegevensreplicatie in een Lotus Notes-omgeving op apparaten die offline waren. Sinds 2008 wordt op basis daarvan voortgeborduurd in een open-sourceproject onder de vleugels van Apache. Couchio, dat de projectleiding heeft en ook als commerciële dienst ondersteuning aanbiedt, durft nu de lancering van een 1.0-productieversie aan omdat:

  • er nu ook een Windows-versie is;
  • de performance met een factor drie is verbeterd is;
  • er zoveel werk is verzet om het product stabiel te maken dat Couchio zich op dat vlak geen zorgen meer maakt.

CouchDB biedt volgens de ontwerpers een intuïtief te gebruiken documentopslagmodel met krachtige zoekmogelijkheden. Het maakt gebruik van een B-Tree storage engine. Door gebruik te maken van een techniek die incrementele replicatie is gedoopt, kan men de dataopslag simpel uitbreiden met nieuwe servers. Voor het bevragen van de dataopslag maakt CouchDB gebruik van het door Google onwikkelde MapReduce.

Meer info

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Neem contact met ons op!