Slide 1

Slide 1 text

#DevoxxFR #inmemory in-memory data systems what they can do for you Emmanuel Bernard Galder Zamarreño

Slide 2

Slide 2 text

Emmanuel Bernard Galder Zamarreño @emmanuelbernard @galderz

Slide 3

Slide 3 text

Data is coming Data is flowing

Slide 4

Slide 4 text

Insightful application Observe - collect data Orient - Put in context Decide - select course of action Act - Do it Continuous improvement loop Data services Event stream Data analysis Iterative storage Reasoning, decision models and optimization Execution engine

Slide 5

Slide 5 text

In-memory systems an case

Slide 6

Slide 6 text

Key foundation key/value store Distributed Elastic Optional schema ASL 2.0

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

in-memory systems in an architecture

Slide 9

Slide 9 text

Caching Caching service data Get faster App 1 App 2 Infinispan Datastore

Slide 10

Slide 10 text

(derived) Primary store Stateless apps in a stateful universe Microservice “local” storage (Fast) Search capabilities Analytics Distributed tasks App 1 App 2 Infinispan

Slide 11

Slide 11 text

Distributed stream Move computation to data map(λ) λ λ

Slide 12

Slide 12 text

In action!

Slide 13

Slide 13 text

Station board stop station train

Slide 14

Slide 14 text

What is the time of the day when there is the biggest ratio of delayed trains?

Slide 15

Slide 15 text

Mixing stores Mix traditional datastores and in-memory Temporary data Heavy computation App JPA OGM ORM App JPA OGM ORM App JPA OGM ORM Infinispan RDBMS

Slide 16

Slide 16 text

Data virtualisation duct taping Microservice 1 Big old Datasource Dedicated Schema 1 Dedicated Schema 2 Dedicated Schema 3 Data Virtualisation Microservice 2 Microservice 3 Old app

Slide 17

Slide 17 text

Analytics and Spark Computation out of Spark Source of data Source of events Immutable RDD Fast RDD caching Spark cluster Infinispan Cassandra Hive RDBMS App 1

Slide 18

Slide 18 text

Syncing grids Active / Active Data synced between sites One grid per usage OLTP Analytics App 1 App 2 Infinispan Infinispan Active / active cross site replication Datacenter 1 Datacenter 2 Load balancer

Slide 19

Slide 19 text

Pay attention, be reactive Reactive application Reactive microservice Also look at Debezium App 1 “Reactive app” 2 Infinispan Change event “Reactive app” 1 Change event

Slide 20

Slide 20 text

Continuous query Reactive to data changes Index the query, not the data from User u where u.age >18 and u.country = ‘France’ from User u where u.age >18 and u.hasSnapshat = true from User u where u.email contains ‘yahoo.com’ { “country”: “France”, “age”: 17, “email”: “[email protected]”, “hasSnapshat”: true } { “country”: “France”, “age”: 19, “email”: “[email protected]”, “hasSnapshat”: true } =>

Slide 21

Slide 21 text

In action!

Slide 22

Slide 22 text

Central Train Delays Dashboard

Slide 23

Slide 23 text

Debezium and CDC Change Data Capture Transforms datastores into data change events No change to existing apps and datastores Add features as separate apps Decorrelate event consumers (each at its own pace)

Slide 24

Slide 24 text

Data are like Gremlins but good Observe - collect data Orient - Put in context Decide - select course of action Act - Do it Continuous improvement loop

Slide 25

Slide 25 text

Thanks http://infinispan.org http://blog.infinispan.org @infinispan DEMOs: https://github.com/ galderz/datagrid-patterns http://debezium.io http://teiid.org Explore your data Take calculated risks Any use case?

Slide 26

Slide 26 text

Credits engineer by Wilson Joseph from the Noun Project panel by gira Park from the Noun Project Approve by Aha-Soft from the Noun Project Database sharing by YuguDesign from the Noun Project ram by Andrea Rizzato from the Noun Project Database Search by Nimal Raj from the Noun Project Cloud Analytics by Kevin Augustine LO from the Noun Project Broken Computer by Dan Hetteix from the Noun Project data search by Gregor Črešnar from the Noun Project Server by Creative Stall from the Noun Project Network by Creative Stall from the Noun Project transformation by Felipe Perucho from the Noun Project analytics by Roman Kovbasyuk from the Noun Project Server by Designify.me from the Noun Project