48
01.06.2005 Mobile Datenbanksysteme Mark Thomé INF – M2 – AW1

Mobile Datenbanksysteme

Embed Size (px)

DESCRIPTION

Mobile Datenbanksysteme. Mark Thomé INF – M2 – AW1. Agenda. Motivation Grundlagen Replikation und Synchronisation Mobile Transaktionen Anfrageverarbeitung Mobile Datenbanken im Ferienclub Fazit. Agenda. Motivation Grundlagen Replikation und Synchronisation Mobile Transaktionen - PowerPoint PPT Presentation

Citation preview

Page 1: Mobile Datenbanksysteme

01.06.2005

Mobile Datenbanksysteme

Mark ThoméINF – M2 – AW1

Page 2: Mobile Datenbanksysteme

Mobile Datenbanksysteme 2

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 3: Mobile Datenbanksysteme

Mobile Datenbanksysteme 3

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 4: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Motivation 4

Motivation

• Komplexität der Anforderungen steigt• Mobile Clients für Integration von

Geschäftsprozessen• Online/Offline-Szenario• Speicher auf mobilen Geräten

limitierte Ressourcen Replikation und Synchronisation

Page 5: Mobile Datenbanksysteme

Mobile Datenbanksysteme 5

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 6: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 6

Definitionen

• Mobiles Datenbanksystem[1] Small-Footprint-

Datenbanksystem Installiert auf mobilem

Client Speichert Daten

dauerhaft und in strukturierter Weise

Stellt Datenbankfunktionalität bereit

Speziell angepasst an die Anforderungen und Bedürfnisse von beschränkten Ressourcen

Page 7: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 7

Klassische Client/Server-Architektur

• Client: Initiierender Prozess Stellt Anfragen Erteilt Aufträge

• Server: Reagierender Prozess Bearbeitet Anfragen Erhält Aufträge

• Anfrage-Antwort-Protokoll:

Page 8: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 8

Client/Server-Klassifikation

Page 9: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 9

Verteilte Datenbanksysteme

• Idee: Transparente Verteilung von Daten und Datenbankfunktionalität auf verschiedene Knoten

• Jeder Knoten hat eigenes DBS• Jeder Knoten ist Einstiegspunkt• Alle Knoten zusammen bilden das verteilte

System

Page 10: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 10

Verteilte Datenbanksysteme: Klassifikation

• Klassifizierung durch drei Dimensionen: Heterogenität Verteilung Autonomie

Page 11: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 11

Verteilte Datenbanksysteme: Anforderungen

• Lokale Autonomie• Unabhängigkeit• Hohe Verfügbarkeit• Orttransparenz• Fragmentierungstransparenz• Replikationstransparenz• Verteilte Anfrageverarbeitung• Verteilte Transaktionsverwaltung• Hardware-Unabhängigkeit• Netzwerkunabhängigkeit• Datenbanksystemunabhängigkeit

Page 12: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 12

Verteilte Datenbanksysteme: Schemaarchitektur

• Globales konzeptionelles Schema: Beschreibung des

logischen Aufbaus der Gesamt-Datenbank

Sichert die Verteilungstransparenz

• Globales Verteilungsschema: Festlegung der

Datenverteilung Auf logischer Ebene eine

prädikative Beschreibung der Verteilung (Partitionierung)

Auf physischer Ebene die genaue Festlegung des Speicherortes (Allokation)

Page 13: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 13

Mobile verteilte Datenbanksysteme

• Mobilität als Erweiterung der Verteilungs-Klassifikation

• Mobile Knoten• Netzpartitionierung

durch häufige Trennung mobiler Knoten von Gesamtsystem

Page 14: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Grundlagen 14

Erweiterte Client/Server-Architektur

Page 15: Mobile Datenbanksysteme

Mobile Datenbanksysteme 15

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 16: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

16

Replikation und Synchronisation

• Replikation: Einführung von Datenredundanz

• Synchronisation: Abgleich von redundanten Daten, die geändert wurden

• Replikation und Synchronisation sind für die Umsetzung eines Offline-Szenarios notwendig

Page 17: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

17

Vorteile von Replikation

• Verfügbarkeit• Kommunikationskosten• Performanz• Lastbalancierung• Datenverlust• Offline-Szenario

