+ All Categories
Home > Documents > Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf ·...

Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf ·...

Date post: 25-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
55
Teil I Was sind Datenbanken?
Transcript
Page 1: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Teil I

Was sind Datenbanken?

Page 2: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Was sind Datenbanken?

1. Uberblick & Motivation

2. Architekturen

3. Einsatzgebiete

4. Historisches

1 - 1

Page 3: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Was sind Datenbanken?

1. Uberblick & Motivation

2. Architekturen

3. Einsatzgebiete

4. Historisches

1 - 2 VL Datenbanksysteme Sattler / Saake

Page 4: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Was sind Datenbanken?

1. Uberblick & Motivation

2. Architekturen

3. Einsatzgebiete

4. Historisches

1 - 3 VL Datenbanksysteme Sattler / Saake

Page 5: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Was sind Datenbanken?

1. Uberblick & Motivation

2. Architekturen

3. Einsatzgebiete

4. Historisches

1 - 4 VL Datenbanksysteme Sattler / Saake

Page 6: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Lernziele fur heute . . .

• Motivation fur den Einsatz vonDatenbanksystemen

• Kenntnis grundlegender Architekturen

1 - 5 VL Datenbanksysteme Sattler / Saake

Page 7: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Lernziele fur heute . . .

• Motivation fur den Einsatz vonDatenbanksystemen

• Kenntnis grundlegender Architekturen

1 - 6 VL Datenbanksysteme Sattler / Saake

Page 8: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Was sind Datenbanken?

• Daten = logisch gruppierte Informationseinheiten

• Bank = . . .

• Die Sicherheit vor Verlusten ist eineHauptmotivation, etwas

”auf die Bank zu

bringen“.

• Eine Bank bietet Dienstleistungen furmehrere Kunden an, um e�zient arbeiten zukonnen.

• Eine Datenbank hat die (langfristige)Aufbewahrung von Daten als Aufgabe.

1 - 7 VL Datenbanksysteme Sattler / Saake

Page 9: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Anwendungsbeispiele

1 - 8 VL Datenbanksysteme Sattler / Saake

Page 10: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Bedeutung der Datenverwaltung

• Daten als das Ol des 21. Jahrhunderts (Toonders @Wired 2014)

• Ash Ashutosh (CEO Actifio):

das großte Hotelunternehmen (AirBnB) hat keine Hotels bzw.Zimmer

das großte Taxiunternehmen (Uber) hat keine eigenen Taxis!

1 - 9 VL Datenbanksysteme Sattler / Saake

Page 11: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Bedeutung der Datenverwaltung

• Daten als das Ol des 21. Jahrhunderts (Toonders @Wired 2014)

• Ash Ashutosh (CEO Actifio):

das großte Hotelunternehmen (AirBnB) hat keine Hotels bzw.Zimmer

das großte Taxiunternehmen (Uber) hat keine eigenen Taxis!

1 - 10 VL Datenbanksysteme Sattler / Saake

Page 12: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Bedeutung der Datenverwaltung

• Daten als das Ol des 21. Jahrhunderts (Toonders @Wired 2014)

• Ash Ashutosh (CEO Actifio):

das großte Hotelunternehmen (AirBnB) hat keine Hotels bzw.Zimmer

das großte Taxiunternehmen (Uber) hat keine eigenen Taxis!

1 - 11 VL Datenbanksysteme Sattler / Saake

Page 13: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Bedeutung der Datenverwaltung

• Daten als das Ol des 21. Jahrhunderts (Toonders @Wired 2014)

• Ash Ashutosh (CEO Actifio):

das großte Hotelunternehmen (AirBnB) hat keine Hotels bzw.Zimmer

das großte Taxiunternehmen (Uber) hat keine eigenen Taxis!

1 - 12 VL Datenbanksysteme Sattler / Saake

Page 14: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Wie verwaltet man Datenbanken?

Ohne Datenbanken

• jedes Anwendungssystem verwaltet seine eigenen Daten

• Daten sind mehrfach gespeichert redundant

• Probleme

Verschwendung von Speicherplatz

”Vergessen“ von Anderungen

