Verteilte Datenbanken


Hausarbeit, 2016

15 Seiten, Note: 1,3


Leseprobe

Inhaltsverzeichnis

Abkürzungsverzeichnis

Abbildungsverzeichnis

1 Einleitung

2 Ziele und Problemstellung

3 Verteilte Datenbanken
3.1 Anforderungen
3.2 Architektur
3.3 Datenverteilung und Katalogverwaltung
3.3.1 Fragmentierung
3.3.2 Allokation und Replikation
3.4 Synchronisationsverfahren
3.4.1 Sperrverfahren
3.4.2 Zeitmarkenverfahren
3.5 Konsistenzsicherung
3.5.1 ACID
3.5.2 BASE und CAP Theorem

4 Bewertung
4.1 Chancen
4.2 Risiken

5 Schlussbetrachtung
5.1 Fazit
5.2 Ausblick

Literaturverzeichnis

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Abbildungsverzeichnis

Abb. 1 Grobarchitektur eines Verteilten Datenbanksystems „Quelle: Rahm/Saake/Sattler (2015), S. 7“

Abb. 2 Schematische Darstellung a Shared-Disk- b Shared-Nothing-Systeme „Quelle: Rahm/Saake/Sattler (2015), S. 56“

Abb. 3 Schemaarchitektur eines VDBS „Quelle: Rahm/Saake/Sattler (2015), S. 82“

Abb. 4 Die möglichen drei Optionen des CAP-Theorems „Quelle: Meier/Kaufmann (2016), S. 149“

1 Einleitung

In Unternehmen sind große Mengen an Daten heutzutage nicht mehr wegzudenken. Daten über Warenbestände, Rechnungen, Mitarbeiter etc. werden klassischerweise von Datenbanksystemen (DBS) verwaltet. Zentrale DBS stoßen allerdings schnell an ihre Grenzen, wenn es darum geht große Volumen zu speichern, die Ausfallsicherheit zu stärken oder die Anzahl der Anwender zu groß ist. Auch wenn Unternehmen von mehreren Orten mit demselben Datenbestand arbeiten möchten oder Daten aus Sicherheitsgründen nicht nur auf einem Server gespeichert werden sollen, genügen einfache DBS oft nicht. Um diesen Herausforderungen entgegenzuwirken, werden Verteilte Datenbanksysteme (VDBS) eingesetzt. In dieser Arbeit soll aufgezeigt werden, welche Vor- und Nachteile der Einsatz einer verteilten Datenbank hat und für welchen Bereich sie somit eingesetzt werden kann. Die Grundfunktionen der Verteilten Datenbanken werden beschrieben und die Qualitätsanforderungen an einer Datenbank bestimmt. Zum Schluss wird auf das Ergebnis eingegangen und eine Bewertung vorgenommen.

2 Ziele und Problemstellung

Um den Anforderungen von Standortverteilten Unternehmen gerecht zu werden, kommen VDBS zum Einsatz. Unternehmensdaten werden an verschiedenen Orten benötigt. Des Weiteren werden eine Leistungsverbesserung sowie eine Steigerung der Verfügbarkeit angestrebt. Ein VDBS bringt somit auch einen enormen Verwaltungsaufwand mit sich und muss garantiert funktionieren, da es oft essentieller Bestandteil der täglichen Vorgänge in einem Unternehmen ist. Durch die Verteilung der Daten werden diese an verschiedenen Orten gehalten und verändert. Diese verteilten Daten müssen synchronisiert werden, was zu Konflikten führen kann. Außerdem kann es bei VDBS, dadurch dass viele Prozesse gleichzeitig ausgeführt werden, zu Deadlocks kommen. Bei einem Ausfall oder einem unkontrollierten Programmabbruch muss die Atomarität und Dauerhaftigkeit von Transaktionen garantiert werden. Soll ein bisher zentrales Datenbanksystem dezentralisiert werden, so soll die Verteilung der Daten auf mehrere Sites nicht sichtbar werden. Letztlich wird eine Ortsunabhängigkeit der Anwenderprogramme angestrebt.1

3 Verteilte Datenbanken

Dieses Kapitel beschäftig sich mit den Grundlagen von verteilten Datenbanken. Verteilte Datenbanken sind Datenbanksysteme, die auf mehreren Rechnerknoten (Sites) verteilt sind.2 Wurden am Anfang eine Anzahl von fest definierten Servern festgelegt, spricht man heute von Skalierung. Des Weiteren besteht ein verteiltes Datenbanksystem aus mehreren Datenbankmanagementsystemen (DBMS) und wird durch diese zusammengehalten. Im Fall einer verteilten Datenbank kommt ein Verteiltes Datenbankmanagementsystem (VDBMS) zum Einsatz. DDB unterstützen somit eine geografisch verteile Datenbankverarbeitung sowie eine Anpassung an dezentrale Organisationsstrukturen. Wie Abb. 1 zeigt, besteht ein VDBS aus einer über ein Netzwerk gekoppelten Menge von Sites. Die Datenbasis wird auf Sites verteilt und von einem eigenen VDBMS verwaltet.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 1 Grobarchitektur eines Verteilten Datenbanksystems „Quelle: Rahm/Saake/Sattler (2015), S. 7“