Page 18: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

18

Nachteile von Replikation

• Speicherplatzbedarf• Konsistenzsicherung• Komplexität des Systems

Page 19: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

19

Zielkonflikt der Replikation

• Forderung an Replikation sind Verfügbarkeit, Konsistenz und Kosten

• Alle drei Forderungen sind gleichzeitig nicht zu erreichen

• Beispiel: Hohe Verfügbarkeit durch hohe Anzahl von Replikaten erschwert die Konsistenzsicherung

Page 20: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

20

Replikationsstrategien

• Copy-Update-Strategie• Fehlerbehandlung• Konsistenzsicherung konkurrierender

Zugriffe Erstellung einer Serialisierbarkeitsreihenfolge Nutzung von Sperrverfahren,

Zeitstempelverfahren sowie semantischen Synchronisationsverfahren

• Behandlung von Lesetransaktionen Berücksichtigung von Alter und Konsistenz

Page 21: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

21

Replikationsdefinition

• Replikationsschemadefinition: Definition des Ausschnitts des

Datenbankschemas auf der Replikationsquelle, welcher für die Replikation genutzt wird

Beschreibt Operationen (z.B. lokal änderbar) und zusätzliche Integritätsbedingungen

Dient als Erweiterung für den Synchronisationsprozess

• Replikationsdefinition: Auswahl der zu replizierenden Daten in

Abhängigkeit der Replikationsschemadefinition

Page 22: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

22

Synchronisation

• Zielsetzung Bewahrung bzw. Wiederherstellung eines

konsistenten Zustands innerhalb der Replikationsumgebung

• Prozess bestehend aus zwei Phasen: Reintegration Rückübertragung

• Bidirektional wenn beide Phasen in einem Arbeitschritt abgehandelt werden

• Unidirektional wenn nur eine Phase in einem Arbeitsschritt abgehandelt wird

Page 23: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

23

Replikations- und Synchronisationsverfahren

• Replikationsstrategien als Grundlage

Page 24: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

24

Konsistenzerhaltene Verfahren

• Pessimistische Verfahren: Erhaltung der Datenkonsistenz durch Sperren ROWA (Synchron)

• Gleichzeitige Änderung aller Replikate in einer Transaktion

• Für mobile Umgebungen nicht geeignet

Primary Copy-Verfahren (Asynchron)• Änderungen auf einer Primärkopie• Für mobile Umgebungen nur bedingt geeignet

Quorum-Verfahren (Asynchron)• Änderungen nur in Abhängigkeit von verfügbaren

Replikaten• Für mobile Umgebungen nur bedingt geeignet

Page 25: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Replikation und Synchronisation

25

Verfügbarkeitserhaltende Verfahren

• Virtual Primary-Copy Erweiterung des Primary Copy-Verfahrens Synchronisation zwischen virtueller und realer

Primärkopie erforderlich Sehr gut für mobile Umgebungen geeignet

• Snapshot-Verfahren Snapshot als materialisierte Sicht nicht-lokaler Daten Publish & Subscribe-Modell Auf Snapshots kann während Offline-Phase gearbeitet

werden Synchrone oder asynchrone Synchronisation Konflikte müssen erkannt und aufgelöst werden Sehr gut für mobile Umgebungen geeignet

Page 26: Mobile Datenbanksysteme

Mobile Datenbanksysteme 26

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 27: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Mobile Transaktionen

27

Mobile Transaktionen

• Klassisches ACID-Transaktionskonzept als Grundlage

Page 28: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Mobile Transaktionen

28

Mobile Transaktionen: Klasse 1

• Kangaroo-Transaktionen Berücksichtigt die Bewegung von mobilen

Transaktionen, z.B. Wechsel von Funkzellen• Preserialisation Transaction Management

Technique Ausführung der Transaktion kann temporär

unterbrochen werden• Offen-geschachtelte Transaktionen

Teiltransaktionen: Möglichst frühzeitiges Freigeben von belegten Ressourcen

• Prewrite-Transaktionen Zweistufige Transaktionsausführung

Page 29: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Mobile Transaktionen

29

Mobile Transaktionen: Klasse 2

