Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

49
Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast

Transcript of Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Page 1: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Mobile Datenbanken und Informationssysteme

Thema:

Strategien zur Datenverteilung

Push und Broadcast

Page 2: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1. Technische Entwicklung

2. Pull vs. Push

3. Datenverteilungsmodelle

4. Broadcast Disks

5. Read-Only-Transaktions &

Updatehandling

Page 3: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1.1. Technische EntwicklungTechnische Entwicklung

2. Pull vs. Push

3. Datenverteilungsmodelle

4. Broadcast Disks

5. Read-Only-Transaktions

Page 4: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Asymmetrische Kommunikation

Kommunikationskapazitäten in klassischen Netzwerken gleich

(downstream = upstream)

asymmetrisch verteilte Ressourcen

(downstream > upstream)

Page 5: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Asymmetrische Kommunikation

- Asymmetrie kann verschiedene Gründe haben, man unterscheidet

3 Arten:

Netzwerk (Bandbreiten) Asymmetrie

verschiedene Bandbreiten hat technische Gründe

Service Load Asymmetrie

Server sendet mehr Nachrichten als Client

mehr Clients als Server viele Anfragen Server überlasten

Gründe: Verhältnis Server-/Clientanzahl

neue, aktuelle Informationen

Datenmengen Asymmetrie

kleine Anfragen haben große Auswirkungen

Page 6: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Asymmetrische Kommunikation

Einseitige Kommunikation als Extremform der asymmetrischen Kommunikation

Schlafmodus wegen Batteriegrenzen (mobile, drahtlose Netzwerke)

Nicht technische Gründe (militärische Anwendungen)

Page 7: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Information Feed Application

kleine Anzahl von Produzenten liefern Informationen an viele

Konsumenten

Verkehrsinformationssysteme Börsenkurse anzeigen TV ... Unterhaltungsmedien Mircocell-Anwendungen militärsche Anwendungen

Page 8: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1. Technische Entwicklung

2.2. Pull vs. PushPull vs. Push

3. Datenverteilungsmodelle

4. Broadcast Disks

5. Read-Only-Transaktions

Page 9: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Warum Push?

Pull

• Uplink nicht immer bzw. nur eingeschränkt möglich

technische Gründe

beabsichtigt

• Serverüberlastung bei unbekannte Client-Anzahl möglich

Push

• Keine Clientanfragen

• Zentralisiertes System,

Updates nur auf Server

Effizienz

mehr Clients durch weniger Aktionen pro Client

bessere Kapazitätenauslastung

Page 10: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1. Technische Entwicklung

2. Pull vs. Push

3.3. DatenverteilungsmodelleDatenverteilungsmodelle

4. Broadcast Disks

5. Read-Only-Transaktions

Page 11: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Definitionen

• Push-Programm

In einem Push-basierten System sendet der Server Daten um die Bedürfnisse der Clients zu befriedigen. Die vom Server übermittelte Datensequenz wird als Push-Programm bezeichnet.

• Broadcast-Programm

Wird bei der Übermittlung ein Broadcast-Kanal verwendet, so spricht man von einem Broadcast-Programm.

Page 12: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

periodisch nicht periodisch

periodisch: wiederholtes senden eines Programms

Pull wiederholte Clientanfragen

Push wiederholtes Push-Programm

nicht periodisch: einmaliges senden

Page 13: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Point-to-Point One-to-Many

Point-to-Point

jedes gesendete Datenobjekt hat genau einen Empfänger

Unicast

One-to-Many

Daten gehen an große Anzahl von Empfängern

Multicast (an ausgewählte Client-Gruppe)

Broadcast (an alle Clients)

Page 14: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Data Dissemination

auf Push-Strategie und One-To-Many-Konzept basierende Datenverteilung

periodisch nicht periodisch

Vorteile: - Broadcastprogramm für unbegrenzte

Clientanzahl

- keine Performanceverluste

Page 15: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Data Dissemination

Nachteile: - Verschwendung von Netzwerk- und Client- Ressourcen, da alle Daten an alle Clients

- lange Broadcastprogramme bei viele disjunkten Interessen

- Server muss Interessen der Clients kennen und sie mit Prioritäten versehen können

Profile der Clients

Page 16: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Data Dissemination

Server kennt die zusendenden Daten und die Prioritäten

Client erstellt sein Profil selbst eigene Aktionen überwachen Anfragen an Server sammeln

Client-Profil

