Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung &...

33
Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann, Malte Lauenroth, Michael Schaarschmidt 19. August 2014

Transcript of Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung &...

Page 1: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann, Malte Lauenroth, Michael Schaarschmidt

19. August 2014

Page 2: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Präsentationwird geladen

Page 3: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Durchschnitt: 9,3s

Das Ladezeitproblem

Loading…

-1% Umsatz

100 ms

-9% Seitenbesuche

400 ms500 ms

-20% Traffic & Umsatz

1s

-7% Konversionen

Page 4: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Langsame Apps und Webseiten schaden

allen wichtigen Business-Metriken

...aber wo liegt das technische Problem?

Page 5: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Stand der TechnikZwei Engpässe: Latenz und Verarbeitung

Hohe Latenz

Hohe Verarbeitungszeit

Page 6: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Problem: Netzwerklatenz

I. Grigorik, High performance browser networking. O’Reilly Media, 2013.

Page 7: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Problem: Netzwerklatenz

I. Grigorik, High performance browser networking. O’Reilly Media, 2013.

2× Bandbreite = gleiche Ladezeit

½ Latenz ≈ ½ Ladezeit

Page 8: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Unsere LösungGlobales Verteilen und Zwischenspeichern von Daten

Niedrige Ladezeit

Keine Verarbeitungszeit

Page 9: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Unsere LösungSkalierbarkeit und Ausfallsicherheit

Page 10: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

4,5 JahreForschung & Entwicklung

Neue AlgorithmenDatenaktualität erstmals gelöst

VeralteteDaten

InnovationProblem: durch Änderungen veralten Daten

Page 11: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

InnovationLösung: Baqends Algorithmus aktualisiert Daten

Bloomfilter

4,5 JahreForschung & Entwicklung

Neue AlgorithmenDatenaktualität erstmals gelöst

aktualisierenIst noch aktuell? 1 0 11 0 0 10 1 1

Page 12: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

InnovationLösung: Baqends Algorithmus aktualisiert Daten

F. Gessert, F. Bücklers, und N. Ritter, „ORESTES: a ScalableDatabase-as-a-Service Architecture for Low Latency“, in CloudDB 2014, 2014.

F. Gessert und F. Bücklers, „ORESTES: ein System für horizontal skalierbaren Zugriff auf Cloud-Datenbanken“, in Informatiktage 2013, 2013.

F. Gessert, S. Friedrich, W. Wingerath, M. Schaarschmidt, und N. Ritter, „Towards a Scalable and Unified REST API for Cloud Data Stores“, in 44. Jahrestagung der GI, Bd. 232, S. 723–734.

F. Gessert, M. Schaarschmidt, W. Wingerath, S. Friedrich, und N. Ritter, „The Cache Sketch: Revisiting Expiration-basedCaching in the Age of Cloud Data Management“, in BTW 2015.

F. Gessert und F. Bücklers, Performanz- und Reaktivitätssteigerung von OODBMS vermittels der Web-Caching-Hierarchie. Bachelorarbeit, 2010.

F. Gessert und F. Bücklers, Kohärentes Web-Caching von Datenbankobjekten im Cloud Computing. Masterarbeit 2012.

W. Wingerath, S. Friedrich, und F. Gessert, „Who Watches theWatchmen? On the Lack of Validation in NoSQLBenchmarking“, in BTW 2015.

M. Schaarschmidt, F. Gessert, und N. Ritter, „TowardsAutomated Polyglot Persistence“, in BTW 2015.

S. Friedrich, W. Wingerath, F. Gessert, und N. Ritter, „NoSQLOLTP Benchmarking: A Survey“, in 44. Jahrestagung der Gesellschaft für Informatik, 2014, Bd. 232, S. 693–704.

F. Gessert, „Skalierbare NoSQL- und Cloud-Datenbanken in Forschung und Praxis“, BTW 2015

Page 13: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Wie setzt man

als Entwickler die Technologie ein?

Backend-as-a-Service

Page 14: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

DB.Tankstellen.find()

.near("location", myLoc, 5000)

.lessThen("closing", time)

.greaterThen("opening", time)

.descending("price")

.resultList();

Page 15: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0
Page 16: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Backend-as-a-Service

=

+

Datenbank Cloud Code

Page 17: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Technische RealisierungDie ORESTES Plattform

Internet

Cache Sketch