keine zentrale,”genormte“ Datenhaltung

1 - 13 VL Datenbanksysteme Sattler / Saake

Page 15: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Probleme der Datenredundanz

• Andere Softwaresysteme konnen große Mengen von Daten nichte�zient verarbeiten

• Mehrere Benutzer oder Anwendungen konnen nicht parallel auf dengleichen Daten arbeiten, ohne sich zu storen

• Anwendungsprogrammierer / Benutzer konnen Anwendungen nichtprogrammieren / benutzen, ohne

interne Darstellung der Daten

Speichermedien oder Rechner

zu kennen (Datenunabhangigkeit nicht gewahrleistet)

• Datenschutz und Datensicherheit sind nicht gewahrleistet

1 - 14 VL Datenbanksysteme Sattler / Saake

Page 16: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Idee: Datenintegration durch Datenbanksysteme

Datenbank

...

DBMS

Anwendung Anwendung

strukturierter, von DBMSverwalteter Datenbestand

Datenbankmanagementsystem =Software zur Verwaltung von Datenbanken

DBS = Datenbanksystem

1 - 15 VL Datenbanksysteme Sattler / Saake

Page 17: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Motivation

• Datenbanksystemesind HerzstuckheutigerIT-Infrastrukturen

• . . . allgegenwartig

• Datenbank-spezialisten sindgefragt

1 - 16 VL Datenbanksysteme Sattler / Saake

Page 18: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Motivation

1 - 17 VL Datenbanksysteme Sattler / Saake

Page 19: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Fragestellungen

1. Wie organisiert (modelliert und nutzt) man Daten?

2. Wie werden Daten dauerhaft verlasslich gespeichert?

3. Wie kann man riesige Datenmengen (� Terabytes) e�zientverarbeiten?

4. Wie konnen viele Nutzer (� 10.000) gleichzeitig mit den Datenarbeiten?

1 - 18 VL Datenbanksysteme Sattler / Saake

Page 20: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Prinzipien: Die neun Codd’schen Regeln

1. Integration: einheitliche, nichtredundante Datenverwaltung

2. Operationen: Speichern, Suchen, Andern

3. Katalog: Zugri↵e auf Datenbankbeschreibungen im Data Dictionary

4. Benutzersichten

5. Integritatssicherung: Korrektheit des Datenbankinhalts

6. Datenschutz: Ausschluss unauthorisierter Zugri↵e

7. Transaktionen: mehrere DB-Operationen als Funktionseinheit

8. Synchronisation: parallele Transaktionen koordinieren

9. Datensicherung: Wiederherstellung von Daten nach Systemfehlern

1 - 19 VL Datenbanksysteme Sattler / Saake

Page 21: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Datenunabhangigkeit und Schemata

• Basierend auf DBMS-Grobarchitektur

• Entkopplung von Benutzer- und Implementierungssicht

• Ziele u.a.:

Trennung von Modellierungssicht und interner Speicherung

Portierbarkeit

Tuning vereinfachen

standardisierte Schnittstellen

1 - 20 VL Datenbanksysteme Sattler / Saake

Page 22: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Schemaarchitektur

• Zusammenhang zwischen

Konzeptuellem Schema (Ergebnis der Datendefinition)

Internem Schema (Festlegung der Dateiorganisationen undZugri↵spfade)

Externen Schemata (Ergebnis der Sichtdefinition)

Anwendungsprogrammen (Ergebnis derAnwendungsprogrammierung)

1 - 21 VL Datenbanksysteme Sattler / Saake

Page 23: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Schemaarchitektur /2

• Trennung Schema — Instanz

Schema (Metadaten, Datenbeschreibungen)

Instanz (Anwenderdaten, Datenbankzustand oder -auspragung)

• Datenbankschema besteht aus

internem, konzeptuellem, externen Schemata und denAnwendungsprogrammen

• im konzeptuellen Schema etwa:

Strukturbeschreibungen

Integritatsbedingungen

Autorisierungsregeln (pro Benutzer fur erlaubte DB-Zugri↵e)

1 - 22 VL Datenbanksysteme Sattler / Saake