• Isolation-Only-Transaktionen Ziel: Möglichst effiziente Transaktionsverarbeitung Nur Isolation-Eigenschaft

• Schwache/Strikte Transaktionen Ziel: Möglichst effiziente Konsistenzsicherung Erstellen von Clustern innerhalb einer

Replikationsumgebung Innerhalb eines Clusters strikte Konsistenz Zwischen Clustern schwache Konsistenz Während Offline-Zeitpunkt bildet mobiler Client eigenen

Cluster Konfliktauflösung beim Einbinden des mobilen Clusters

notwendig

Page 30: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Mobile Transaktionen

30

Mobile Transaktionen: Klasse 2 (2)

• Promotion-Transaktionen Ziel: Konfliktvermeidung durch zusätzliche Regeln Compact als Einheit aus zu replizierenden Daten,

Datenzugriffsmethoden, Konsistenzbedingungen, Zustandsinformationen und Zusicherungen

Ausführung von Transaktionen auf lokalen Compacts

Synchronisation von Compacts mit zentralem Datenbestand mit variablen Korrektheitskriterien

• Semantische Transaktionen Ziel: Konfliktvermeidung durch intelligente

Fragmentierung der zu replizierenden Daten

Page 31: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Mobile Transaktionen

31

Mobile Transaktionen: Klasse 2 (3)

• Provisorische Transaktionen Einfachste Transaktion der Klasse 2 Erweiterung des Virtual Primary Copy-Verfahrens Two Tier-Replikation: mobile und stationäre Knoten Grundsätzliche Durchführung von vorläufigen

Transaktionen auf lokalem Datenbestand Synchronisation mit globalem Datenbestand durch

nachziehen aller vorläufigen lokalen Transaktionen als Basistransaktion auf Master-Knoten

Verteilung der Basistransaktion an alle anderen Knoten Konflikterkennung und Konfliktauflösung notwendig Als einziges Klasse 2 Transaktionsmodell in

kommerziellen Produkten verfügbar

Page 32: Mobile Datenbanksysteme

Mobile Datenbanksysteme 32

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fallbeispiel• Fazit

Page 33: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Anfrageverarbeitung

33

Anfrageverarbeitung

• Bekannte Anfrageverarbeitung (Query-Engine) ist nicht auf leistungsschwachen Geräten einsetzbar

• Anfragekomplexität: Anfrageoptimierung nur durch heuristische statt

kostenbasierter Optimierungen Gewinn: Einsparung von Rechenleistung

• Änderungsdynamik zugegriffener Daten: Bei statischen Daten bringen vorkompilierte Anfragen

und materialisierte Sichten (Snapshots) eine Performanzsteigerung

Gewinn: Einsparung von Speichernutzung

• Energieverbrauch und Kommunikationskosten

Page 34: Mobile Datenbanksysteme

Mobile Datenbanksysteme 34

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 35: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

35

Verfügbare mobile Datenbanksysteme

• Pico-Datenbanksysteme ?

• Eingebettete Datenbanken eXtremeDB, Hypersonic SQL Database, Instant DB,

Cloudscape• Integrierte Datenbanken

Sybase SQL Anywhere Studio PointBase Micro

• Erweiterte Client/Server-Architektur IBM DB2 Everyplace Oracle 10g Lite MS SQL Server CE Tamino Mobile Suite

Page 36: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

36

Vorschlag: SQL Server CE

• Remote Data Access Push & Pull-Mechanismus Optimistische Nebenläufigkeitskontrolle Konflikterkennung, aber keine Auflösung

• Merge Replication Basiert auf Publish & Subscribe-Modell Provisorische Transaktionen Replikatsauswahl auf Server Horizontale (Selektion) und vertikale (Projektion)

statische und dynamische Filter Tupelbasierte Konflikterkennung, flexible

Konfliktauflösung

Page 37: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

37

SQL Server CE Merge-Architektur

Page 38: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

38

SQL Server CE API

public void Synchronize() { SqlCeReplication repl = new SqlCeReplication();

repl.InternetUrl = "http://awp/sqlerverce/sscesa20.dll"; repl.Publisher = “SERVER\AWP"; repl.PublisherDatabase = “AWP"; repl.PublisherLogin = “name"; repl.PublisherPassword = “password"; repl.Publication = “AWP"; repl.Subscriber = "PPC_AW_P01"; repl.SubscriberConnectionString = @”Data Source=\AWP.sdf"; repl.AddSubscription(AddOption.CreateDatabase); repl.Synchronize();

}

