31-08-2017

Confluent onthult SQL-engine KSQL voor Apache Kafka

Deel dit bericht

Confluent lanceert KSQL, een SQL-engine voor Apache Kafka die gebruikers in staat stelt om continu interactieve SQL query's op streaming data uit te voeren. De engine, die momenteel nog in developer preview is, moet volgens Confluent de toegang tot gegevens uit stream processing eenvoudiger maken.

Ontwikkelaars die veel met stream processing engines werken moeten zeer ervaren zijn in hoogwaardige talen als Java, C #, Python. Zelfs Kafka Streams, de engine die deel uitmaakt van het open source Apache Kafka-project, is een Java-bibliotheek en vereist Java-vaardigheden en -kennis om het effectief te gebruiken. De nieuwe KSQL stream processing engine van Confluent vereist daarentegen alleen dat de gebruiker SQL beheerst. Hierdoor kan de software ook door analisten gebruikt worden die goed vertrouwd zijn met SQL.
Volgens CTO Neha Narkhede van Confluent verlaagt KSQL de drempel voor werken met stream processing, door  een eenvoudige en volledig interactieve SQL-interface te bieden voor het verwerken van data in Kafka. "U hoeft geen code meer te schrijven in een programmeertaal zoals Java of Python!"

Binnen KSQL
KSQL bestaat uit verschillende componenten, waaronder een serverproces dat query’s uitvoert. Een cluster kan meerdere KSQL-processen uitvoeren en de gebruiker kan ze toevoegen of stoppen. Query’s worden gelanceerd met behulp van een interactieve KSQL command line client, die de opdrachten naar het cluster verzendt met behulp van een REST API.
KSQL is gebaseerd op Kafka Streams, de open source stream processing engine die onderdeel is van het Kafka project. "KSQL maakt intern gebruik van Kafka's Streams API en beide delen in de kern dezelfde abstracties voor stream processing op Kafka," schrijft Narkhede in haar blog.

Functies
KSQL ondersteunt een reeks veel voorkomende SQL-operaties, waaronder aggregaties, joins, windowing en sessionization. Volgens Confluent zullen mettertijd andere functies toegevoegd worden, zoals lookups, een rijkere SQL-grammatica, meer aggregatiefuncties en point-in-time SELECT op continue tabellen.
Een van de toepassingen die Confluent voorziet is streaming ETL. Gebruikers kunnen KSQL inzetten om een ‚Äč‚Äčtransformatie te schrijven, die continu zal draaien op de inkomende gegevensstroom, in tegenstelling tot het uitvoeren van een batchbewerking. KSQL maakt volgens Narkhede een beweging mogelijk van batchdata-integratie naar online data-integratie.

KSQL is niet de eerste SQL engine die wordt gebruikt met streaming analytics, denk aan SQLstream dat in gebruik is bij AWS als basis voor Amazon Kinesis Analytics. Nieuw is het feit dat SQL-gebaseerde datatransformatie nu deel uitmaakt van Kafka.

Meer informatie: Confluent

Partners