Page 24: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Schemaarchitektur /3

Konzeptuelles Schema

externesSchema 1

externesSchema N

internesSchema

...

Anfra

gebearb

eitung

Date

ndarste

llung

1 - 23 VL Datenbanksysteme Sattler / Saake

Page 25: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Datenunabhangigkeit /2

• Stabilitat der Benutzerschnittstelle gegen Anderungen

• physisch: Anderungen der Dateiorganisationen und Zugri↵spfadehaben keinen Einfluss auf das konzeptuelle Schema

• logisch: Anderungen am konzeptuellen und gewissen externenSchemata haben keine Auswirkungen auf andere externe Schemataund Anwendungsprogramme

1 - 24 VL Datenbanksysteme Sattler / Saake

Page 26: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Datenunabhangigkeit /3

• mogliche Auswirkungen von Anderungen am konzeptuellen Schema:

eventuell externe Schemata betro↵en (Andern von Attributen)

eventuell Anwendungsprogramme betro↵en (Rekompilieren derAnwendungsprogramme, eventuell Anderungen notig)

• notige Anderungen werden jedoch vom DBMS erkannt unduberwacht

1 - 25 VL Datenbanksysteme Sattler / Saake

Page 27: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Anwendungsbeispiel: Mitfahrgelegenheit

• Angebote von Mitfahrgelegenheiten

Wann? Von wo? Wohin? Wer?Platze?

Kontaktdaten

Reservierungsmoglichkeiten

CC-BY-2.0: Luo Shaoyang

1 - 26 VL Datenbanksysteme Sattler / Saake

Page 28: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Ebenen-Architektur am Beispiel

• Konzeptuelle Sicht: Darstellung in Tabellen (Relationen)

Fahrer FahrerID Name Telefon103 Lilo Pause 01234104 Just Vorfan 01246105 Heiko Heizer 01756

Mitfahrangebot ANr Abfahrt Ankunft Zeit FahrerID1014 Ilmenau Erfurt Freitag 10:00 1031015 Magdeburg Halle Freitag 15:00 1041016 Magdeburg Leipzig Freitag 15:00 1041021 Magdeburg Ilmenau Freitag 14:00 1051025 Ilmenau Jena Freitag 10:00 103

1 - 27 VL Datenbanksysteme Sattler / Saake

Page 29: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Ebenen-Architektur am Beispiel /2

• Externe Sicht: Daten in einer flachen Relation

ANr Abfahrt Ankunft Zeit Fahrer1014 Ilmenau Erfurt Freitag 10:00 Lilo Pause1015 Magdeburg Halle Freitag 15:00 Just Vorfan1016 Magdeburg Leipzig Freitag 15:00 Just Vorfan1021 Magdeburg Ilmenau Freitag 14:00 Heiko Heizer1025 Ilmenau Jena Freitag 10:00 Lilo Pause

1 - 28 VL Datenbanksysteme Sattler / Saake

Page 30: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Ebenen-Architektur am Beispiel /3

• Externe Sicht: Daten in einer hierarchisch aufgebauten Relation

Fahrer MitfahrangebotAbfahrt Ankunft Zeit

Lilo Pause Ilmenau Erfurt Freitag 10:00Jena Freitag 10:00

Just Vorfan Magdeburg Halle Freitag 15:00Leipzig Freitag 15:00

Heiko Heizer Magdeburg Ilmenau Freitag 14:00

1 - 29 VL Datenbanksysteme Sattler / Saake

Page 31: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Ebenen-Architektur am Beispiel /4

• Interne Darstellung

1000 1500 2000

1014 Ilmenau Erfurt

1015 Magdeburg Halle

Freitag 10:00 ….Freitag 15:00 …

Überlauf-bereich fürDatensätze

teilweisesSpeichern der

Datensätzeim Baum

BaumzugriffüberID

1 - 30 VL Datenbanksysteme Sattler / Saake

Page 32: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

System-Architekturen

• Beschreibung der Komponenten eines Datenbanksystems

• Standardisierung der Schnittstellen zwischen Komponenten

