Redactie - 17 juli 2014

De fusie van datavirtualisatie en SQL-on-Hadoop engines

 

Als één ding mij duidelijk werd tijdens de Strata Conferentie in Santa Clara, Californië aan het begin van dit jaar, dan was het wel dat de overweldigende populariteit van Hadoop enook dat SQL-on-Hadoop dit succes op de voet volgt. Een SQL-on-Hadoop engine maakt het mogelijk big data te benaderen dat in Hadoop opgeslagen is,en wel met behulp van een taal waar veel ontwikkelaars mee vertrouwd zijn, namelijk SQL. Met SQL-on-Hadoop kunnen populaire rapportage en analytische tools ook gemakkelijker big data in Hadoop benaderen en analyseren.

Met datavirtualisatie servers  is het al lang mogelijk NoSQL databronnen te benaderen door middel van SQL. De meeste hiervan staan toe dat met SQL gegevens benaderd worden die in spreadsheets, XML documenten, sequentiële bestanden en pre-relationele database servers opgeslagen zijn, gegevens die achter API’s, zoals SOAP en REST, verborgen zijn, en ook gegevens die opgeslagen zijn in applicaties, zoals SAP en Salesforce.com.

De meeste van de huidige SQL-on-Hadoop engines ondersteunen alleen SQL-toegang op één gegevensbron. Dit klinkt eenvoudig, maar dat is het niet. Het technische probleem dat hierbij opgelost moet worden, is hoe al de niet-relationele gegevens die in Hadoop zijn opgeslagen, zoals variabele data, self-describing data en schema-less data, in een platte relationele structuur omgezet moeten worden.

De vraag die we ons ook moeten stellen is of het bieden van SQL query mogelijkheden op Hadoopvoldoende is, aangezien de lat best hoog gelegd is door enkele SQL-on-Hadoop engines. Sommige, zoals SpliceMachine, bieden naast queries ook transactionele ondersteuning voor Hadoop. Andere, zoals Cirro en ScleraDB, ondersteunen datafederatie: gegevens die in SQL databases zijn opgeslagen, kunnen geïntegreerd worden met gegevensopgeslagen in Hadoop. Dit zou dus kunnen betekenen dat het bieden van alleen SQL query mogelijkheden in de nabije toekomst niet meer afdoende zal zijn.

Datavirtualisatie servers bieden inmiddels ook toegang tot Hadoop en daarmee zijn zij toegetreden tot de wereld van SQL-on-Hadoop engines. Hiermee leggen zij de lat voor SQL-on-Hadoop engines nog hoger. De huidige datavirtualisatie servers zijn geen eenvoudige runtime engines die slechts SQL-toegang bieden tot verschillende gegevensbronnen. De meeste bieden tevens datafederatie mogelijkheden voor veel NoSQL gegevensbronnen, een high-level ontwerp en modelleringsomgeving met lineage en impactanalyse-functies, caching mogelijkheden om de toegang tot de gegevensbronnen te versnellen, gedistribueerde joinoptimization technieken en gegevensbeveliging-functies.

Op korte termijn wordt verwacht dat SQL-on-Hadoop engines uitgebreid zullen worden met deze kenmerkende datavirtualisatie-functies. Bovendien zullen datavirtualisatie servers zichzelf moeten verbeteren door de ondersteuning voor Hadoop aanzienlijk te vergroten. Maar wat er ook gebeurt, de twee markten zullen langzaam in elkaar overgaan. Producten zullen samengevoegd worden en andere zullen uitgebreid worden. Deze markt zullen we zeker de aankomende jaren in de gaten moeten gaan houden.

Rick F. van der Lans