globales Profil

Probleme: Fairness des globalen Profils Aktualisierung der Profile

Page 17: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1. Technische Entwicklung

2. Pull vs. Push

3. Datenverteilungsmodelle

4.4. Broadcast DisksBroadcast Disks

5. Read-Only-Transaktions

Page 18: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Modellannahmen basiert auf Broadcast Disk: - Modell für Übertragungskanal

- verschiedene Größen und Geschwindigkeiten multiple Disk‘s

- schnelle Disk‘s senden enthaltenen Daten öfters als langsame

Ziel: Daten entsprechend ihrer Priorität auf Disk‘s verteilen wichtige Daten (hot spots) auf schnelle Disk‘s unwichtige Daten auf langsame Disk‘s

fein strukturierte Datenhierarchie

strukturiertes Broadcast-Programm

Page 19: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Modellannahmen

Restriktionen: - die Profile der Clients sind bekannt und konstant

- Anzahl der Clients ändert sich nicht

- keine Update‘s

- keine Upstream-Kommunikation

1. Wie generiert der Server ein optimales Broadcast-Programm ?

2. Wie organisiert der Client seinen Speicher optimal ?

2 Hauptaufgaben

Page 20: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

Einfachster Fall: Server fasst alle Profile zusammen und sendet kontinuierlich alle benötigten Daten.

flaches Broadcast-Programm

E AD BC

A B EDC

Page 21: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

Besser: Übermitteln der Daten mit verschieden Frequenzen

wichtige Daten werden im gleichen Zeitintervall öfters gesendet als unwichtige

Verfahrensweise:

1. Server berechnet für jedes Datenelement den prozentualen Anteil der Broadcast-Bandbreite

2. Zusammensetzen des Broadcast‘s, so dass „inter-arrival time“ zwischen zwei Vorkommen

eines Elementes, den Client-Bedürfnissen entsprechen

Page 22: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

Schiefes Broadcast-Programm

regelmäßiges Broadcast-Programm Multi-Disk Broadcast

A A B C

A B A C

Clustering verschiedene inter-arrival times

Konstante Abstände zwischen zwei gleichen Elementen

Page 23: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

ZugriffswahrscheinlichkeitErwartete Verzögerung(in Broadcast-Einheiten)

A B C Flach schiefmulti-disk

0,333 0,333 0,333 1,50 1,75 1,67

0,5 0,25 0,25 1,50 1,63 1,50

0,75 0,125 0,125 1,50 1,44 1,25

0,9 0,05 0,05 1,50 1,33 1,10

1,0 0,0 0,0 1,50 1,25 1,00

Page 24: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

Algorithmus für Multi-Disk Broadcast Ordnen der Daten nach ihren Zugriffswahrscheinlichkeiten (heiß kalt)② Daten mit der selben Priorität werden zusammengefasst und einer Disk

zugeordnet③ Wahl der relativen Frequenz der Übertragung für jede Disk (rel_freq(disk)

Integer)④ Unterteilen der Disk‘s in Blöcke Bij (j-ter Block auf i-ter Disk) indem man

zuerst das kleinste gemeinsame Vielfache der relativen Frequenzen berechnet und in max_blocks speichert. Danach teilt man jede Disk i in anz_blocks(i) = max_blocks/rel_freq(i) viele Blöcke.

⑤ Der Broadcast wird wie folgt erzeugt: 1. for i := 0 to max_blocks do

2. for j := 1 to anz_disks do3. sende Block Bj(i mod anz_blocks(j))4. end5. end

Page 25: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Broadcast-Programm

1 2 3 4 5 6 7 8 9 1011wichtig/heiß unwichtig/kalt

1 2 3 4 5 6 7 8 9 1011

1 2 3 4 5 6 7 8 9 1011

1 2 4 5 1 3 6 7 1 2 8 9 1 3 1011

Datenbank

Blöcke

Disk‘s

Broadcast-Programm

Subzyklus

Hauptschleife/-zyklus

Page 26: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

Problem: viele Client‘s mit verschiedenen Profilen

Performance-Nachteile für einige Client‘s,

aufgrund von abweichenden Profilen

Lösung: Speichern von Daten auf Client

Was ist optimale Strategie ?

Page 27: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

Probleme bei herkömmlichen Strategien:

Pull-System: wichtigste Daten lokal gespeichert unsinnig für Push, da am meisten gesendet

Speicherersetzung: LRU suboptimal

