I A L Join the Confluent Community Slack Channel Subscribe to the Confluent blog cnfl.io/community-slack cnfl.io/read Welcome to the Amsterdam Apache Kafka Meetup! 6:00 pm-6:45 pm: Doors Open/Networking/pizza & drinks 6:45 pm-7:20 pm: Using Kafka to integrate DWH and Cloud Based big data systems: Mic Hussey, Systems Engineer, Confluent 7:20 pm-7:55 pm: Topic Management at Scale: Filip Yonov, Constantin Mota and Josephine Dik, ING 7:55 pm-8:30 pm: Real Time Investment Alerts using Apache Kafka & Spring Kafka at ING Bank: Tim van Baarsen and Marcos Maia 8:30 pm-9:00 pm: Drinks and Networking Apache, Apache Kafka, Kafka and the Kafka logo are trademarks of the Apache Software Foundation. The Apache Software Foundation has no affiliation with and does not endorse the materials provided at this event.
I A L 5 C O N F I D E N T I A L Event Streaming as a Foundational Technology Very few Foundational Technologies Hundreds... Supporting Technologies Innovation
I A L 7 C O N F I D E N T I A L ETL/Data Integration Messaging Batch Expensive Time Consuming Difficult to Scale No Persistence Data Loss No Replay High Throughput Durable Persistent Maintains Order Fast (Low Latency)
I A L 8 C O N F I D E N T I A L ETL/Data Integration Messaging Batch Expensive Time Consuming Difficult to Scale No Persistence Data Loss No Replay High Throughput Durable Persistent Maintains Order Fast (Low Latency)
I A L 9 C O N F I D E N T I A L ETL/Data Integration Batch Expensive Time Consuming Messaging Difficult to Scale No Persistence Data Loss No Replay High Throughput Durable Persistent Maintains Order Fast (Low Latency) Transient Messages Stored records
I A L 10 C O N F I D E N T I A L ETL/Data Integration Batch Expensive Time Consuming Messaging Difficult to Scale No Persistence Data Loss No Replay High Throughput Durable Persistent Maintains Order Fast (Low Latency) Transient Messages Stored records Both of these are a complete mismatch to how a business works.
I A L 11 C O N F I D E N T I A L ETL/Data Integration Messaging Transient Messages Stored records ETL/Data Integration Messaging Messaging Batch Expensive Time Consuming Difficult to Scale No Persistence Data Loss No Replay High Throughput Durable Persistent Maintains Order Fast (Low Latency) Event Streaming Paradigm High Throughput Durable Persistent Maintains Order Fast (Low Latency)
I A L 12 C O N F I D E N T I A L Fast (Low Latency) Event Streaming Paradigm To rethink data as not stored records or transient messages, but instead as a continually updating stream of events
I A L Apache Kafka, the de-facto OSS standard for event streaming Real-time | Uses disk structure for constant performance at Petabyte scale Scalable | Distributed, scales quickly and easily without downtime Persistent | Persists messages on disks, enables intra-cluster replication Reliable | Replicates data, auto balances consumers upon failure In production at more than a third of the Fortune 500 2 trillion messages a day at LinkedIn 500 billion events a day (1.3 PB) at Netflix
I A L Kafka Integration Architecture Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Apps Search NoSQL Apps Apps DWH Hado S T R E A M I N G P L AT F O R M Apps Search NoSQL Apps DWH S T R E A M I N G P L AT F O R M PRODUCER CONSUMER
I A L CREATE STREAM oob_readings AS SELECT *, c.std_value, c.sigma FROM sensor_reading s LEFT JOIN sensor_characteristics c ON s.id = c.id WHERE abs(s.value – c.std_value) > 3*c.sigma; Simple SQL syntax for expressing reasoning along and across data streams. You can write user-defined functions in Java
I A L What does KSQL look like? • First load a topic into a stream • Then flatten to a table • Join stream to table for enrichment CREATE STREAM orderlines1 AS SELECT ol.*, o.ORDERDATE, o.STATUS, o.QTR_ID, o.MONTH_ID, o.YEAR_ID, o.DEALSIZE, o.CUSTOMERNAME FROM ORDERLINES_3NF ol LEFT JOIN T_ORDERS_3NF o ON ol.ORDERNUMBER = o.ORDERNUMBER; CREATE STREAM ORDERS_3NF WITH (KAFKA_TOPIC='orders_cdc', VALUE_FORMAT='AVRO’) PARTITION BY ORDERNUMBER; CREATE TABLE T_ORDERS_3NF WITH (KAFKA_TOPIC='ORDERS_3NF', VALUE_FORMAT='AVRO', KEY='ORDERNUMBER’);
I A L Or use the Kafka Streams API • Java or Scala • Can do multiple joins in one operation • Provides an interactive query API which makes it possible to query the state store.
I A L Confluent Community - What next? About 10,000 Kafkateers are collaborating every single day on the Confluent Community Slack channel! There are more than 35,000 Kafkateers in around 145 meetup groups across all five continents! Join the Confluent Community Slack Channel Join your local Apache Kafka® Meetup Get frequent updates from key names in Apache Kafka® on best practices, product updates & more! Subscribe to the Confluent blog cnfl.io/community-slack cnfl.io/meetups cnfl.io/read Apache, Apache Kafka, Kafka and the Kafka logo are trademarks of the Apache Software Foundation. The Apache Software Foundation has no affiliation with and does not endorse the materials provided at this event.