Eine formulierte Definition, die von C.J. Date stammt besagt:3

„A distributed database system consists of a collection of sites, connected together via some kind of communications network, in which

1. Each site is a database system site in it own right, but
2. The sites have agreed to work together so that a user at any site can access data anywhere in the network exactly as if the data were all stored at the user´s own site.“

Die einzelnen Sites des VDBS haben somit eine größere Unabhängigkeit und Autonomie zur Verwaltung ihrer Daten. Somit kann jeder Standort die Daten seiner Mitarbeiter und Projekte selbstständig verwalten. Gegenüber zentralisierten DBS steigt die Leistungsfähigkeit und die Verfügbarkeit, da mehrere Verarbeitungsrechner zum Einsatz kommen. Bei einem Ausfall eines Rechnerknotens fällt somit nicht das komplette Datenbanksystem, sondern nur die lokale Datenbank aus. Der Ausfall eines zentralen Datenbankservers beispielsweise legt das gesamte System lahm. Die dominierende Form des Datenmanagements ist die relationale Datenbanktechnologie. Ein wesentlicher Vorteil des relationalen Modells liegt darin, dass Anfragen mengenorientiert sind und somit ein größeres Optimierungspotenzial besteht.4

3.1 Anforderungen

Ein verteiltes System sollte sich dem Anwender gegenüber genauso wie ein zentrales verhalten. Um diese Anforderung gerecht zu werden, hat C.J. Date zwölf Regeln formuliert, die idealerweise erfüllt sein sollten:5

1. Lokale Autonomie
2. Unabhängigkeit von einem zentralen Rechner
3. Ununterbrochenes Arbeiten (Dauerbetrieb)
4. Ortstransparenz
5. Fragmentierungstransparenz
6. Replikationstransparenz
7. Verteilte Abfrageprozesse
8. Verteiltes Transaktionsmanagement
9. Hardwareunabhängigkeit
10. Betriebssystemunabhängigkeit
11. Netzwerkunabhängigkeit
12. DBMS Unabhängigkeit

Jedoch lassen sich nicht alle zwölf Regeln gleichzeitig erfüllen, da sie sich teilweise widersprechen. Während Regeln 1 bis 6 und 9 bis 11 heute in vielen DBS implementiert sind, sind Forderung 7,8 und 12 äußerst anspruchsvoll.6

3.2 Architektur

Grundsätzlich wird zwischen homogenen und heterogenen Datenbanksystemen unterschieden. Bei homogen DBS läuft auf jedem Knoten der gleiche Typ des DBMS, wobei bei heterogen DBS auf verschiedenen Knoten verschiedene DBMS laufen. Eine wichtige Aufgabe von DBS ist das Erreichen eines möglichst hohen Grades an Datenunabhängigkeit.7 Bei verteilten Datenbanksystemen vom Typ Shared-Disk- und Shared-Nothing-Systemen erfolgt die DB-Verarbeitung jeweils auf mehreren unabhängigen, lose oder nahe gekoppelten Sites mit einer eigenen Instanz des DBMS.8 Entscheidet man sich für ein “Shared-Disk-System“ (Abb. 2a), haben alle laufenden DBMS-Prozesse direkten Zugriff auf den gesamten Datenbestand. Dieses System dient einer großen Flexibilität bei der Auswahl eines Verarbeitungsrechners für anstehende Anfragen und Transaktionen und haben daher ein hohes Potenzial zur Lastbalancierung. Bei diesem System kommen meist Externspeicheranbindungen wie Storage Area Networks (SAN) zum Einsatz, die über ein schnelles Verarbeitungsnetzwerk angebunden werden. Dabei sind Bandbreiten von mehreren GB pro Sekunde und eine Anbindung zahlreicher Rechner und damit eine gute Skalierbarkeit möglich. In einem “Shared-Nothing-System“ (Abb. 2b) dagegen werden keine Systemkomponenten, bis auf das Verbindungsnetzwerk genutzt. Die Speicher sind unter den lose gekoppelten Rechnern partitioniert, sodass jeder Knoten nur auf Daten der lokalen Partition zugreifen kann.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 2 Schematische Darstellung a Shared-Disk- b Shared-Nothing-Systeme „Quelle: Rahm/Saake/Sattler (2015), S. 56“

