Sie sind auf Seite 1von 47

Teil I

Was sind Datenbanken?


Was sind Datenbanken?

1. Überblick & Motivation

2. Architekturen

3. Einsatzgebiete

4. Historisches

1-1
Lernziele fur
\" heute . . .

\bullet Motivation für den Einsatz von


Datenbanksystemen
\bullet Kenntnis grundlegender Architekturen

1-2 VL Datenbanksysteme Sattler / Saake


\"
Uberblick \& Motivation

1-3 VL Datenbanksysteme Sattler / Saake


Was sind Datenbanken?

\bullet Daten = logisch gruppierte Informationseinheiten


\bullet Bank = . . .

\bullet Die Sicherheit vor Verlusten ist eine


Hauptmotivation, etwas auf die Bank zu
""
bringen``.
\bullet Eine Bank bietet Dienstleistungen fur
\"
mehrere Kunden an, um effizient arbeiten zu
k\"
onnen.
\bullet Eine Datenbank hat die (langfristige)
Aufbewahrung von Daten als Aufgabe.

1-4 VL Datenbanksysteme Sattler / Saake


Anwendungsbeispiele

1-5 VL Datenbanksysteme Sattler / Saake


Bedeutung der Datenverwaltung

\bullet Daten als das Öl des 21. Jahrhunderts (Toonders @Wired 2014)
\bullet Ash Ashutosh (CEO Actifio):

das gro{\ss}
\" te Hotelunternehmen (AirBnB) hat keine Hotels bzw.
Zimmer
das gro{\ss}
\" te Taxiunternehmen (Uber) hat keine eigenen Taxis!

1-6 VL Datenbanksysteme Sattler / Saake


Wie verwaltet man Datenbanken?

Ohne Datenbanken
\bullet jedes Anwendungssystem verwaltet seine eigenen Daten
\bullet Daten sind mehrfach gespeichert \rightsquigarrow redundant
\bullet Probleme
Verschwendung von Speicherplatz
\"
Vergessen`` von Anderungen
""
keine zentrale, genormte`` Datenhaltung
""
1-7 VL Datenbanksysteme Sattler / Saake
Probleme der Datenredundanz

\bullet Andere Softwaresysteme können große Mengen von Daten nicht


effizient verarbeiten
\bullet Mehrere Benutzer oder Anwendungen können nicht parallel auf den
gleichen Daten arbeiten, ohne sich zu stören
\bullet Anwendungsprogrammierer / Benutzer können Anwendungen nicht
programmieren / benutzen, ohne
interne Darstellung der Daten
Speichermedien oder Rechner

angigkeit nicht gewährleistet)


