Redactie - 17 maart 2013

Sandor Nieuwenhuijs (Oracle): NoSQL database zonder SQL


Big Data is een 'hot item' voor Oracle. Het bedrijf speelt daar op in met software en - als de klant dat wil - met hardware. Technisch directeur Sandor Nieuwenhuijs kan behoorlijk warm lopen voor Big Data. Wij spreken met hem in het hoofdkantoor in Utrecht en zodra het onderwerp Big Data wordt aangeroerd steekt hij enthousiast van wal. "Nutteloos is niet het juiste woord voor Big Data. Je kent het nut alleen nog niet op het moment dat je de data verzamelt. De informatie waar je naar zoekt bestaat bijvoorbeeld uit clicks op een website. Of hoe de muis over de pagina beweegt. Dat laatste is technisch moeilijk te realiseren, maar kan heel relevante informatie opleveren. Hoe dan ook: het gaat om het verzamelen van hele grote hoeveelheden data - vooral van consumenten, want daar zijn er vier miljard van - waarvan je van tevoren niet kunt inschatten wat nuttig is en wat niet nuttig is."

"Je wilt niet dat je er later achter komt dat die data toch nuttig was. De eerste stap is om al die data te bewaren. Die kun je uitstekend op een Oracle database opslaan, maar dat is wat duur omdat die faciliteiten biedt, die je voor dit doel helemaal niet nodig hebt. Je hebt in feite genoeg aan een hele grote USB-disk. Bedrijven als Google en Yahoo hebben daar open source producten voor ontwikkeld met de meest fantastische benamingen. Deze vallen onder de noemer NoSQL Het kenmerk van zo'n NoSQL database is dat deze grote hoeveelheden data kan opslaan, lichtgewicht, kosteneffectief, transparant, makkelijk en helemaal gecentreerd rond de programmeur."

"Een relationele database als Oracle is heel intelligent. Alle constraints en integriteiten leg je in de database vast. Triggers en stored procedures kun je erin vastleggen en je kunt er eigenlijk niets aan kapot maken. Dat is mooi, maar voor het verzamelen van Big Data overbodig. Daarom heeft Oracle een nieuw product gelanceerd: Oracle NoSOL database. We hebben daarmee de enige NoSOL database, die ook NoSQL heet. Vanuit marketingperspectief vind ik dat wel slim. Overigens wordt nog steeds gefilosofeerd of NoSQL staat voor géén SQL of voor Not Only SQL. Onze database ondersteunt geen SQL."

Open source database

De nieuwe Oracle NoSQL database geeft een key en een waarde, meer niet. De applicatie bepaalt wat je er verder mee doet; die heeft de macht. Die applicatie is Java. De database is ontwikkeld op basis van Berkeley DB, de meest populaire embedded database ter wereld en onderdeel van de meeste Linux kernels. Berkeley DB is van oorsprong een lichte database voor standalone gebruik, maar die is schaalbaar gemaakt en kan in de Oracle NoSQL DB-versie over honderden machines worden uitgerold.

"Dit is een markt, waarin open source een belangrijke rol speelt, dus Oracle NoSQL DB komt er ook in een open source variant, een community edition. Daarnaast is er een enterprise edition met wat extra toegevoegde waarde en ondersteuning. Voor zover ik weet is dit de eerste keer dat Oracle zelf vanaf scratch een open source product ontwikkelt. Voor veel mensen is dat een eyeopener. Het is ook echt iets nieuws", vertelt Sandor enthousiast.

"Dit is dus de beginfase van Big Data. Hoe raak je die data niet kwijt en sla je ze zo snel en goedkoop mogelijk op. Uit die bak vol modder wil je de waarde halen. Je moet gaan filteren en saven, de data masseren en kneden, uitdunnen, samenvoegen, tijdsafhankelijke elementen eruit halen. Daar heb je een hele markt voor. Apache Hadoop, dat is ontwikkeld op basis van publicaties van Google met veel bijdragen van Yahoo, is op dit gebied een belangrijke speler. Dit open source programma wordt meegeleverd met onze NoSQL database. Hiermee heb je de mogelijkheid om de resultaten van al dat kneden in de intelligente Oracle database op te slaan. Daar kun je structuur in de gegevens aanbrengen en deze gaan presenteren met standaard BI tools. Maar je kunt ook bijvoorbeeld de verkregen gegevens gaan combineren met geografische of socio-economische data en deze op kaarten weergeven."

Voor dit doel is 'R' ontwikkeld: een open source statistisch analysepakket, dat datasets op allerlei manieren kan weergeven en correlaties kan maken met andere datasets. Oracle's extensie op 'R' maakt het mogelijk om deze analyses direct op de data in de Oracle database te doen. Dit is dan de derde stap in het Big Data proces: de analyse. Als je de drie stappen - verzamelen, filteren en analyseren - integreert in een architectuur heb je een applicatie.

Walhalla

Duidelijk is dat je de bakken vol met NoSQL verzamelde gegevens niet eindeloos kunt bewaren. Dat zou niet alleen heel kostbaar worden, maar het heeft ook weinig zin omdat veel informatie tijdgebonden is. Een vaak gehanteerde procedure is om de verzamelde gegevens aan het einde van een periode met Hadoop door te ploegen, de resultaten op te slaan en de NoSQL-bak weer leeg te gooien. Realtime werken zou nog mooier zijn, maar dat is onmogelijk vanwege het feit dat je ook tijdsvolgorde wilt vastleggen. Je wilt bijvoorbeeld ook weten wat iemand drie uur later doet.

Sandor Nieuwenhuijs: "Dit proces is heel erg Java-centrisch. Tot dusver vonden veel Java developers de Oracle database veel te slim. Ze willen liever alles zelf controleren. Dat kan nu dus. NoSOL is een Walhalla voor de Java programmeur. Het draait op Java API's en veel werk wordt gedaan in de applicatie. Hadoop is ook helemaal in Java geschreven. We zijn gewend om steeds meer handelingen bij developers weg te halen door deze te automatiseren, maar met Big Data kunnen ze zich weer helemaal uitleven. Ze zouden er wel goed aan doen om meer aandacht te besteden aan architectuur, ontwerp en documentatie. We weten allemaal dat dit van veel programmeurs niet het sterkste punt is, maar als op de IT-afdeling een wisseling van de wacht plaatsvindt is goede documentatie heel belangrijk."

Om de hele Big Data keten te kunnen besturen levert Oracle de Loader voor Hadoop, extensies op de open source distributie van 'R'; Apache Hadoop; Oracle NoSOL als (mogelijk) open source product; Oracle Enterprise Linux; en Oracle Java Hotspot Virtual Machine.

 

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!