• Architekturvorschlage

ANSI-SPARC-Architektur Drei-Ebenen-Architektur

Funf-Schichten-Architektur beschreibt Transformationskomponenten im DetailVorlesung

”Datenbank-Implementierungstechniken“

1 - 31 VL Datenbanksysteme Sattler / Saake

Page 33: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

ANSI-SPARC-Architektur

• ANSI: American National Standards Institute

• SPARC: Standards Planning and Requirement Committee

• Vorschlag von 1978

• Im Wesentlichen Grobarchitektur verfeinert

Interne Ebene / Betriebssystem verfeinert

Mehr Interaktive und Programmier-Komponenten

Schnittstellen bezeichnet und normiert

1 - 32 VL Datenbanksysteme Sattler / Saake

Page 34: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

ANSI-SPARC-Architektur /2

Data Dictionary

Optimierer Auswertung Plattenzugriff

Anfragen

Updates

Sichtdefinition

Datendefinition

Datei-organisation

DB-Operationen

Einbettung

Masken

P1

Pn

...

Externe Ebene Konzeptuelle Ebene Interne Ebene

1 - 33 VL Datenbanksysteme Sattler / Saake

Page 35: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Klassifizierung der Komponenten

• Definitionskomponenten: Datendefinition, Dateiorganisation,Sichtdefinition

• Programmierkomponenten: DB-Programmierung mit eingebettetenDB-Operationen

• Benutzerkomponenten: Anwendungsprogramme, Anfrage undUpdate interaktiv

• Transformationskomponenten: Optimierer, Auswertung,Plattenzugri↵ssteuerung

• Data Dictionary (Datenworterbuch): Aufnahme der Daten ausDefinitionskomponenten, Versorgung der anderen Komponenten

1 - 34 VL Datenbanksysteme Sattler / Saake

Page 36: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Funf-Schichten-Architektur: Verfeinerung derTransformation

Datensystem

Zugriffssystem

Speichersystem

Pufferverwaltung

Betriebssystem

MengenorientierteSchnittstelle

SatzorientierteSchnittstelle

InterneSatzschnittstelle

Systempuffer-schnittstelle

Datei-schnittstelle

Geräteschnittstelle

Externspeicher

ÜbersetzungZugriffspfadwahl

Logische Zugriffspfade, Schemakatalog, Sortierung,Transaktionsverwaltung

Speicherungsstrukturen, Zugriffs-pfadverwaltung, Sperr-verwaltung, Logging, Recovery

Systempufferverwaltung, Seitenersetzung, Seitenzuordnung

Externspeicherverwaltung,Speicherzuordnung

1 - 35 VL Datenbanksysteme Sattler / Saake

Page 37: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Anwendungsarchitekturen

• Architektur von Datenbankanwendungen typischerweise auf Basisdes Client-Server-Modells: Server ⌘ Datenbanksystem

1. Anforderung

3. Antwort

2. Bearbeitung

Client

(Dienstnehmer)

Server

(Diensterbringer)

1 - 36 VL Datenbanksysteme Sattler / Saake

Page 38: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Anwendungsarchitekturen /2

• Aufteilung der Funktionalitaten einer Anwendung

Prasentation und Benutzerinteraktion

Anwendungslogik (”Business“-Logik)

Datenmanagementfunktionen (Speichern, Anfragen, . . . ).

Benutzerschnittstelle

Anwendungslogik

DB-Schnittstelle

DB-Server

Client

Zwei-Schichten-Architektur

Benutzerschnittstelle

Anwendungslogik

DB-Schnittstelle

Applikations-server

DB-Server

Client

Drei-Schichten-Architektur

1 - 37 VL Datenbanksysteme Sattler / Saake

Page 39: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Einige konkrete Systeme

• (Objekt-)Relationale DBMS

Oracle12c, IBM DB2 V.11, Microsoft SQL Server 2016, SAP HANA

MySQL (www.mysql.org), PostgreSQL (www.postgresql.org)

• Pseudo-DBMS

MS Access

• NoSQL-Systeme