Reverse-ProxyCaches

OrestesServers

Desktop

Mobile

TabletContent-Delivery-Network

Smarte Polyglotte Persistenz sucht

die passende Speicherung aus

Page 18: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Technische RealisierungDie ORESTES Plattform

Internet

Cache Sketch

Reverse-ProxyCaches

OrestesServers

Desktop

Mobile

TabletContent-Delivery-Network

Cloud Code, automatisches

Caching & Autoscaling

Page 19: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Technische RealisierungDie ORESTES Plattform

Internet

Cache Sketch

Reverse-ProxyCaches

OrestesServers

Desktop

Mobile

TabletContent-Delivery-Network

Optimierte Performace, Verfügbarkeit

und Skalierbarkeit durch HTTP Caching

Page 20: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Technische RealisierungDie ORESTES Plattform

Internet

Cache Sketch

Reverse-ProxyCaches

OrestesServers

Desktop

Mobile

TabletContent-Delivery-Network

REST API für beliebige Endgeräte

Page 21: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Technische RealisierungDie ORESTES Plattform

Internet

Cache Sketch

Reverse-ProxyCaches

OrestesServers

Desktop

Mobile

TabletContent-Delivery-Network

IaaS-Cloud

auf

CDN

auf

Page 22: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Wieviel bringt es?Ladezeitvergleich für eine praktische Anwendung

0,7

s 1,8

s 2,8

s 3,6

s

3,4

s

CALIFORNIEN

0,5

s

1,8

s 2,9

s

1,5

s

1,3

s

FRANKFURT

0,6

s

3,0

s

7,2

s

5,0

s 5,7

s

SYDNEY

0,5

s

2,4

s

4,0

s

5,7

s

4,7

s

TOKYO

+156%

0,5s

1,3s

FRANKFURT

Page 23: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

1 4 020

purge(obj)

hashB(oid)hashA(oid)

31 1 110Flat(Counting Bloomfilter)

hashB(oid)hashA(oid)

BrowserCache

CDN

1

20.000 Updates

Bloomfilter 11 KByte klein

Was passiert im Detail?Der Algorithmus

Wie werden StaleReads verhindert?

Page 24: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Ladezeitengelöst

Doch was ist mit

Echtzeit-Daten?

Page 25: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Queries

Baqend Stream Processing System

BeliebigeDaten

Baqend Real-TimeAPI: die Komplexität wird verborgen

stream=DB.News.find().stream();stream.on("add", onNews);stream.on("remove", onRemove);

Continuous Queries, Push Notifications,

Alerts, Monitoring,…

Page 26: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Baqend Real-TimeBeispiel: dpa

Page 27: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Das Produkt:

Baqend Cloud

Gemanagter Backend-

as-a-Service Cloud Dienst

Page 28: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Das Produkt:

Baqend Enterprise

Lizensierte Software für

on-premise deployments

Page 29: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Das Produkt:

Baqend Community Edition

Freie Version für kleine &

private Projekte

Page 30: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Baqend CloudPay-as-you-go Preismodell

Starter Business Enterprise Individual

0 €+1 €

for any 20 €+1 €

for any 200 €+1 €

for any 1.000 €+1 €

for any

Lesende Anfragen (T)

100 20 500 30 7.000 100 20.000 150

Schreibende Anfragen (T)

50 10 250 15 3.500 50 10.000 75

DownloadVolumen (GB)

4 2 20 4 200 4800 4

cached 1.200 8

Datenbank im Monat (GB)

2 2 10 3 30 4 100 4

File storage im Monat (GB)

5 20 100 25 1.000 25 5.000 33

Page 31: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Was passiert als nächstes?Baqend Roadmap

Baqend Enterprise

SoftwarepaketBaqend

Cloud-Service

Als Proof of Concept

Auch als Community Edition verfügbar

Mit umfangreichem Free Tier

2015Q1-Q4

2016Q1

2016Q1

Eng betreute

Pilotprojekte

Page 32: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

www.baqend.com

Page 33: Team: Felix Gessert, Florian Bücklers, Hannes Kuhlmann ... · Bloomfilter 4,5 Jahre Forschung & Entwicklung Neue Algorithmen Datenaktualität erstmals gelöst Ist noch aktuell? 0

Ziel mit InnoRampUpUnsere Vision:

Apps und Webseitenohne Ladezeiten