zu kennen (Datenunabh\"
\bullet Datenschutz und Datensicherheit sind nicht gewährleistet

1-8 VL Datenbanksysteme Sattler / Saake


Idee: Datenintegration durch Datenbanksysteme

Anwendung ... Anwendung

Bottleneck!!

Datenbankmanagementsystem =
DBMS Software zur Verwaltung von
Datenbanken
DBS =
Datenbanksystem

strukturierter, von DBMS


verwalteter Datenbestand
Datenbank

1-9 VL Datenbanksysteme Sattler / Saake


Motivation

\bullet Datenbanksysteme
sind Herzstück
heutiger
IT-Infrastrukturen

\bullet . . . allgegenwärtig

\bullet Datenbank-
spezialisten sind
gefragt

1 - 10 VL Datenbanksysteme Sattler / Saake


Motivation: Stellenangebote (Quelle: monster.de, 2020)

SQL 3,413 Datenbanken 13,788

Java 2,905 Betriebssysteme 4,459

C++ 1,356 Netzwerke 4,763

Python 1,303 Cloud 2,469

XML 776 KI 1,715

1 - 11 VL Datenbanksysteme Sattler / Saake


Fragestellungen

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


2. Wie werden Daten dauerhaft verlässlich gespeichert? companies: 10 yrs, medical: 30 yrs

3. Wie kann man riesige Datenmengen (\geq Terabytes) effizient


verarbeiten?
4. Wie können viele Nutzer (\geq 10.000) gleichzeitig mit den Daten
arbeiten?

1 - 12 VL Datenbanksysteme Sattler / Saake


Architekturen

1 - 13 VL Datenbanksysteme Sattler / Saake


Prinzipien: Die neun Codd'schen Regeln
Klausurrelevant

1. Integration: einheitliche, nichtredundante Datenverwaltung


2. Operationen: Speichern, Suchen, Ändern
3. Katalog: Zugriffe auf Datenbankbeschreibungen im Data Dictionary
4. Benutzersichten User views

5. Integrit\"
atssicherung: Korrektheit des Datenbankinhalts
6. Datenschutz: Ausschluss unauthorisierter Zugriffe Security
as an atomic unit,
7. Transaktionen: mehrere DB-Operationen als Funktionseinheit transaction must
be conducted
accross all part of
8. Synchronisation: parallele Transaktionen koordinieren DB as one

9. Datensicherung: Wiederherstellung von Daten nach Systemfehlern


Recovery

1 - 14 VL Datenbanksysteme Sattler / Saake


Datenunabh\"angigkeit und Schemata /Schema

\bullet Basierend auf DBMS-Grobarchitektur


\bullet Entkopplung von Benutzer- und Implementierungssicht
Separate the system/using/hardware to the data
\bullet Ziele u.a.:

Trennung von Modellierungssicht und interner Speicherung


Portierbarkeit
Tuning vereinfachen
standardisierte Schnittstellen

1 - 15 VL Datenbanksysteme Sattler / Saake


Schemaarchitektur

\bullet Zusammenhang zwischen

Konzeptuellem Schema (Ergebnis der Datendefinition)


Internem Schema (Festlegung der Dateiorganisationen und
Zugriffspfade)
Externen Schemata (Ergebnis der Sichtdefinition)
Anwendungsprogrammen (Ergebnis der
Anwendungsprogrammierung)

1 - 16 VL Datenbanksysteme Sattler / Saake


Schemaarchitektur /2

\bullet Trennung Schema — Instanz

Schema (Metadaten, Datenbeschreibungen)


Instanz (Anwenderdaten, Datenbankzustand oder -auspr\"
agung)

\bullet Datenbankschema besteht aus

internem, konzeptuellem, externen Schemata und den


Anwendungsprogrammen

\bullet im konzeptuellen Schema etwa:

Strukturbeschreibungen
Integrit\"
atsbedingungen
Autorisierungsregeln (pro Benutzer fur
\" erlaubte DB-Zugriffe)

1 - 17 VL Datenbanksysteme Sattler / Saake


Schemaarchitektur /3
3 levels of schema - 2 levels of connection and independence of data

externes externes
Schema 1
... Schema N
Anfragebearbeitung

Datendarstellung
Konzeptuelles
Schema

internes
Schema

1 - 18 VL Datenbanksysteme Sattler / Saake


Datenunabh\"angigkeit /2

\bullet Stabilität der Benutzerschnittstelle gegen Änderungen


\bullet physisch: Änderungen der Dateiorganisationen und Zugriffspfade
haben keinen Einfluss auf das konzeptuelle Schema
\bullet logisch: Änderungen am konzeptuellen und gewissen externen
Schemata haben keine Auswirkungen auf andere externe Schemata
und Anwendungsprogramme

1 - 19 VL Datenbanksysteme Sattler / Saake


Datenunabh\"angigkeit /3

\bullet mögliche Auswirkungen von Änderungen am konzeptuellen Schema:


\"
eventuell externe Schemata betroffen (Andern von Attributen)
eventuell Anwendungsprogramme betroffen (Rekompilieren der
\"
Anwendungsprogramme, eventuell Anderungen n\"
otig)

\bullet nötige Änderungen werden jedoch vom DBMS erkannt und


überwacht

1 - 20 VL Datenbanksysteme Sattler / Saake


Anwendungsbeispiel: Mitfahrgelegenheit

\bullet Angebote von Mitfahrgelegenheiten

Wann? Von wo? Wohin? Wer?


Pl\"
atze?
Kontaktdaten
Reservierungsm\"
oglichkeiten

CC-BY-2.0: Luo Shaoyang

1 - 21 VL Datenbanksysteme Sattler / Saake


Ebenen-Architektur am Beispiel

\bullet Konzeptuelle Sicht: Darstellung in Tabellen (Relationen)

Fahrer FahrerID Name Telefon


103 Lilo Pause 01234
104 Just Vorfan 01246
105 Heiko Heizer 01756

Mitfahrangebot ANr Abfahrt Ankunft Zeit FahrerID


1014 Ilmenau Erfurt Freitag 10:00 103
1015 Magdeburg Halle Freitag 15:00 104
1016 Magdeburg Leipzig Freitag 15:00 104
1021 Magdeburg Ilmenau Freitag 14:00 105
1025 Ilmenau Jena Freitag 10:00 103

1 - 22 VL Datenbanksysteme Sattler / Saake


Ebenen-Architektur am Beispiel /2

\bullet Externe Sicht: Daten in einer flachen Relation

ANr Abfahrt Ankunft Zeit Fahrer


1014 Ilmenau Erfurt Freitag 10:00 Lilo Pause
1015 Magdeburg Halle Freitag 15:00 Just Vorfan
1016 Magdeburg Leipzig Freitag 15:00 Just Vorfan
1021 Magdeburg Ilmenau Freitag 14:00 Heiko Heizer
1025 Ilmenau Jena Freitag 10:00 Lilo Pause

1 - 23 VL Datenbanksysteme Sattler / Saake


Ebenen-Architektur am Beispiel /3

\bullet Externe Sicht: Daten in einer hierarchisch aufgebauten Relation

Fahrer Mitfahrangebot
Abfahrt Ankunft Zeit
Lilo Pause Ilmenau Erfurt Freitag 10:00
Jena Freitag 10:00
Just Vorfan Magdeburg Halle Freitag 15:00
Leipzig Freitag 15:00
Heiko Heizer Magdeburg Ilmenau Freitag 14:00

1 - 24 VL Datenbanksysteme Sattler / Saake


Ebenen-Architektur am Beispiel /4

\bullet Interne Darstellung


Baumzugriff
über
ID
1000 1500 2000

teilweises
Speichern der
Datensätze
1014 Ilmenau Erfurt
im Baum

1015 Magdeburg Halle

Überlauf-
bereich für
Datensätze
Freitag 10:00 ….
Freitag 15:00 …

1 - 25 VL Datenbanksysteme Sattler / Saake


System-Architekturen

\bullet Beschreibung der Komponenten eines Datenbanksystems


\bullet Standardisierung der Schnittstellen zwischen Komponenten

\bullet Architekturvorschläge

ANSI-SPARC-Architektur
\rightsquigarrow Drei-Ebenen-Architektur
Funf-Schichten-Architektur
\"
\rightsquigarrow beschreibt Transformationskomponenten im Detail
Vorlesung Datenbank-Implementierungstechniken``
""

1 - 26 VL Datenbanksysteme Sattler / Saake


ANSI-SPARC-Architektur

\bullet ANSI: American National Standards Institute


\bullet SPARC: Standards Planning and Requirement Committee
\bullet Vorschlag von 1978
\bullet Im Wesentlichen Grobarchitektur verfeinert

Interne Ebene / Betriebssystem verfeinert


Mehr Interaktive und Programmier-Komponenten
Schnittstellen bezeichnet und normiert

1 - 27 VL Datenbanksysteme Sattler / Saake


ANSI-SPARC-Architektur /2

Externe Ebene Konzeptuelle Ebene Interne Ebene

Query Anfragen
Optimierer Auswertung Plattenzugriff
Updates

DB- Data
P1
Operationen Dictionary

Einbettung
...

Embedding

Datei-
Pn Masken Sichtdefinition
organisation
Datendefinition
GUIs

1 - 28 VL Datenbanksysteme Sattler / Saake


Klassifizierung der Komponenten

\bullet Definitionskomponenten: Datendefinition, Dateiorganisation,


Sichtdefinition
\bullet Programmierkomponenten: DB-Programmierung mit eingebetteten
DB-Operationen
\bullet Benutzerkomponenten: Anwendungsprogramme, Anfrage und
Update interaktiv
\bullet Transformationskomponenten: Optimierer, Auswertung,
Plattenzugriffssteuerung
\bullet Data Dictionary (Datenwörterbuch): Aufnahme der Daten aus
Definitionskomponenten, Versorgung der anderen Komponenten

1 - 29 VL Datenbanksysteme Sattler / Saake


Funf-Schichten-Architektur:
\" Verfeinerung der
Transformation

Mengenorientierte
Schnittstelle Übersetzung
Datensystem Zugriffspfadwahl
Satzorientierte
Schnittstelle Logische Zugriffspfade,
Zugriffssystem Schemakatalog, Sortierung,
Transaktionsverwaltung
Interne
Satzschnittstelle
Speicherungsstrukturen, Zugriffs-
Speichersystem pfadverwaltung, Sperr-
verwaltung, Logging, Recovery
Systempuffer-
schnittstelle
Systempufferverwaltung,
Pufferverwaltung Seitenersetzung, Seitenzuordnung
Datei-
schnittstelle
Externspeicherverwaltung,
Betriebssystem Speicherzuordnung

Geräteschnittstelle
Externspeicher
1 - 30 VL Datenbanksysteme Sattler / Saake
Anwendungsarchitekturen

\bullet Architektur von Datenbankanwendungen typischerweise auf Basis


des Client-Server-Modells: Server \equiv Datenbanksystem

Client Server
(Dienstnehmer) (Diensterbringer)

1. Anforderung

2. Bearbeitung

3. Antwort

1 - 31 VL Datenbanksysteme Sattler / Saake


Anwendungsarchitekturen /2

\bullet Aufteilung der Funktionalitäten einer Anwendung


Pr\"
asentation und Benutzerinteraktion
Anwendungslogik ( Business``-Logik)
""
Datenmanagementfunktionen (Speichern, Anfragen, . . . ).

Benutzerschnittstelle Benutzerschnittstelle Client

Anwendungslogik Client

DB-Schnittstelle
Anwendungslogik
Applikations-
DB-Schnittstelle server

DB-Server DB-Server

Zwei-Schichten-Architektur Drei-Schichten-Architektur
1 - 32 VL Datenbanksysteme Sattler / Saake
Einsatzgebiete

1 - 33 VL Datenbanksysteme Sattler / Saake


Einige konkrete Systeme

\bullet (Objekt-)Relationale DBMS

Oracle21c, IBM DB2 UDB V.11, Microsoft SQL Server 2017, SAP
HANA
MySQL (www.mysql.org) \& Friends (MariaDB), PostgreSQL
(www.postgresql.org)
Amazon Aurora, Amazon Redshift, Microsoft Azure SQL, . . .
\bullet Pseudo-DBMS

MS Access
\bullet NoSQL-Systeme Not only SQL movement

Graph-Datenbanksysteme (InfiniteGraph, neo4j),


Dokument-Datenbanken (MongoDB), Key-Value-Stores, . . .

1 - 34 VL Datenbanksysteme Sattler / Saake


Einsatzgebiete

\bullet Klassische Einsatzgebiete:

viele Objekte (100.000 Bucher,


\" 10.000 Benutzer, 1000
Ausleihvorg\"
ange pro Tag, . . . )
wenige Objekttypen (BUCH, BENUTZER, AUSLEIHUNG)
etwa Buchhaltungs- bzw. ERP-Systeme, Bestellsysteme,
Bibliothekssysteme, . . .

\bullet Aktuelle Anwendungen:

E-Commerce, Buchung- und Abrechnungssysteme,


entscheidungsunterstutzende
\" Systeme (Data Warehouses, OLAP),
wiss. Anwendungen (Erdbeobachtung, Klima), . . .

1 - 35 VL Datenbanksysteme Sattler / Saake


Datenbankgr\"o{\ss}en

Kommerzielle Systeme, Zahlen aus 2010

eBay Data Warehouse 10 PB (\approx 10 \cdot 1015 Bytes)


Teradata DBMS, 72 Knoten, 10.000 Nutzer,
mehrere Millionen Anfragen/Tag
WalMart Data Warehouse 2,5 PB
Teradata DBMS, NCR MPP-Hardware;
Produktinfos (Verkäufe etc.) von 2.900 Märkten;
50.000 Anfragen/Woche

1 - 36 VL Datenbanksysteme Sattler / Saake


Historisches

1 - 37 VL Datenbanksysteme Sattler / Saake


Entwicklungslinien: 60er Jahre

\bullet Anfang 60er Jahre: elementare Dateien, anwendungsspezifische


Datenorganisation (geräteabhängig, redundant, inkonsistent)
\bullet Ende 60er Jahre: Dateiverwaltungssysteme (SAM, ISAM) mit
Dienstprogrammen (Sortieren) (geräteunabhängig, aber redundant
und inkonsistent)
\bullet DBS basierend auf hierarchischem Modell, Netzwerkmodell

Zeigerstrukturen zwischen Daten


Schwache Trennung interne / konzeptuelle Ebene
Navigierende DML
Trennung DML / Programmiersprache

1 - 38 VL Datenbanksysteme Sattler / Saake


Entwicklungslinien: 70er und 80er Jahre

\bullet 70er Jahre: Datenbanksysteme (Geräte- und Datenunabhängigkeit,


redundanzfrei, konsistent)
\bullet Relationale Datenbanksysteme

Daten in Tabellenstrukturen
3-Ebenen-Konzept
Deklarative DML
Trennung DML / Programmiersprache

1 - 39 VL Datenbanksysteme Sattler / Saake


Historie von RDBMS

\bullet 1970: Ted Codd (IBM) \rightarrow Relationenmodell als konzeptionelle


Grundlage relationaler DBS
\bullet 1974: System R (IBM) \rightarrow erster Prototyp eines RDBMS

zwei Module: RDS, RSS; ca. 80.000 LOC (PL/1, PL/S, Assembler),
ca. 1,2 MB Codegr\"
o{\ss}e
Anfragesprache SEQUEL
erste Installation 1977
\bullet 1975: University of California at Berkeley (UCB) \rightarrow Ingres

Anfragesprache QUEL
Vorg\"
anger von Postgres, Sybase, . . .

\bullet 1979: Oracle Version 2

1 - 40 VL Datenbanksysteme Sattler / Saake


Entwicklungslinien: (80er und) 90er Jahre

\bullet Wissensbanksysteme

Daten in Tabellenstrukturen
Stark deklarative DML, integrierte Datenbankprogrammiersprache
\bullet Objektorientierte Datenbanksysteme

Daten in komplexeren Objektstrukturen (Trennung Objekt und seine


Daten)
Deklarative oder navigierende DML
Oft integrierte Datenbankprogrammiersprache
Oft keine vollst\"
andige Ebenentrennung

1 - 41 VL Datenbanksysteme Sattler / Saake


Entwicklungslinien: heute

\bullet Neue Hardwarearchitekturen


Multicore-Prozessoren, Hauptspeicher im TB-Bereich:
In-Memory-Datenbanksysteme (z.B. SAP HANA)
Hardwarebeschleunigung durch FPGA oder GPU
\bullet Unterstützung für spezielle Anwendungen
Cloud-Datenbanken: Hosting von Datenbanken, Skalierbare
Datenmanagementl\"
osungen (Amazon RDS, Microsoft Azure)
Datenstromverarbeitung: Online-Verarbeitung von Live-Daten,
z.B. Borseninfos,
\" Sensordaten, RFID-Daten, . . . (StreamBase, MS
StreamInsight, IBM Infosphere Streams)
Big Data: Umgang mit Datenmengen im PB-Bereich durch
hochskalierbare, parallele Verarbeitung, Datenanalyse (Hadoop,
Hive, Google Spanner \& F1, . . . )

1 - 42 VL Datenbanksysteme Sattler / Saake


Entwicklungslinien: NoSQL

\bullet NoSQL-Datenbanken ( Not only SQL“):



nicht-relationale Datenbanken, flexibles Schema
(dokumentenzentriert)
leichtgewichtig`` durch Weglassen von SQL-Funktionalit\"aten wie
""
Transaktionen, m\" achtige deklarative Anfragesprachen mit
Verbunden etc.
Beispiele: CouchDB, MongoDB, Cassandra, . . .

1 - 43 VL Datenbanksysteme Sattler / Saake


Trends

\bullet Nutzergenerierte Inhalte, z.B. Google:

Verarbeitung von 20 PB t\"


aglich
15h Video-Upload auf YouTube in jeder Minute
Lesen von 20 PB wurde
\" 12 Jahre ben\"
otigen bei 50 MB/s-Festplatte
\bullet Linked Data und Data Web

Bereitstellung, Austausch und Verknupfung


\" von strukturierten
Daten im Web
ermoglicht
\" Abfrage (mit Anfragesprachen wie SPARQL) und
Weiterverarbeitung
Beispiele: DBpedia, GeoNames

1 - 44 VL Datenbanksysteme Sattler / Saake


Zusammenfassung

\bullet Motivation für Einsatz von Datenbanksystemen


\bullet Codd’sche Regeln
\bullet 3-Ebenen-Schemaarchitektur & Datenunabhängigkeit
\bullet Einsatzgebiete

1 - 45 VL Datenbanksysteme Sattler / Saake


Kontrollfragen

\bullet Welchen Vorteil bieten Datenbanksysteme


gegenüber einer anwendungsspezifischen
Speicherung von Daten?
\bullet Was versteht man unter Datenunabhängigkeit
und wie wird sie erreicht?
\bullet In welchen Bereichen kommen
Datenbanksysteme zum Einsatz?

1 - 46 VL Datenbanksysteme Sattler / Saake

Das könnte Ihnen auch gefallen