More data beats better algorithms - Speed Kit · 2020. 6. 5. · (12. November 2013) ... von DBS....

Post on 21-Jan-2021

0 views 0 download

Transcript of More data beats better algorithms - Speed Kit · 2020. 6. 5. · (12. November 2013) ... von DBS....

"More data beats better algorithms"

Skalierbarkeit: Leistungssteigerung durch zusätzliche Ressourcen

Shared Memory"Oracle 11g"

Shared Disk"Oracle RAC"

Shared Nothing"NoSQL"

Vertikale Skalierung Horizontale Skalierung

Datenvolumen

Titel Vortragender

»Skalierbare Cloud-Datenbanken in Forschung und Praxis«

Felix Gessert, Universität Hamburg

»Effizientes Indizieren und Verarbeitung von Big Data in Hadoop MapReduce«

Prof. Jens Dittrich, Stefan Richter, Universität des Saarlandes;

»Skalierbarkeit und Wiederverwendbarkeit von Diensten in der Cloud«

Prof. Bernhard Mitschang, Universität Stuttgart

»Semantic Analysis for Big Data with SMILA« Dr. Mario Lenz, EmpolisInformation Management GmbH

»Eröffnen neuer Horizonte durch Echtzeitverarbeitung von Big Data -Insbesondere für StartUps«

Cafer Tosun, SAP Innovation Center

»Lean BI – Focusing on solution building withBig Data«

Guido Niermann, Dataforce GmbH

»Optimale Infrastruktur- und Datenverkehrsmodelle «

Dr. Marten Schönherr, T-Labs

Forschung

Technologien

Anwendungen

Felix Gessert(12. November 2013)

Seit Ende 2012 Doktorand in der Datenbank-Gruppe der Uni Hamburg

Forschungsinteressen:◦ NoSQL, Cloud Computing, Skalierbarkeit, Caching, Web

Forschung

Startup

Was sindCloud-Datenbanken?

Infrastructure-as-a-Service

Platform-as-a-Service

Software-

as-a-Service…

Database-as-

a-ServiceXeround

Amazon RDS

SQL Azure

S3, DynamoDB, ..

MongoHQ

Stackmob

Parse

skalierbare "NoSQL" Datenbanken

"Hosted"RDBMS

"Backend-as-a-Service"

Integrierte Storage APIs

Cloud-Deploymentvon DBS

Cloud-Datenbank-Forschung an der Uni Hamburg

ClientApplikationDatenbank

Web Server

Web Server

Durchschnitt (2013):90 HTTP Requestspro Seitenaufruf

Klassische 3-Tier Architektur

Hohe Latenz

Universalarchitektur

Rich ClientApplikationDatenbank

Web Server

Web Server

Single-Page Apps

Hohe Latenz

(Rich Client, Smart Client)

Daten (z.B. JSON)

(AngularJS, Backbone,

Ember.JS, etc.)

Durch jeweils 100ms zusätzliche Ladezeit geht der Umsatz um 1% zurück.

Studie von Amazon

Rich ClientApplikationDatenbank

Web Server

Web Server

Single-Page Apps

Hohe Latenz

(Rich Client, Smart Client)

Daten (z.B. JSON)

(AngularJS, Backbone,

Ember.JS, etc.)

Durch jeweils 100ms zusätzliche Ladezeit geht der Umsatz um 1% zurück.

Studie von Amazon

Wenn die Ladezeit zum Anzeigen der Suchergebnisse um 500ms steigt, geht der Traffic um 20% zurück.

Studie von Google

Rich ClientApplikationDatenbank

Web Server

Web Server

Single-Page Apps

Hohe Latenz

(Rich Client, Smart Client)

Daten (z.B. JSON)

(AngularJS, Backbone,

Ember.JS, etc.)

Durch jeweils 100ms zusätzliche Ladezeit geht der Umsatz um 1% zurück.

Studie von Amazon

Wenn die Ladezeit zum Anzeigen der Suchergebnisse um 500ms steigt, geht der Traffic um 20% zurück.

Studie von Google

Eine Verlangsamung von Suchergebnissen um 1s senkt den Umsatz um 2,8%, bei 2s um 4,3%.

Studie von Bing

Rich ClientApplikationDatenbank

Web Server

Web Server

Single-Page Apps

Hohe Latenz

(Rich Client, Smart Client)

Daten (z.B. JSON)

(AngularJS, Backbone,

Ember.JS, etc.)

Durch jeweils 100ms zusätzliche Ladezeit geht der Umsatz um 1% zurück.