• Synchronisationsmethode des Clients:

Page 39: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

39

SQL Server CE: Synchronisationskonflikte

• Ursachen Update – Update Insert – Insert Update – Delete Delete – Update

• Erkennung Versionsnummern und GIUDs Konflikte werden protokolliert

• Vermeidung Horizontale Filter

Page 40: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

40

SQL Server CE: Konfliktauflösung

• Default• Additive• Averaging• Earlier Wins• Later Wins• Maximum• Minimum• Merge Text• Subscriber Wins• Custom

Page 41: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

41

SQL Server CE: Konfliktauflösung (2)

• Custom Stored Procedure:...// Subscriber

SELECT @select_string =

'SELECT * FROM OPENQUERY('+QUOTENAME(@subscriber)+','+'"SELECT ID,PRICE,ROWGUIDCOL FROM ' + @sub_qualified_name +

" WHERE ROWGUIDCOL = '" + convert(varchar(36),@rowguid) + "'" + ' ") '

...

FETCH NEXT FROM @cursor INTO @ID, @SubPRICE, @rowguidvar

...

// Publisher

SELECT ID, @PubPRICE = PRICE,

@ResolvedPRICE = PRICE + @SubPRICE / 2.0

FROM PRODUCTS

WHERE ROWGUIDCOL = @rowguid

...

Page 42: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

42

Bewertung SQL Server CE

• Vorteile: Footprint ca. 800KB Speicherkapazität bis 2GB Komplexe SQL-Abfragen möglich Lokale ACID-Transaktionen Flexible, intelligente Synchronisation inklusive

Datenkompression und Konfliktbehandlung Umfassende Sicherheitsmechanismen

• Nachteile: Keine Unterstützung von gespeicherten Prozeduren und

Trigger Relativ aufwendige Einrichtung und Administration Microsoft-Technologien erforderlich

Page 43: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

43

Architektur des Ferienclubs

Page 44: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Ausblick: Ferienclub

44

Fazit: Mobile Datenbanken im Ferienclub

• Evaluierung und Bereitstellung einer geeigneten mobilen Datenbankarchitektur

• Integrierung von mobilen Datenbanken in Data Mining Persistence Service Distributed AI Service Oriented Architecture Semantic Web

Page 45: Mobile Datenbanksysteme

Mobile Datenbanksysteme 45

Agenda

• Motivation• Grundlagen• Replikation und Synchronisation• Mobile Transaktionen• Anfrageverarbeitung• Mobile Datenbanken im Ferienclub• Fazit

Page 46: Mobile Datenbanksysteme

Mobile Datenbanksysteme - Fazit 46

Fazit

• Nur entfernte Datenhaltung ist nicht ausreichend

• Mobiles Arbeiten und mobile Datenbanken sind nicht voneinander zu trennen

• Bisher viele Konzepte und einige kommerzielle Produkte

• Replikation und Synchronisation in mobilen Datenbanksystemen ein weiterhin spannendes Forschungsgebiet

Page 47: Mobile Datenbanksysteme

Mobile Datenbanksysteme 47

Vielen dank für die Aufmerksamkeit

Page 48: Mobile Datenbanksysteme

Mobile Datenbanksysteme 48

Quellen

[1]Bela Mutschler, Günther Specht, Mobile Datenbanksysteme, Springer-Verlag Berlin Heidelberg, 2004

[2] Jim Grey et al., The Dangers of Replication and a Solution, Proceedings of the 1996 ACM SIGMOD international conference on Management of data, 1997

[3]Can Türker, A Survey of Academic and Commercial Approaches to Transaction Support in Mobile Computing Environments, Technical Report #429, ETH Zürich, 2003

[4]Brad Hammond, Merge Replication in Microsoft‘s SQL Server 7.0, Proceedings of the 1999 ACM SIGMOD international conference on Management of data, 1999

[5]Daniel Barbará, Mobile Computing and Databases – A Survey, IEEE Transactions on Knowledge and Data Enginerring Vol. 11 No. 1, 1999