ksqldb.io
Open in
urlscan Pro
13.224.198.68
Public Scan
Submitted URL: http://ksqldb.io/
Effective URL: https://ksqldb.io/
Submission: On June 06 via api from GB — Scanned from GB
Effective URL: https://ksqldb.io/
Submission: On June 06 via api from GB — Scanned from GB
Form analysis
0 forms found in the DOMText Content
Home Overview Quickstart Distributions Examples Docs News & Community GitHub Twitter KSQLDB THE DATABASE PURPOSE-BUILT FOR STREAM PROCESSING APPLICATIONS. Get Started Get the code What's new? * release ANNOUNCING KSQLDB 0.25 * blog HOW TO EFFICIENTLY SUBSCRIBE TO A SQL QUERY FOR CHANGES * blog READINGS IN STREAMING DATABASE SYSTEMS More … REAL-TIME Build applications that respond immediately to events. Craft materialized views over streams. Receive real-time push updates, or pull current state on demand. KAFKA-NATIVE Seamlessly leverage your existing Apache Kafka® infrastructure to deploy stream-processing workloads and bring powerful new capabilities to your applications. WHAT, NOT HOW Use a familiar, lightweight syntax to pack a powerful punch. Capture, process, and serve queries using only SQL. No other languages or services are required. THOUSANDS OF ORGANIZATIONS LOVE & TRUST KSQLDB BUILD A COMPLETE STREAMING APP WITH A FEW SQL STATEMENTS. CAPTURE EVENTS CREATE SOURCE CONNECTOR riders WITH ( 'connector.class' = 'JdbcSourceConnector', 'connection.url' = 'jdbc:postgresql://...', 'topic.prefix' = 'rider', 'table.whitelist' = 'geoEvents, profiles', 'key' = 'profile_id', ...); PERFORM CONTINUOUS TRANSFORMATIONS CREATE STREAM locations AS SELECT rideId, latitude, longitude, GEO_DISTANCE(latitude, longitude, dstLatitude, dstLongitude ) AS kmToDst FROM geoEvents EMIT CHANGES; CREATE MATERIALIZED VIEWS CREATE TABLE activePromotions AS SELECT rideId, qualifyPromotion(kmToDst) AS promotion FROM locations GROUP BY rideId EMIT CHANGES; SERVE LOOKUPS AGAINST MATERIALIZED VIEWS SELECT rideId, promotion FROM activePromotions WHERE ROWKEY = '6fd0fcdb'; Learn the basics * Quickstart Take ksqlDB for a test drive * Video course Introduction to ksqlDB * Video course Inside ksqlDB's architecture Dive deeper with end-to-end use cases * Tutorial Materialized cache * Tutorial Streaming ETL pipeline * Tutorial Event-driven microservices * Tutorials Stream processing cookbook SIMPLE CONSTRUCTS FOR BUILDING STREAMING APPS. ksqlDB enables you to build event streaming applications leveraging your familiarity with relational databases. Three categories are foundational to building an application: collections, stream processing, and queries. COLLECTIONS vehicleIdlatitudelongitudea1rc4r43.683117-79.611421wh4rfx51.509855-0.123746a1rc4r43.642826-79.387123ffk1t345.71654-121.526191wh4rfx51.50380.048346 STREAMS Streams are immutable, append-only sequences of events. They're useful for representing a series of historical facts. CREATE STREAM routeWaypoints ( vehicleId VARCHAR, latitude DOUBLE(10, 2), longitude DOUBLE(10, 2) ) WITH ( kafka_topic = 'locations', partitions = 3, key = 'vehicleId', value_format = 'json' ); vehicleIdlatitudelongitudea1rc4r43.642826-79.387123wh4rfx51.50380.048346ffk1t345.71654-121.526191 TABLES Tables are mutable collections of events. They let you represent the latest version of each value per key. CREATE TABLE currentCarLocations ( vehicleId VARCHAR, latitude DOUBLE(10, 2), longitude DOUBLE(10, 2) ) WITH ( kafka_topic = 'locations', partitions = 3, key = 'vehicleId', value_format = 'json' ); STREAM PROCESSING Stream processing enables you to execute continuous computations over unbounded streams of events, ad infinitum. Transform, filter, aggregate, and join collections together to derive new collections or materialized views that are incrementally updated in real-time as new events arrive. QUERIES PUSH Push queries let you subscribe to a query's result as it changes in real-time. When new events arrive, push queries emit refinements, which allow you to quickly react to new information. They’re a perfect fit for asynchronous application flows. SELECT vehicleId, latitude, longitude FROM currentCarLocations WHERE ROWKEY = '6fd0fcdb' EMIT CHANGES; PULL Pull queries allow you to fetch the current state of a materialized view. Because materialized views are incrementally updated as new events arrive, pull queries run with predictably low latency. They're a great match for request/response flows. SELECT vehicleId, latitude, longitude FROM currentCarLocations WHERE ROWKEY = '6fd0fcdb'; ONE MENTAL MODEL FOR THE ENTIRE STACK. Today, nearly all streaming architectures are complex, piecemeal solutions. They comprise multiple subsystems, each with its own mental model. streaming DBDBAPPAPPAPP DB DB CONNECTOR CONNECTOR CONNECTORSTREAMPROCESSING streaming DBDBAPPAPPAPP DB EXTRACT LOAD TRANSFORMSTORE STORE With a lightweight, familiar SQL syntax, ksqlDB presents a single mental model for working with event streams across your entire stack: event capture, continuous event transformations, aggregations, and serving materialized views. what is ksqldbDBAPPAPPAPPPULLPUSHDBksqlDBStream ProcessingMaterialized ViewsConnectors Get Started Get the code