Broadcast-Programm nicht optimal

Page 28: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

neue Speicherstrategie

Speicherung von Daten, deren lokale Zugriffszeit signifikant kleiner ist als die Zugriffszeit beim Lesen von Broadcast.

1 2 3 4 5 6 7 8 9 1011

Von vielen Clients benötigt nicht lokal speichern

Von wenigen Client‘s benötigt lokal speichern

Page 29: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

neue Speicherstrategie

Speicherung von Daten, deren lokale Zugriffszeit signifikant kleiner ist als die Zugriffszeit beim Lesen von Broadcast.

1 2 4 5 1 3 6 7 1 2 8 9 1 3 10111 3 1011 1 2 4 5

Kurze Wartezeit

lange Wartezeit

Page 30: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

Neue Ersetzungsstrategie

Ersetzen der Daten mit dem kleinsten Verhältnis zwischen Zugriffswahrscheinlichkeit P und relativer Frequenz der Übermittlung

PIX (P Inverse X)

B

A P = 1%X = 1%

P = 0,5%X = 0,1%

PIX = 1

PIX = 5

zuerst im Speicher ersetzen,obwohl wichtiger

später ersetzen

Page 31: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Speicherverwaltung

Voraussetzungen für PIX

1) perfektes Wissen über Zugriffswahrscheinlichkeiten2) Vergleichen alle gespeicherten Daten zur Ersetzungszeit

wird kaum implementiert

Alternative ist LIX

beruht auf erweitertem LRU-Ansatz

Page 32: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Inhaltsübersicht

1. Technische Entwicklung

2. Pull vs. Push

3. Datenverteilungsmodelle

4. Broadcast Disks

5.5. Read-Only-TransaktionsRead-Only-Transaktions

Page 33: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Konzept der ROT

Client kann nur Downstream mittels ROT lesen

Schlafmodus zeitweise inaktiv

Energie- und Arbeitsersparnis

„Inhaltsverzeichnis“ des Broadcast nötig

Bucket kleinste logische Einheit des Broadcast

header k1 d k2 k3d d

bucket

bcast

Page 34: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Konsistenz

Konsistenter Datenbankzustand

Werte der Daten erfüllen bestimmte Integritätsbedingungen

Konsistenter Broadcast

Übertragung von konsistenten Datenbankzustände

Problem: Updates auf Server können zu inkonsistenten Übertragungen führen

Page 35: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Konsistenz

Lesen von einem Zyklus keine Konsistenzprobleme

Lesen von mehren Zyklen Inkonsistenzen möglich

If a>0 then read b else read c

b end... c a... ...beginbcast ...

b end... c 5... ...begin ...

b end... c -5... ...begin ...2 bcast

1 bcast

Update auf Server

Client liest b, obwohl a<0

Page 36: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Konsistenz

span(T)

... die Dauer/Spanne einer Transaktion T ist die maximale Anzahl der verschieden Broadcast-Zyklen von denen T liest.

Read_Set(T)

... Menge geordneter Paare von Daten und ihren Werten, welche von T gelesen wurden.

T liest konsistente Daten, wenn Read_Set(T) eine Teilmenge eines

konsistenten Datenbankzustandes ist

Page 37: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Invalidation-Only Methode

Ungültigkeitsbericht (invalidation-report):

Liste von Datenelementen, deren Wert sich während des letzten Broadcast-Zyklus geändert hat

ROT wird abgebrochen, wenn vorher gelesene Daten im Ungültigkeitsbericht enthalten sind

x Read_Set(T) x invrep Abbruch

invrep bcast

Ungültigkeitsbericht

Page 38: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Invalidation-Only Methode

Nachteile:

nur Abbruch von inkonsistenten ROT

Client muss jeden Bericht lesen

Performancebeeinflussung durch vergrößertenBroadcast

Page 39: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Multiversion Broadcast

Abbruch von ROT verhindern durch mehrere Versionen der Daten.

Zyklus C0

Client

Erste Leseoperation der ROT liefert Daten mit Versionsnummer C0

Zyklus Ci

Kein Abbruch gelesene Daten haben VNr.<C0Abbruch gelesene Daten haben VNr.>C0

Page 40: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Multiversion Broadcast

V-Multiversion-Server

... sendet die letzten V älteren Versionen der Daten

garantiert Konsistenz aller Transaktionen mit

max(span(T)) < V

Page 41: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Multiversion Broadcast