Da die Daten bei einer verteilten Datenbank auf mehreren verschiedenen Rechnern gespeichert werden, ist der logische Aufbau einer Datenbank durch ein globales konzeptionelles Schema (GKS) festgelegt. Daneben besitzt jeder Rechner ein lokales konzeptionelles Schema (LKS), sowie ein lokales internes Schema (LIS) (Abb.3). Diese Schemaarchitektur baut auf das Grundmodell der dreistufige Schemaarchitektur ANSI/SPARC auf.

Abbildung in dieser Leseprobe nicht enthalten

Abb. 3 Schemaarchitektur eines VDBS „Quelle: Rahm/Saake/Sattler (2015), S. 82“

3.3 Datenverteilung und Katalogverwaltung

Beim Einsatz von verteilten Datenbanksystemen, muss der Datenbestand physisch aufgeteilt werden. Die Bestimmung der Datenverteilung ist zuständig für die Leistungsfähigkeit des Systems, da sie zu einem großen Teil den Kommunikationsaufwand zur DB-Verarbeitung bestimmt.9 Um die Vorteile eines VDBS nutzen zu können, sollte man das Augenmerk auf die Fragmentierung und Allokation richten.

3.3.1 Fragmentierung

Werden einzelne Tabellen auf verschiedene Standorte aufgeteilt, spricht man von einer Fragmentierung. Bei der Fragmentierung werden zunächst die Einheiten der Datenverteilung (Fragmente) festgelegt. Dabei unterscheidet man zwischen einer horizontalen und einer vertikalen Fragmentierung. Bei der horizontalen Fragmentierung wird eine Tabelle anhand von Datensätzen aufgeteilt, somit befindet sich an jedem Standort die gleiche Tabellenstruktur (Spalten), jedoch nicht sämtliche Datensätze. Bei der vertikalen Fragmentierung enthält jedes Tabellenfragment alle Datensätze, jedoch nicht alle Informationen (Spalten) jedes Datensatzes.10

3.3.2 Allokation und Replikation

Nach Festlegung der Fragmentierung folgt der zweite Schritt bei der Datenverteilung: die Allokation (Ortstransparenz). Sie unterstützt die Speicherung der Fragmente bzw. Relation auf unterschiedliche Knoten. Wird dabei keines der Fragmente mehrfach allokiert, erhält man eine partitionierte, anderenfalls eine replizierte Allokation.11 Der Benutzer muss nicht wissen, auf welchem Knoten die Daten gespeichert wurden. Bei der Replikation werden Kopien bestimmter Datensätze auf anderen Knoten gespeichert. So sind beim Ausfall eines Knotens die Daten trotzdem verfügbar. Des Weiteren können somit auch Zugriffszeiten gesenkt werden, da die Replikationen am Knoten mit den meisten Zugriffen auf die Daten gespeichert werden. Allerdings muss beim Mehrfachspeichern mehr Speicherplatz zu Verfügung gestellt werden und alle Kopien bei Änderungen aktualisiert werden.

3.4 Synchronisationsverfahren

Eine der Aufgaben von Datenbanksystemen ist es, dass mehrere Benutzer gleichzeitig lesend und schreibend auf gemeinsame Datenbestände zugreifen können, ohne dass die Konsistenz der Daten verletzt wird. In diesem Kapitel wird auf die meist genutzten Synchronisationsverfahren von DBS eingegangen, die auch beim VDBS zum Einsatz kommen.

3.4.1 Sperrverfahren

Mit einer Sperre werden Teile des DBS für eine Transaktion reserviert. Somit hat diese dadurch ein exklusives Schreib- und Leserecht. Unterschieden wird hier zwischen einem optimistischen und präventiven Sperrverfahren.12 Bei dem optimistischen Sperrverfahren wird angenommen, dass es keinen Konflikt bei der Ausführung gibt und alle Änderungen durchführt werden. Erst beim Festschreiben wird die Gültigkeit geprüft oder bei Konflikten zurückgenommen. Beim präventiven Sperrverfahren hingegen wird sichergestellt, dass vor Beginn einer Transaktion kein Konflikt entstehen kann. Dies wird mit Sperren auf Datenbankobjekten erreicht, die erst nach Beendigung der Transaktion wieder entfernt werden.

3.4.2 Zeitmarkenverfahren

