Streaming Data on the Shoulders of Giants

A presentation at MongoDB.local London 2019 in September 2019 in London, UK by Hans-Peter Grahsl

Slide 1

Slide 1

LONDON Hans-Peter Grahsl, NETCONOMY Streaming Data on the Shoulders of Giants @ hpgrahsl #MDBlocal

Slide 2

Slide 2

whoami ü working & living in Graz ! ü technical trainer at NETCONOMY ü independent engineer / consultant ü associate lecturer ü ” occasional conference speaker # #MDBLocal mongodb.com/local/london

Slide 3

Slide 3

Speed & Agility Among Top Tech Risks For businesses to stay relevant they must deliver value at a breakneck pace and be constantly seeking new sources of value…

Slide 4

Slide 4

Managing, Processing & Analyzing Data We all use Data to unlock insights and drive value #MDBLocal mongodb.com/local/london

Slide 5

Slide 5

time critical decisions preventive / predictive VALUE of data to decision-making Diminishing Value of Data near real time actionable seconds traditional business intelligence reactive minutes historical hours days months Source: Perishable Insights, Mike Gualtieri, Forrester #MDBLocal mongodb.com/local/london

Slide 6

Slide 6

Historic ETL can be rather painful • batch-driven • brittle & error prone • (too) late answers #MDBLocal Speed & Agility Antipattern mongodb.com/local/london

Slide 7

Slide 7

Alleviate some ETL pain with streaming • event-centric & stream-oriented • quick insights & fast answers #MDBLocal Speed & Agility Enabler mongodb.com/local/london

Slide 8

Slide 8

Architecture of a Modern Data Platform? Streaming Data Fabric Connected Apps Connected Apps Stream Processors Data Sources #MDBLocal Data Sinks mongodb.com/local/london

Slide 9

Slide 9

On the Shoulders of Giants MongoDB® #MDBLocal Kafka® mongodb.com/local/london

Slide 10

Slide 10

Modern Database #MDBLocal mongodb.com/local/london

Slide 11

Slide 11

Modern Database Document Model Run Anywhere Distributed & Scalable Resilient & Performant #MDBLocal mongodb.com/local/london

Slide 12

Slide 12

Apache Kafka® Minimum Viable Introduction

Slide 13

Slide 13

Streaming Platform #MDBLocal mongodb.com/local/london

Slide 14

Slide 14

Streaming Platform ü distributed ü horizontally scalable ü highly fault-tolerant #MDBLocal mongodb.com/local/london

Slide 15

Slide 15

What is Streaming? “… a type of data processing that is designed with infinite data sets in mind …” – Tyler Akidau #MDBLocal mongodb.com/local/london

Slide 16

Slide 16

“…everything that happens in a company – every customer interaction, every API request, every can be represented as real-time stream that anything else can tap into, process or react to.” database change –

Slide 17

Slide 17

“…Kafka and the whole category of stream processing represents a fundamental paradigm shift in how the digital part of a company is built, how data is used, and how applications are built. This is actually a pretty rare thing…” – Jay Kreps

Slide 18

Slide 18

KStreams App Streams API App Apps n Co Pr App Apps #MDBLocal o c du e P rA I Connect API Connect API Data Sources s e m u P rA Data Sinks I KSQL KSQL App mongodb.com/local/london

Slide 19

Slide 19

Kafka APIs in a Nutshell… • Producer & Consumer API à publish-subscribe scenarios • Connect API à streaming data integration scenarios • Streams API & KSQL à code or SQL-based streaming scenarios #MDBLocal mongodb.com/local/london

Slide 20

Slide 20

Kafka® Connect What’s it about?

Slide 21

Slide 21

Kafka Connect Basics ANY source Connect Connect ANY sink ANY à e.g. file systems, data stores, REST endpoints, … #MDBLocal mongodb.com/local/london

Slide 22

Slide 22

Kafka Connect Basics often about data stores SOURCE DB #MDBLocal Connect Connect SINK DB mongodb.com/local/london

Slide 23

Slide 23

Kafka Connect Basics or more concretely Connect Connect https://hub.confluent.io à many many more #MDBLocal mongodb.com/local/london

Slide 24

Slide 24

Kafka Connect Basics or more concretely Connect Connect https://hub.confluent.io à many many more #MDBLocal mongodb.com/local/london

Slide 25

Slide 25

Kafka® Connect How do connectors operate?

Slide 26

Slide 26

Kafka Source Connectors Source Connector S M T … S M T Converter Serialize 1…N Single Message Transforms for basic in-flight manipulations #MDBLocal mongodb.com/local/london

Slide 27

Slide 27

Kafka Sink Connectors Converter Deserialize S M T … S M T Sink Connector 1…N Single Message Transforms for basic in-flight manipulations #MDBLocal mongodb.com/local/london

Slide 28

Slide 28

Official Connector Announced at #MDBW19

Slide 29

Slide 29

MongoDB Connector for Apache Kafka Map and persist events from Kafka topics directly to MongoDB #MDBLocal Publish data changes from MongoDB into Kafka topics mongodb.com/local/london

Slide 30

Slide 30

MongoDB Connector for Apache Kafka ü developed open-source ü officially supported by MongoDB ü Verified Gold certified by Confluent Available for Download on the Confluent Hub https://www.conflent.io/hub/mongodb/kafka-connect-mongodb #MDBLocal mongodb.com/local/london

Slide 31

Slide 31

Use Cases MongoDB Connector for Apache Kafka

Slide 32

Slide 32

Single Customer View for eCommerce Source Connectors MongoDB Sinks Single Source of Truth #MDBLocal

Slide 33

Slide 33

Data Synchronization between Microservices Service 1 … Service N #MDBLocal MongoDB Sinks

Slide 34

Slide 34

Recommendation Engine for Opinion Mining Change Streams User Recommendation Engine MongoDB Source Surveys & Polls Data Change Streams #MDBLocal

Slide 35

Slide 35

Demo Scenario Let’s see it in action!

Slide 36

Slide 36

Demo Scenario REST data generation device management ! Producer API Change Streams Stream Processor #MDBLocal data serving SSE mongodb.com/local/london

Slide 37

Slide 37

Demo Scenario REST MongoDB Source Connector data generation Producer API device management MongoDB Sink Connector Change Streams Stream Processor #MDBLocal data serving SSE mongodb.com/local/london

Slide 38

Slide 38

THANK YOU!

Slide 39

Slide 39

Streaming Data on the Shoulders of Giants [NETCONOMY] Hans-Peter Grahsl https://www.surveymonkey.com/r/KXC6DB6

Slide 40

Slide 40