Studie von Amazon

Wenn die Ladezeit zum Anzeigen der Suchergebnisse um 500ms steigt, geht der Traffic um 20% zurück.

Studie von Google

Eine Verlangsamung von Suchergebnissen um 1s senkt den Umsatz um 2,8%, bei 2s um 4,3%.

Studie von Bing

30%-50% aller Anfragen, die länger als 4s dauern, werden abgebrochen.

Studie von Akamai

Rich ClientApplikationDatenbank

Web Server

Web Server

Single-Page Apps

Hohe Latenz

(Rich Client, Smart Client)

Daten (z.B. JSON)

(AngularJS, Backbone,

Ember.JS, etc.)

Durch jeweils 100ms zusätzliche Ladezeit geht der Umsatz um 1% zurück.

Studie von Amazon

Wenn die Ladezeit zum Anzeigen der Suchergebnisse um 500ms steigt, geht der Traffic um 20% zurück.

Studie von Google

Eine Verlangsamung von Suchergebnissen um 1s senkt den Umsatz um 2,8%, bei 2s um 4,3%.

Studie von Bing

30%-50% aller Anfragen, die länger als 4s dauern, werden abgebrochen.

Studie von Akamai

Eine Ladezeitverringerung von 7s auf 2s hat den Gewinn um 10% und die Besucherzahl um 25% erhöht.

Studie von Shopzilla

Rich ClientServiceDB-Cluster

RESTServer

Web-Caches Geringe Latenz

Skalierbare NoSQL DBs

Cloud

Kapselt DB mit REST Schnittstelle.• Skalierbarkeit• Cache Konsistenz• Transaktionen

RESTServer

Cachebare Datenbankobjekte

Orestes

Client-

(Browser-)

Cache

Proxy

CachesISP

CachesCDN

Caches

Reverse-

Proxy

Caches

Miss

Hit

MissMiss

MissMiss

100%

50%

0%

P(Cache-Hit)

0 ms 1 ms 10 ms 20 ms 50-500 ms 50-500 ms

em.find(id) JavaScript

Orestes

Client-

(Browser-)

Cache

Proxy

CachesISP

CachesCDN

Caches

Reverse-

Proxy

Caches

Miss

Hit

MissMiss

MissMiss

100%

50%

0%

P(Cache-Hit)

0 ms 1 ms 10 ms 20 ms 50-500 ms 50-500 ms

GET /db/posts/{id} HTTP

Orestes

Client-

(Browser-)

Cache

Proxy

CachesISP

CachesCDN

Caches

Reverse-

Proxy

Caches

Miss

Hit

MissMiss

MissMiss

100%

50%

0%

P(Cache-Hit)

0 ms 1 ms 10 ms 20 ms 50-500 ms 50-500 ms

Cache-Hit: Objekt zurückgebenCache-Miss: Anfrage weiterleiten

Orestes

Client-

(Browser-)

Cache

Proxy

CachesISP

CachesCDN

Caches

Reverse-

Proxy

Caches

Miss

Hit

MissMiss

MissMiss

100%

50%

0%

P(Cache-Hit)

0 ms 1 ms 10 ms 20 ms 50-500 ms 50-500 ms

Objekt aus DB abrufen und mit Caching-Informationen ausliefern

Orestes

Client-

(Browser-)

Cache

Proxy

CachesISP

CachesCDN

Caches

Reverse-

Proxy

Caches

Miss

Hit

MissMiss

MissMiss

100%

50%

0%

P(Cache-Hit)

0 ms 1 ms 10 ms 20 ms 50-500 ms 50-500 ms

Skalierbarkeit und Cache-Hits

Latenz-Gewinn

App

App Cache

Wie verhindert man Stale Reads?

App

App Cache

1 4 020

purge(obj)

hashB(oid)hashA(oid)

131 1 110Flat(Counting Bloomfilter)

hashB(oid)hashA(oid)

App

App Cache

1 4 020

purge(obj)

hashB(oid)hashA(oid)

131 1 110Flat(Counting Bloomfilter)

hashB(oid)hashA(oid)

𝑓 ≈ 1 − 𝑒−𝑘𝑛𝑚

𝑘

𝑘 = ln 2 ⋅ (𝑛

𝑚)

False-Positive

Rate:

Hash-

Funktionen:

Bei 10.000 Änderungen pro 10 min. und 1% Fehlerrate: 12 KByte

Client Machine

50 ...

Web

CacheOrestes

Server

Versant

DB