Graph-Datenbanksysteme (InfiniteGraph, neo4j),Dokument-Datenbanken (MongoDB), Key-Value-Stores, ....

1 - 38 VL Datenbanksysteme Sattler / Saake

Page 40: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Einsatzgebiete

• Klassische Einsatzgebiete:

viele Objekte (15000 Bucher, 300 Benutzer, 100 Ausleihvorgangepro Woche, . . . )

wenige Objekttypen (BUCH, BENUTZER, AUSLEIHUNG)

etwa Buchhaltungssysteme, Auftragserfassungssysteme,Bibliothekssysteme, . . .

• Aktuelle Anwendungen:

E-Commerce, entscheidungsunterstutzende Systeme (DataWarehouses, OLAP), NASA’s Earth Observation System(Petabyte-Datenbanken), Data Mining

1 - 39 VL Datenbanksysteme Sattler / Saake

Page 41: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Datenbankgroßen

eBay Data Warehouse 10 PB (⇡ 10 · 1015 Bytes)Teradata DBMS, 72 Knoten, 10.000 Nutzer,mehrere Millionen Anfragen/Tag

WalMart Data Warehouse 2,5 PBTeradata DBMS, NCR MPP-Hardware;Produktinfos (Verkaufe etc.) von 2.900 Markten;50.000 Anfragen/Woche

Facebook 400 TBx.000 MySQL-Server

Hadoop/Hive, 610 Knoten, 15 TB/Tag

US Library of Congress 10-20 TBnicht digitalisiert

1 - 40 VL Datenbanksysteme Sattler / Saake

Page 42: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: 60er Jahre

• Anfang 60er Jahre: elementare Dateien, anwendungsspezifischeDatenorganisation (gerateabhangig, redundant, inkonsistent)

• Ende 60er Jahre: Dateiverwaltungssysteme (SAM, ISAM) mitDienstprogrammen (Sortieren) (gerateunabhangig, aber redundantund inkonsistent)

• DBS basierend auf hierarchischem Modell, Netzwerkmodell

Zeigerstrukturen zwischen Daten

Schwache Trennung interne / konzeptuelle Ebene

Navigierende DML

Trennung DML / Programmiersprache

1 - 41 VL Datenbanksysteme Sattler / Saake

Page 43: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: 70er und 80er Jahre

• 70er Jahre: Datenbanksysteme (Gerate- und Datenunabhangigkeit,redundanzfrei, konsistent)

• Relationale Datenbanksysteme

Daten in Tabellenstrukturen

3-Ebenen-Konzept

Deklarative DML

Trennung DML / Programmiersprache

1 - 42 VL Datenbanksysteme Sattler / Saake

Page 44: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Historie von RDBMS

• 1970: Ted Codd (IBM) ! Relationenmodell als konzeptionelleGrundlage relationaler DBS

• 1974: System R (IBM) ! erster Prototyp eines RDBMS

zwei Module: RDS, RSS; ca. 80.000 LOC (PL/1, PL/S, Assembler),ca. 1,2 MB Codegroße

Anfragesprache SEQUEL

erste Installation 1977

• 1975: University of California at Berkeley (UCB) ! Ingres

Anfragesprache QUEL

Vorganger von Postgres, Sybase, . . .

• 1979: Oracle Version 2

1 - 43 VL Datenbanksysteme Sattler / Saake

Page 45: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: (80er und) 90er Jahre

• Wissensbanksysteme

Daten in Tabellenstrukturen

Stark deklarative DML, integrierte Datenbankprogrammiersprache

• Objektorientierte Datenbanksysteme

Daten in komplexeren Objektstrukturen (Trennung Objekt und seineDaten)

Deklarative oder navigierende DML

Oft integrierte Datenbankprogrammiersprache

Oft keine vollstandige Ebenentrennung

1 - 44 VL Datenbanksysteme Sattler / Saake

Page 46: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: heute

• Neue Hardwarearchitekturen

Multicore-Prozessoren, Hauptspeicher im TB-Bereich:In-Memory-Datenbanksysteme (z.B. SAP HANA)

• Unterstutzung fur spezielle Anwendungen

