data streams: gegenüberstellung existierender systeme und ... · a b store 1 store 2 stub 3 stub 4...
TRANSCRIPT
![Page 1: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/1.jpg)
Data Streams: Gegenüberstellung existierender Systeme und
ArchitekturenMarius Renn
Betreuer: Jürgen Göres
![Page 2: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/2.jpg)
Inhalt
• Kriterien
• Existierende Systeme
• STREAM
• Aurora
• PIPES
• (SPEX)
• (MAIDS)
• Vergleich
• Fazit
EinleitungÜberblickVerschiedene DetailsKriterienerfüllung
![Page 3: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/3.jpg)
Anfragetypen
Ergebnisausgabe Definitionszeitpunkt
Einmalig: Liefert ein Ergebnis zu einem Zeitpunkt.
Vordefiniert: Anfrage vor Datenverarbeitung bekannt.
Kontinuierlich: Liefert kontinuierliche Ergebnisse.
Ad-hoc: Anfrage wird zur Laufzeit gestellt.
→ Kriterien sind zueinander orthogonal!
![Page 4: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/4.jpg)
Operatoren
s7 s6 s5 s4 s3 s2 s1s2
s7 s6 s5 s4 s3 s2 s1s2
Sliding Window:
Tumbling Window:
Blockierende Operatoren:Abhilfe durch (mengen-/zeitbasierte) Fenster:
Zustandsbehaftete Operatoren:Abhilfe durch Zwischenspeicher:
2 5 6 41 4 5 3 + 1 1 5 31 4 5 3 in M
1, 3, 5, 7
![Page 5: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/5.jpg)
Optimierung und Adaptierung
• Algebraische Optimierungen wie in DBVS weiterhin eingschränkt möglich.
• Die Anpassung an die Datenlast heisst Adaptierung.
• Load Shedding: Auslassen von Tupeln um Last zu verringern.
• QoS: Einhaltung von Dienstgütekriterien
![Page 6: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/6.jpg)
STREAM
• STanford StREam DatA Manager, entwickelt von der Stanford University, California
• Unterscheidet zwischen Strömen und Relationen.
• 3 Klassen von Operationen: Relation-zu-Relation, Relation-zu-Strom, Strom-zu-Relation
• Anfragesprache CQL (continuous query language) als Erweiterung zum populären SQL.
![Page 7: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/7.jpg)
Relation RStrom S
Ströme und Relationen
s t
green 1
red 1
orange 1
blue 2
red 2
black 3
yellow 5
purple 5
red 6
S
s
green
red
orange
R(1)
s
blue
red
R(2)
s
black
R(3)
. . .
![Page 8: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/8.jpg)
Datenstruktur“Wie werden Relationen in Ströme verwandelt, und umgekehrt?”
Tupel Zeitstempel Operation
data S timestamp T boolean I
Ströme besitzen nur positive Elemente, Relationen bestehen aus beiden:
s1
t1
-s2
t2
+ s2
t2
+s3
t3
- Istream
Relation Strom
Relation zu Strom
Beiden liegt die gleiche Datenstruktur zugrunde:
![Page 9: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/9.jpg)
Zustandsbehaftete Operatoren
Beispiel: Fensteroperator:
40 Tupel
Die zu entferndenden Tripel müssen gespeichert werden!
s1 t1 + s1 t1 +[Rows 40]
Strom zu Relation
s3 t3 + s2 t2 +
Strom Relation
s1 t1 -s41 t41 + [Rows 40]s43 t43 + s42 t42 +
Strom zu Relation
Strom Relation
![Page 10: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/10.jpg)
Synopsen
[100 Rows] [1 Hour]
Join
Selection
A B
S 1 S 2
S 3 S 4
Synopsen sind den Operatoren zugeteilte Zwischenspeicher.
Hohe Redundanz: Oftmals haben mehrere Synopsen ähnlichen Inhalt.
Lösung in STREAM: Synopsen-Sharing
![Page 11: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/11.jpg)
Synopsen-Sharing
[100 Rows] [1 Hour]
Join
Selection
A B
Store 1
Store 2
Stub 3 Stub 4
Stub 1 Stub 2
Eigentliche Daten liegen in den Stores.
Zugriff auf die Daten durch Stubs.
Stubs stellen eine Sicht auf den Store dar.
Aber: Optimierungen beeinflussen evtl. mehrere Operatoren.
![Page 12: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/12.jpg)
STREAM GUI
Um Einblicke in STREAM zu bekommen, liegt ein kostenfreies Testsystem zum Herunterladen bereit.
![Page 13: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/13.jpg)
KriterienKriterien STREAM
Entwickler Stanford University
Einmalige Anfragen Ja, auf Relationen
Kontinuierliche Anfragen Ja, auf Strömen
Vordefinierte Anfragen Ja
Ad-hoc-Anfragen Nein
Blockierende Operatoren Ja, durch Fenster
Zustandsbehaftete Operatoren Ja, durch Synopsen
Besonderheiten CQL, unterstützung v. Relationen
![Page 14: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/14.jpg)
Aurora
• Entwickelt von den Universitäten Brown, Brandeis und MIT, alle im Nordosten der USA.
• Einziges hier vorgestelltes kommerzielles System.
• Grafische Anfrageerstellung durch ein System von “Boxes and Arrows”.
• Reine Stromverarbeitung.
• Unterstützt die Einhaltung von Dienstgütekriterien.
![Page 15: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/15.jpg)
AnfragegraphenAufbau eines Anfragegraphs in Aurora:
Filter
in 1
Map
Filter
Tumble Super
Union
in 2
in 3
out 1
out 2Verbindungspunkt
Mehrere unabhängige Teilgraphen möglich!
Beachte: Graphen dürfen keine Zyklen enthalten.
![Page 16: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/16.jpg)
Verbindungspunkte
Filter Super
in 1 out 1
Verbindungspunkt
Speicher
Slide Filter
out 2
Ad-hoc Anfrage
Ad-hoc Anfrage an einem Verbindungspunkt:
Speicherspezifikation an einem Verbindungspunkt erfolgt durch den Benutzer durch eine Zeitangabe.
Anfragen zu Daten aus der Vergangenheit sind möglich.
![Page 17: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/17.jpg)
Optimierungsmöglichkeiten
Wie können Teilgraphen zur Laufzeit verändert werden?
Einfügen v. Projektionen
YX
P
Umordnen der Boxen
YX
Zusammenfassen v. Boxen
XY
YX
![Page 18: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/18.jpg)
Filter Map Filter
Join
Join
Verbindungspunkte
Filter
Graphoptimierung
Filter
![Page 19: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/19.jpg)
Zustandsbehaftete Operatoren
• Aurora macht keinen Unterschied zwischen zustandslosen und -behafteten Operatoren.
• Auf jedem Operator folgt eine Queue:
Slide
Tumble
s7 s6 s5 s4 s3 s2 s1
Fensterausschnitt
...
Fensterausschnitt
Tupel, die älter sind als die Zugriffsfenster können aus der Queue entfernt werden.
X
![Page 20: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/20.jpg)
Einhaltung der QoS-Kriterien“Kann man beobachten, ob die Dienstgütekriterien von Aurora eingehalten werden?”
(Aus J. Kern: Aurora Performance Monitoring Tool)
Ja, umfangreiches Monitoring System von Aurora:
![Page 21: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/21.jpg)
KriterienKriterien Aurora
Entwickler Brown, Brandeis, MIT
Einmalige Anfragen Nein
Kontinuierliche Anfragen Ja
Vordefinierte Anfragen Ja
Ad-hoc-Anfragen Ja
Blockierende Operatoren Ja, durch Fenster
Zustandsbehaftete Operatoren Ja, durch Queues
Besonderheiten QoS-Einhaltung, GUI
![Page 22: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/22.jpg)
PIPES
• PublicInfrastructure for Processing and Exploring Streams
• Entwickelt von der Universität Marburg
• Java API
• Implementiert HMTS, Mittelweg zwischen GTS und OTS.
!
!
!! "
"
!
#!!
Senken
Quellen
p i p
e s
![Page 23: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/23.jpg)
Quellen und SenkenSource
+ subscribe(s: Sink)+ transfer(o: Object)
Sink
+ process(o: Object)*
mySinks
void subscribe(Sink sink) { mySinks.add(sink);}
void transfer(Object o) { for(Sink sink: mySinks) { sink.process(o); }}
PIPES nennt diese Art der direkten Weiterleitung Direkte Interoperabilität (direct interoperability).
![Page 24: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/24.jpg)
Klassenhierarchie
<<interface>>
Source<<interface>>
Sink
<<interface>>
Pipe
AbstractSource AbstractSink
AbstractPipe
• Pipe ist sowohl Quelle wie auch Senke.
• Source, Sink und Pipe sind Schnittstellen.
• Abstract-Klassen bieten generische Implementierungen.
![Page 25: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/25.jpg)
Beispiel: FilterWir wollen eine Filter-Pipe implementieren:
public class Filter extends AbstractPipe{ protected Predicate myPred; public Filter(Predicate p) { myPred = p; } public void process(Object o) { if( myPred.check(o) ) transfer(o); }}
![Page 26: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/26.jpg)
Explizites Scheduling
vitueller Operator
process()
Filter Map
process() process()
void process(Object o) { ... transfer(o);}
Pipe
Filter BufferPipe Map
process()
BufferPipeScheduler
transfer()
void process(Object o) { // Add Object to Queue}
BufferPipe
Entkoppelt:
![Page 27: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/27.jpg)
HMTSThreadScheduler
BPS
!
!
! !
!
!
!
!
"
BPS
!
!
"
#
!
virtu
elle
r O
pe
rato
r
• BPS laufen in separaten Threads
• BPS verwalten ihre zugeordneten BPs.
• Direkte Interoperabilität weiterhin möglich
• ThreadScheduler verwaltet Priorität der Threads
![Page 28: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/28.jpg)
KriterienKriterien PIPES
Entwickler Universität Marburg
Einmalige Anfragen Nein
Kontinuierliche Anfragen Ja
Vordefinierte Anfragen Ja
Ad-hoc-Anfragen Nein
Blockierende Operatoren Ja, durch SweepAreas
Zustandsbehaftete Operatoren Ja, durch SweepAreas
Besonderheiten HMTS
![Page 29: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/29.jpg)
SPEX
• Entwickelt von der Universität München
• Verarbeitet XML-Datenströme
• Anfragen werden in XPath gestellt
• Beinhaltet eine grafische Benutzeroberfläche
• Konvertierung der XPath Anfrage in einen physischen Anfrageplan erfolgt in 3 Schritten.
![Page 30: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/30.jpg)
SPEX ViewerSPEX bietet eine grafische Benutzeroberfläche namens SPEX Viewer:
![Page 31: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/31.jpg)
KriterienKriterien SPEX
Entwickler Universität München
Einmalige Anfragen Nein
Kontinuierliche Anfragen Ja
Vordefinierte Anfragen Ja
Ad-hoc-Anfragen Nein
Blockierende Operatoren -
Zustandsbehaftete Operatoren -
Besonderheiten XML-Ströme
![Page 32: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/32.jpg)
MAIDS
• In der Entwicklung an der University of Illinois
• Soll Data-Mining auf Datenströmen realisieren
• Besitzt mehrere Module um Daten zu verarbeiten.
Data Stream Collector
Anfrage-Engine
Datenklassifizierer
Mustererkennung
Cluster-Analyse
Visualisierung
![Page 33: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/33.jpg)
Geneigte FensterUm Daten aus einem möglichst langem Zeitraum zu speichern, verwendet MAIDS geneigte Fenster:
Datenstruktur:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4
1 2 3 4 5 6 ... 19 20 21 22 23 24
1 2 3 4 5 6 ... 26 27 28 29 30 31
Minuten
Viertelstunden
Stunden
Tage
1 DS / Minute1 DS / Stunde1 DS / Tag1 DS / Monat
DS = Datensatz
JetztZeit
![Page 34: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/34.jpg)
Vergleich der SystemeKriterien STREAM Aurora PIPES SPEX
Einmalige Anfragen
Kontinuierliche Anfragen
Vordefinierte Anfragen
Ad-hoc-Anfragen
Blockierende Operatoren
Zustandsbehaftete Operatoren
Besonderheiten CQL QoS HMTS XML
![Page 35: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/35.jpg)
Fazit
• Ansätze unterschiedlich, hohe Diversität
• Noch gibt es keinen klaren Sieger
• MAIDS: Die Killer-Applikation von Morgen?
• Datenströme mit Sicherheit zunehmend wichtig! Forschung ist daher von großer Bedeutung.
![Page 36: Data Streams: Gegenüberstellung existierender Systeme und ... · A B Store 1 Store 2 Stub 3 Stub 4 Stub 1 Stub 2 Eigentliche Daten liegen in den Stores. Zugriff auf die Daten](https://reader033.vdokument.com/reader033/viewer/2022042921/5f6babd3345f4a233326dc7e/html5/thumbnails/36.jpg)
Dankeschön!
Fragen?