Amazon EC2 Irland EC2 USA165 ms

Client Machine

Client Machine

30 000 Objekte

500 Anfragen/

Client

Wie macht man die Forschungs-ergebnisse nutzbar?

Setzt Orestes als Startup um:

Setzt Orestes als Startup um:

Internet

Seoxy

REST-API Transactions Schema Management Cache Consistency

Auto-Scaling Multi-Tenancy Security and Access Control Provisioning

Setzt Orestes als Startup um:

Internet

Seoxy

REST-API Transactions Schema Management Cache Consistency

Auto-Scaling Multi-Tenancy Security and Access Control Provisioning

Setzt Orestes als Startup um:

Stand: eXist-Gründerstipendium beantragt, Entwicklungsstart Januar 2014

Stand: eXist-Gründerstipendium beantragt, Entwicklungsstart Januar 2014

Nic

ht P

ropr

ietä

r

Stru

ktur

iert

e D

aten

Serv

ice

Leve

l Agr

eem

ents

REST

-API

Skal

ierb

arke

itKo

nsis

tenz

Tran

sakt

ione

nA

usfa

llsic

herh

eit

Que

rys

Web

-Clie

nt Z

ugri

ff

Cach

ing

Unt

erst

ützu

ng

Da

tab

ase

Se

rvic

es

Amazon S3

Azure Tables

SimpleDB

DynamoDB

Amazon RDS

Database.com

MongoHQ

Cloudant

RedisCloud

Cassandra.io

Stackmob

ApiOmat

Parse

Firebase

RockDB

Da

tab

ase

Se

rvic

es

Ho

ste

d N

oS

QL

Ba

cke

nd

-as-

a-S

erv

ice

Unterstützt

Rudimentär

Nicht unterstützt

Unbekannt

Eine Cloud-Datenbank für alle Use-Cases?

Kontext: elektronisches Abfallnachweisverfahren

ZKS-

Abfall

Behörden

Entsorger

Beförderer

ErzeugerProbleme:

Datenmodell

Datenvolumen

Analytics

Welche Technologie?

Kontext: elektronisches Abfallnachweisverfahren

ZKS-

Abfall

Behörden

Entsorger

Beförderer

ErzeugerProbleme:

Datenmodell

Datenvolumen

Analytics

Metadaten Dokumente

Datenbank Storage-System

Anwendungen

Data-Mining(z.B. Betrugs-erkennung) Welche

Technologie?

Konsequenz:Polyglot Persistence

Künftige Fragen:Verschlüsselte Cloud-Datenbanken?(Homomorphe Verschlüsselung, CryptDB, RelationalCloud)

Konkurrenzfähige deutsche Cloud?(Telekom Cloud, deutsches Azure Data-Center)

Aktuelle Forschungsfragen

Scalable Cloud Data Management:Parallel SECONDO, Index-Based Join Operations in Hive, Elastic Data Partitioning for Cloud-based SQL Processing Systems

Database-as-a-Service: Relational Cloud, iCBS, SLA-tree, PIQL, Zephyr, Albatross, Slacker, Dolly

Skalierbare Transaktionen: Highly-Available Transactions, MegaStore, Spanner, F1, Warp, G-Store, Deuteronomy, ElasTras

Konsistenz: Bolt-on Causal Consistency, LazyBase, Pnuts, MDCC, COPS

Backend Systems

MongoDB Redis Db4o Cassandra HBase

Mediator

Nonfunctional RequirementsFunctional Requirements

Scan-Querys

Conditional Updates

Transactions

Filter-Querys

Joins

Analytics

Elasticity

Consistency

Read-Latency

Write-Latency

Write-Throughput

Scalability of Data Volume

Scalatbility of Request Load

Read-Availability

Write-Availability

DatenmodellKlasse des Datenmodells

GeforderteFähigkeiten

GeforderteGarantien

Mappt Operationen auf geeignetstes System

Backend Systems

MongoDB Redis Db4o Cassandra HBase

Mediator

Nonfunctional RequirementsFunctional Requirements

Scan-Querys

Conditional Updates

Transactions

Filter-Querys

Joins

Analytics

Elasticity

Consistency

Read-Latency

Write-Latency

Write-Throughput

Scalability of Data Volume

Scalatbility of Request Load

Read-Availability

Write-Availability

DatenmodellKlasse des Datenmodells

GeforderteFähigkeiten

GeforderteGarantien

Mappt Operationen auf geeignetstes System

Weitere Informationen:gessert@informatik.uni-hamburg.de

http://orestes.info