Cloud-Datenbanken: Hosting von Datenbanken, SkalierbareDatenmanagementlosungen (Amazon RDS, Microsoft Azure)

Datenstromverarbeitung: Online-Verarbeitung von Live-Daten,z.B. Borseninfos, Sensordaten, RFID-Daten, . . . (StreamBase, MSStreamInsight, IBM Infosphere Streams)

Big Data: Umgang mit Datenmengen im PB-Bereich durchhochskalierbare, parallele Verarbeitung, Datenanalyse (Hadoop,Hive, Google Spanner & F1, . . . )

1 - 45 VL Datenbanksysteme Sattler / Saake

Page 47: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: NoSQL

• NoSQL-Datenbanken (”Not only SQL“):

nicht-relationale Datenbanken, flexibles Schema(dokumentenzentriert)

”leichtgewichtig“ durch Weglassen von SQL-Funktionalitaten wieTransaktionen, machtige deklarative Anfragesprachen mitVerbunden etc.

Beispiele: CouchDB, MongoDB, Cassandra, . . .

1 - 46 VL Datenbanksysteme Sattler / Saake

Page 48: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: NoSQL

Quelle: http://geekandpoke.typepad.com/geekandpoke/2011/01/nosql.html

1 - 47 VL Datenbanksysteme Sattler / Saake

Page 49: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: NoSQL

Quelle: http://geekandpoke.typepad.com/geekandpoke/2011/01/nosql.html

1 - 48 VL Datenbanksysteme Sattler / Saake

Page 50: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Entwicklungslinien: NoSQL

Quelle: http://geekandpoke.typepad.com/geekandpoke/2011/01/nosql.html

1 - 49 VL Datenbanksysteme Sattler / Saake

Page 51: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Trends

• Nutzergenerierte Inhalte, z.B. Google:

Verarbeitung von 20 PB taglich

15h Video-Upload auf YouTube in jeder Minute

Lesen von 20 PB wurde 12 Jahre benotigen bei 50 MB/s-Festplatte

• Linked Data und Data Web

Bereitstellung, Austausch und Verknupfung von strukturiertenDaten im Web

ermoglicht Abfrage (mit Anfragesprachen wie SPARQL) undWeiterverarbeitung

Beispiele: DBpedia, GeoNames

1 - 50 VL Datenbanksysteme Sattler / Saake

Page 52: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Zusammenfassung

• Motivation fur Einsatz von Datenbanksystemen

• Codd’sche Regeln

• 3-Ebenen-Schemaarchitektur & Datenunabhangigkeit

• Einsatzgebiete

1 - 51 VL Datenbanksysteme Sattler / Saake

Page 53: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Kontrollfragen

• Welchen Vorteil bieten Datenbanksystemegegenuber einer anwendungsspezifischenSpeicherung von Daten?

• Was versteht man unter Datenunabhangigkeitund wie wird sie erreicht?

• In welchen Bereichen kommenDatenbanksysteme zum Einsatz?

1 - 52 VL Datenbanksysteme Sattler / Saake

Page 54: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Kontrollfragen

• Welchen Vorteil bieten Datenbanksystemegegenuber einer anwendungsspezifischenSpeicherung von Daten?

• Was versteht man unter Datenunabhangigkeitund wie wird sie erreicht?

• In welchen Bereichen kommenDatenbanksysteme zum Einsatz?

1 - 53 VL Datenbanksysteme Sattler / Saake

Page 55: Teil I Was sind Datenbanken? - Marcus Pinneckepinnecke.info/db1/ws-2019-2020-dbs-01.pdf · 2019-11-29 · Architekturen 3. Einsatzgebiete 4. ... Cloud-Datenbanken: Hosting von Datenbanken,

Kontrollfragen

• Welchen Vorteil bieten Datenbanksystemegegenuber einer anwendungsspezifischenSpeicherung von Daten?

• Was versteht man unter Datenunabhangigkeitund wie wird sie erreicht?

• In welchen Bereichen kommenDatenbanksysteme zum Einsatz?

1 - 54 VL Datenbanksysteme Sattler / Saake


Recommended