Het voordeel van Hadoop, geïnspireerd door Google's MapReduce-algoritme, is dat het extreem schaalbaar is. Wil je meer gegevens opslaan, dan voeg je gewoon machines toe. Terwijl traditionele parallelle databases niet goed schalen tot duizenden servers, heeft Hadoop daar geen problemen mee. Maar het grote nadeel is dat het verwerken van gegevens in Hadoop nogal tijdrovend is vergeleken met een database.

Het beste van twee werelden

Onderzoekers van Yale University hebben daarom een hybride database ontwikkeld die een combinatie vormt van een traditioneel DBMS en de MapReduce-technologie. De database is ontworpen om op een cluster van goedkope machines of in de cloud te draaien en is open source. Het programma, HadoopDB gedoopt, is zo schaalbaar als Hadoop, maar behaalt de performance van traditionele parallelle databases.

Yale-professor Daniel J. Abadi kondigde HadoopDB aan op zijn blog, waar hij meer achtergrond aanbiedt over de uitdagingen om parallelle databases schaalbaar te maken. HadoopDB is gebaseerd op de database PostgreSQL, Hadoop en het datawarehouse Hive. Queries kunnen gebeuren in MapReduce of in de SQL-taal. De gegevensverwerking gebeurt gedeeltelijk door Hadoop en gedeeltelijk door verschillende PostgreSQL-databases verspreid over het cluster. Wanneer een server uitvalt, heeft dat weinig effect op het volledige systeem.

Andere databases

Hoewel HadoopDB bovenop PostgreSQL gebouwd is, kunnen ook andere databases gebruikt worden: Abadi's team heeft de database al met succes vervangen door MySQL en wil ook gespecialiseerder databases zoals MonetDB en Infobright gaan ondersteunen, waarmee het het systeem waarschijnlijk een betere performance zal krijgen. Voorlopig is HadoopDB nog een academisch prototype, maar de makers hopen dat Web 2.0-ondernemingen er al naar kijken. HadoopDB gebruikt net zoals Hadoop de Apache-licentie. Bron: Techworld