header k1 d k2 k3d dP P P k1 d v k3 d v

bucket overflow bucket

Schlüsselfelder k

Datenfelder d

Version vPointer P

Vorteil: mittels Inhaltsverzeichnis auf Client sind alle Daten problemlos auffindbar (ältere Versionen über Pointer)

Nachteil: lange laufende ROT (viele Zyklen) müssen immer auf Ende des bcast warten stark vergrößertes Broadcast-Volumen

Page 42: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Serialisation-Graph Testing

History H(Menge von Transaktionen)

Serialisierbarkeitsgraph SG(H)

(gerichteter Graph, mit TA als Knoten und Paare von TA als Kanten)

Test auf Kreisfreiheit

(Serialisierbarkeitstheorem: H mit kreisfreien SG(H) sind serialisierbar)

Page 43: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Serialisation-Graph Testing

SG des Servers(bezogen auf TA auf Server)

lokale SG-Kopie des Clients(enthält zusätzlich alle aktiven ROT des Clients)

Veränderungen des Server-SG‘s werden mit dem bcast mitübertragen und vom Client in seine lokale Kopie integriertROT des Client‘s werden nur akzeptiert, wenn in der lokalen Kopie kein Kreis entsteht

Page 44: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Serialisation-Graph Testing

Verbesserungen:

• nur relevante SG-Teilgraphen des Servers auf Client speichern

• Update-Informationen am Ende des Broadcast-Zyklus

lokales Inhaltsverzeichnis zum Finden der Daten

Nachteile:

• keine inaktiven Phasen möglich

• aufwendige Aktualisierung der lokalen SG-Kopie

Page 45: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Caching/Lokales Speichern

meist werden die wichtigsten Daten lokal gespeichert

Laufzeitverbesserung span(T) kleiner, d.h. aus weniger Zyklen lesen

Konsistenz auch für gespeicherte Daten garantieren Anwendung der genannten Methoden geeignete Ersetzungsstrategie nötig

Zusätzliche Informationen nötig

Page 46: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Caching/Lokales Speichern

Möglichkeit: Invalidation-only & Autoprefetching

Ungültigkeitsbericht am Anfang eines jeden bcast

Client sperrt die ungültigenDaten und markiert sie

automatisches Updaten dermarkierten Daten

Daten bleiben im Speicher

Page 47: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Caching/Lokales Speichern

Erweiterung: „invalidation-only with version cache“

- neben Daten auch den Broadcast-Zyklus speichern in dem sie zuletzt geändert wurden

- ROT nicht abbrechen als abgebrochen markieren

kann so lange weiterlaufen, wie alte

konsistente Daten vorhanden sind

Page 48: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Performance Betrachtung

  Invalidation-only Multiversion Broadcast

SGT Methode Caching

Anzahl von akzeptierten ROT

gering groß (abh. von der Anzahl der

Versionen)

mittel (abh. von den TA auf dem Server)

(abh. von der Speichergröße des

Clients)

Laufzeit (Anzahl von Zyklen)

keine Auswirkung wächst bei lang lesenden TA

keine Auswirkung sinkt

Broadcastgröße (Vergrößerung des

BC-Volumens)

abh. von Update-Rate (1% bei 50 updates

und span = 3)

abh. von Update-Rate und span (12% bei 50

updates und V = 3)

abh. von TA auf dem Server (2,5% bei 10

STA und 50 updates)

relativ gering, z.B. für invalidation-

Report

Gelesener Datenbankzustand

Zustand bei der letzten Leseoperation

Zustand bei der ersten Leseoperation

Ein Zustand zwischen erster und letzter LO

verschieden

Rechenaufwand gering mittel Beträchtlich (SG auf Server und Client

erhalten)

Gering

Toleranz bzgl. Ausklinken

Keine (lesen des Inv. Reports zu jedem

Zyklus)

Vorhanden (abh. von span und Update-

Rate)

Keine (SG muss immer aktualisiert

sein)

Vorhanden (abh. von Update-Rate und Speichergröße)

Page 49: Mobile Datenbanken und Informationssysteme Thema: Strategien zur Datenverteilung Push und Broadcast.

Abschießende Bemerkungen

• Push- und Broadcast-Konzepte werden kaum in der Wirtschaft eingesetzt

Sicherheitsaspekte

Zu spezifischeAnwendungen

Wirtschaftlichkeit

Zu viele Vorabinformationen notwenig