Het is tijd voor een nieuw databasetijdperk

Bloggen over data is populair. Bloggen over databases niet, tenzij je (super)techneut bent. Nou, is Gerrit Vos dat niet, maar toch wil hij aandacht aan dit onderwerp schenken. Zeker nu data zo onmisbaar zijn geworden in ons werk en leven.

We weten het allemaal: hoe serieuzer de organisatie, hoe serieuzer data opgeslagen moet worden. Daarom hebben we dure, complexe databasemanagementsystemen (DBMS) gebouwd. De laatste 25 jaar was er één standaard: de relationele database (RDBMS). Oracle, IBM (DB2) en Microsoft (SQL-server) domineerden het databaselandschap. Ook in de financiële wereld.

Een hele klus

Bij een RDBMS moet je van tevoren goed bedenken welke entiteiten je gebruikt en welke gegevens deze moeten bevatten. Later aanpassingen doen kan, maar is lastig. Het is ook belangrijk dat niet iedereen zomaar gegevens kan toevoegen of verwijderen, dat alle ACID-functies correct worden uitgevoerd, dat meerdere mensen op het hetzelfde moment het RDBMS kunnen gebruiken en dat de performance goed is. Een hele klus, kortom.

Bij banken, verzekeraars en pensioenfondsen zijn RDBMS’en heel normaal. Er zijn zelfs organisaties die denken dat er geen andere mogelijkheden zijn. Voor hen heb ik een blijde boodschap: er is meer! Al een tijd, zelfs. Rond 2000 ontstond er een beweging die de complexiteit en kosten van de RDBMS ter discussie stelde. Bij gebrek aan alternatieven begonnen zij zelf met de ontwikkeling hiervan. De beweging kreeg meer aanhangers, organiseerde zich beter en werkte aan concepten om gegevens op een alternatieve manier vast te leggen en doorzoekbaar te maken. Al snel was er sprake van een nieuwe industrie: NoSQL. Er zijn nogal wat interpretaties, maar de beste definitie vind ik: niet-relationeel.

Dynamo, Bigtable en Cassandra

Organisaties als Amazon, Facebook en Google leverden een grote bijdrage aan de ontwikkeling van NoSQL. Zo ontwikkelde Amazon Dynamo, stak Google haar energie in Bigtable en Facebook is de grondlegger van Cassandra. Vanwege performance-issues en hun gedistribueerde omgevingen moesten ze wel op zoek naar alternatieven. Ook universiteiten droegen hun steentje bij in de NoSQL-ontwikkeling, zoals het Massachusetts Institute of Technology met hun zelfontwikkelde Hstore.

De laatste zeven jaar hebben deze NoSQL-databases een vlucht genomen. Je kunt er op allerlei manieren dwarsdoorsnedes mee maken, door bijvoorbeeld te kijken naar geheugengebruik, opslagtechniek, hashing en securitytechnieken, distributie, consistentie en toepasbaarheid. Eenvoudigst is om te kijken naar het basisprincipe: de opslagtechniek. Heb je te maken met Key-Value, Document stores of Column-Oriented stores?

  • Een Key-Value store (denk aan Dynamo, Voldemort, Tokyo Cabinet, Redis en Scalaris) heeft een simpel model: via sleutels kunnen waardes opgeslagen en opgevraagd worden. De techniek is schaalbaar, maar niet zo consistent. En daarmee minder geschikt voor toepassingen waarbij analyse de hoofdmoot is.
  • Document stores (denk aan CouchDB (Apache) en MongoDB) gebruiken documenten als opslagtechniek. Zij zijn in staat complexere en betekenisvolle structuren te verwerken, zonder restricties op te leggen. Al deze standaarden kunnen door elkaar gebruikt kunnen worden, zodat migraties niet nodig zijn.
  • In Column-Oriented stores (denk aan Sybase IQ, Vertica, Bigtable, Hstore (MIT), Cassandra) worden niet rijen, maar kolommen gebruikt om gegevens op te slaan. Het principe is eenvoudig, maar de technische implicaties blijken redelijk ingrijpend. Dit komt vooral door hoge eisen aan consistentie, distributie en performance.

Polis als document

Wat laat dit nou zien? Dat ontwikkelingen in opslaan en gebruik van data elkaar in rap tempo opvolgen. Wie dominante NoSQL-spelers zullen worden, valt niet te voorspellen. Maar één ding is duidelijk: het idee dat we voor alle systemen één RDBMS nodig hebben, is achterhaald. Een NoSQL-database kan een beter alternatief zijn vanwege kosten, flexibiliteit, implementatiesnelheid en onderhoud. Vraag jezelf daarom eens af: zou het zo’n gek idee zijn om een polis als document op te slaan? Of een spaarrekening te beschouwen als een verzameling van transacties?

Ik geloof niet dat bedrijven hun systemen zomaar terzijde schuiven. Wel is het belangrijk om ontwikkelingen scherp in de gaten te houden. Want als Google, Facebook en Amazon niet zulke creatieve nieuwe wegen ingeslagen hadden, zou de (internet)wereld er nu heel anders uitzien. Waarschijnlijk nog hetzelfde als ongeveer 15 jaar geleden. En is dat wat we willen?

Welke kansen zie je?

We maken graag een afspraak. Bel ons op 0653778749 of stuur een e-mail naar e.hoekstra@itds.nl.

Bel mij terug

"*" geeft vereiste velden aan

Hidden
Dit veld is bedoeld voor validatiedoeleinden en moet niet worden gewijzigd.

Actueel