Bei diesem Verfahren wird ein eindeutiger Zeitstempel zugeordnet, der beim Zugriff am Objekt hinterlegt wird. Dieser Zeitstempel besteht aus der lokalen Uhrzeit und der Rechner-ID. Der Vorteil bei diesem Verfahren gegenüber dem Sperrverfahren liegt darin, dass keine Deadlocks vorkommen können.13 Ein Lesezugriff einer Transaktion mit Zeitstempel auf ein Objekt ist nicht zulässig, wenn bereits eine jüngere Transaktion das Objektgeändert hat. So können nur Daten verändert werden, wenn der Schreibzeitstempel kleiner ist, als die vom zugreifenden Benutzer.

3.5 Konsistenzsicherung

Die Integrität der Daten zu gewährleisten ist eine wichtige Forderung aus der Sicht vieler Datenbankanwendungen. Die Transaktionenverwaltung eines Datenbanksystems dient dazu, mehreren Benutzern ein konfliktfreies Arbeiten zu ermöglichen.14 Dabei dürfen Änderungen in der Datenbank nach außen erst sichtbar werden, wenn die von den Benutzern definierten Integritätsbedingungen alle respektiert sind. Da bei einem Mehrbenutzerbetrieb einer Datenbank mehrere Benutzer gleichzeitig auf Daten zugreifen und diese gegebenenfalls verändern, muss verhindert werden, dass Konfliktsituationen entstehen. Gegenseitige Behinderung (Deadlocks) oder Konsistenzverletzungen (z.B. doppelte Buchungen im Bankenumfeld) dürfen unter keinen Umständen vorkommen. Im Folgenden wird auf das ACID-Protokoll, BASE und das CAP-Theorem eingegangen.

3.5.1 ACID

Die vier Begriffe Atomarität, Konsistenz, Isolation und Dauerhaftigkeit beschreiben das sogenannte ACID-Prinzip einer Transaktion.15 Dieses Prinzip dient dazu, mehreren Benutzern ein konfliktfreies Arbeiten zu ermöglichen. Konsistente Datenbankzustände werden garantiert und inkonsistente Zustände bleiben nach außen unsichtbar. Bei einem Fehlerfall werden diese rückgängig gemacht. Atomarität bedeutet, dass eine Transaktion entweder komplett durchgeführt wird oder keine Spuren auf der Datenbank hinterlässt.16 Damit wird ausgeschlossen, dass Transaktionen nur teilweise Änderungen auf der Datenbank ausführen. Bei der Konsistenz können einzelne Konsistenzbedingungen zeitweise verletzt werden, müssen jedoch am Transaktionsende wieder erfüllt werden. Durch das Prinzip der Isolation wird verhindert, dass sich Datenoperationen gegenseitig beeinflussen.17 Die Dauerhaftigkeit ist zuständig für die Datenbankzustände. Diese müssen so lange gültig sein und erhalten bleiben, bis sie von Transaktionen verändert werden. Bei Systemabbrüchen oder Programmfehlern wird die Wirkung einer korrekt abgeschlossenen Transaktion garantiert.

[...]


1 Vgl. Dadam (1995), S. 5

2 Vgl. Burkhardt (2015), S. 220

3 Date (1995), S. 593f

4 Vgl. Rahm/Saake/Sattler (2015), S. 23

5 Date (1995), S. 291ff

6 Vgl. Schicker (2014), S. 306

7 Vgl. Dadam (1996), S. 83

8 Vgl. Rahm/Saake/Sattler (2015), S 55

9 Vgl. Rahm (1994), S. 59

10 Vgl. Gunter/Sattler/Heuer (2010), S. 127

11 Vgl. Rahm/Saake/Sattler (2015), S.101

12 Vgl. Rahm/Saake/Sattler (2015), S. 256

13 Vgl. Rahm/Saake/Sattler (2015), S. 258

14 Vgl. Meier/Kaufmann (2016), S. 135

15 Vgl. Ernst/Schmidt/Beneken (2016), S. 356

16 Vgl. Rahm/Saake/Sattler (2015), S. 30

17 Vgl. Fasel/Meier (2016), S. 30

Ende der Leseprobe aus 15 Seiten

Details

Titel
Verteilte Datenbanken
Hochschule
FOM Essen, Hochschule für Oekonomie & Management gemeinnützige GmbH, Hochschulleitung Essen früher Fachhochschule
Veranstaltung
Datenbanken
Note
1,3
Autor
Jahr
2016
Seiten
15
Katalognummer
V366988
ISBN (eBook)
9783668456785
ISBN (Buch)
9783668456792
Dateigröße
687 KB
Sprache
Deutsch
Schlagworte
verteilte Datenbanken, parallele Datenbanken
Arbeit zitieren
Andre Kreutzer (Autor:in), 2016, Verteilte Datenbanken, München, GRIN Verlag, https://www.grin.com/document/366988

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Verteilte Datenbanken



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden