Kapitel 1 Einfuehrung

Werbung
Vorlesung
Datenbanktechnik
Studienfach
Informationstechnologie
Prof. Dr. Nikolai Preiß
Duale Hochschule Baden-Württemberg Stuttgart
&
Dipl.-Ing. (BA) Holger Seubert
[email protected]
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
1
Inhalt
1.
Einführung
2.
Physische Datenspeicherung
•
•
3.
Indexierung
•
•
4.
Anfragebaum
Auswertung
Transaktionskonzept
•
•
6.
Flache Indexe
Mehrstufige Indexe (B- und B+-Bäume)
Anfrageoptimierung
•
•
5.
Unsortierte und sortierte Datei
Hash-Datenbank
Recovery
Mehrbenutzerbetrieb
Verteilte Datenbanken
•
•
•
Verteilungskonzepte
Anfrageauswertung
Transaktionskonzept
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
2
Literatur
Connolly, T. / Begg, C. (2005):
Database Systems, 4. Auflage, Addison-Wesley-Verlag, ISBN 0-321-21025-5
Elmasri, R. / Navathe, S.B. (2000):
Fundamentals of Database Systems, Third Edition, Addison-Wesley, ISBN 0-201-54263-3
(5. Auflage 2006 verfügbar, ISBN 0-321-41506-X)
Elmasri, R. / Navathe, S.B. (2009)
Grundlagen von Datenbanksystemen, 3. aktualisierte Auflage, Pearson Studium, ISBN 3-86894-012-X
(deutsche Übersetzung der verkürzten englischsprachigen Originalausgabe)
Heuer, A. / Saake, G. / Sattler, K.-U. (2003)
Datenbanken kompakt, 2. Auflage, mitp-Verlag, ISBN 3-8266-0987-5
Saake, G. / Heuer, A. / Sattler, K.-U. (2005)
Datenbanken: Implementierungstechniken, 2. akt. u. erw. Auflage, mitp-Verlag, ISBN 3-8266-1438-0
Silberschatz, A. / Korth, H. / Sudarshan, S. (2006)
Database System Concepts, 5. Auflage, McGraw-Hill-Verlag, ISBN 007-124476-X
Vossen, G. (2007):
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg-Verlag,
ISBN 3-486-27574-7
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
3
1. Einführung
1.1. Allgemeine Einführung
Wir bleiben bei traditionellen Datenbankanwendungen, d.h. OnLine Transaction Processing
Systemen (OLTP)
‣ Verarbeitung von einfach strukturierten Massendaten (numerisch, textform)
‣ also keine :
• noSQL Datenbanken
• In-Memory Datenbanken
• objektorientierten Datenbanken (im 6. Semester)
• Web-Datenbanken (Content Management System) (z.B. XML-DBs im 6. Semester)
• Multimedia-Datenbanken
(Audio, Video, Bilder – DBS bspw. mit Ausschnitt-Abfragemöglichkeiten)
• geographischen Informationssysteme (Landkarten, Wetterkarten, Satelittenbilder)
• Data Warehouse - OLAP (sehr große Datenmengen, Unterstützung unternehmerischer
Entscheidungsprozesse)
• Echtzeit-Datenbanken (z.B. Computer Integrated Manufacturing, Telefonanlagen)
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
4
1.1. Allgemeine Einführung
Bestandteile eines Datenbanksystems
Datenbank (DB) = Sammlung zusammenhängender Daten
• einfach strukturiert, logisch zusammenhängend
• Ausschnitt der realen Welt („Miniwelt“)
Datenbankmanagementsystem (DBMS) =
Menge von (System-) Programmen, um Datenbanken zu verwalten
• definieren, manipulieren, abfragen
• Strukturen und Daten
• Wartung und Administration
Datenbanksystem (DBS) = Datenbank + DBMS
• Benutzer:
- interaktiver Anwender
- (Anwendungs-) Programme
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
5
1.1. Allgemeine Einführung
Quelle:
Elmasri, R. / Navathe, S.B. (2000)
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
6
1.1. Allgemeine Einführung - Beispiel DB2
DB2 Server
Instanz („DB2“, „db2inst1“)
An der Spitze der DB2 Hierarchie steht die
Instanz (DBMS) bzw. das
DB2 Subsystem (DB2 z/OS)
Eine Instanz ist eine unabhängige Umgebung in
der Datenbanken erstellt, und Anwendungen ausgeführt werden können (eigene Konfiguration).
Dabei stellt eine Instanz diverse
Systemresourcen wie Speicher, CPU
Management Policies und Netzwerk-Ports zur
Verfügung.
db2icrt
<instance_name>
db2idrop <instance_name>
db2ilist
DBM
CFG
Instanz („myinst“)
db2start
Port
..
db2stop
get dbm cfg
update dbm cfg <params>
Port
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
reset dbm cfg
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
7
1.1. Allgemeine Einführung - Beispiel DB2
Innerhalb einer Instanz können mehrere
unabhängige Datenbanken angelegt werden.
DB2 Server
Instanz („DB2“, „db2inst1“)
Datenbank 1
Dabei hat jede Datenbank:
§ System Katalog Tabellen (Metadaten)
§ Eine eigene Datenbank-Konfiguration (DB CFG)
§ Ein Transaktions-Log
§ Diagnoseinformationen
DB
CFG
..
Datenbank n
DBM
CFG
LOG
Files
create database <parameter>
drop database <parameter>
connect to database <parameter>
Port
..
Instanz („myinst“)
get db cfg
update db cfg <parameter>
db2sampl
Port
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
8
1.1. Allgemeine Einführung - Beispiel DB2 - SAMPLE DB
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
9
1.1. Allgemeine Einführung - Beispiel DB2 - Katalog
‣
Jede Datenbank hat seinen eigenen System-Katalog mit Tabellen,Views, Funktionen
etc.
‣
‣
‣
Im Katalog werden Metadaten über alle Datenbankobjekte gespeichert
Der Katalog kann wie jede andere Tabelle auch abgefragt werden
DB2 Katalogobjekte befinden sich in dem Datenbankschemata SYS*, wie z.B.:
• SYSIBM – Basistabellen (Metadaten)
• SYSCAT – Views basierend auf SYSIBM Tabellen, optimiert für „ease of use“
• SYSSTAT – Datenbank-Statistiken
• SYSIBMADM – Views über Administrative Informationen, wie z.B. die CONTAINER
•
UTILIZATION
Beispiele:
- SYSCAT.TABLES
- SYSCAT.INDEXES
- SYSCAT.COLUMNS
- SYSCAT.FUNCTIONS
- SYSCAT.PROCEDURES
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
10
1.1. Allgemeine Einführung
Vorteil Datenbanksystem im Vergleich zur Dateiverwaltung:
‣ fertiges Datenverwaltungssystem mit
• interaktiver Schnittstelle und
• API (Programmierschnittstelle) => Datenverwaltung unabhängig von Programmlogik
‣ zentrale oder verteilte Datenbank (Skalierbarkeit) möglich (mit unterschiedlichen
Benutzersichten), hohe Verfügbarkeit
‣ einfache, standardisierte Datenbanksprache (SQL, XQuery / SQL/PL, PL/SQL, T-SQL)
‣ optimierte, strukturierte Datenablage (Objekte mit Beziehungen - relationales Datenmodell),
Vermeidung von Redundanz
‣ Datensicherheit (Zugriffsschutz, Sicherheits- und Autorisierungssubsystem, Backup/ Restore)
‣ schnelle Zugriffe
• mit geeigneten Datenblöcken
• mit Indexen
‣ Überwachung von Integritätsbedingungen (Wertebereiche, RI, unique, not null, …),
Sicherstellung der Konsistenz
‣ Transaktionskontrolle mit
• Koordination konkurrierender Benutzer (Concurrency Control/ Nebenläufigkeitskontrolle)
• Wiederherstellung eines korrekten Datenbank-Zustands im Fehlerfall (Recovery)
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
11
1.1. Allgemeine Einführung
Berufsbilder im Umgang mit Datenbanksystemen:
‣ Endanwender
• fragen DBs ab (Reports) oder manipulieren DBs
• Gelegenheitsanwender (bspw. Manager) bis hin zum DB-Spezialisten
‣ Software-Ingenieur
• (DB-) Anwendungsentwickler: Analytiker + Programmierer
‣ DB-Designer (Datenmodellierer)
• zentrale Stelle für Analyse und Design der Datenmodelle
• unternehmensweites Datenmodell + unternehmensweites Relationenmodell
‣ DB-Administrator
• überwacht DB-Betrieb (DB + DBMS + (DB-) Anwendungen)
• mit geeigneten Tools:
Performance, Reorg (Umstellung/Optimierung Primär-/Sekundärorganisation),
Backup, Ressourcenzuteilung, Zugriffsrechte
‣ DBS-Hersteller (Vendor)
• eigentliches DBS
• ergänzende Tools (bspw. Performance-Monitor, CASE-Tool (bspw. für Datenmodellierung) )
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
12
1.2. DBS-Architektur
3-Ebenen-Architektur (nach ANSI/SPARC, 1978) für den Aufbau einer Datenarchitektur
mit einem DBS => Trennung Benutzer von physischer Ebene
Kunden-Bestellungen
……..
Artikel-Bestellungen
Artikel
Art-Nr
Art-Name
….....
………
Art-Nr
Kunden
K-Nr
K-Name
……..
……
…………
(Datensicht für Programm 1)
(Datensicht für Programm 2)
Externe Schemata
Kunde
K-Nr
K-Name
bestellt
0..*
0..*
Artikel
Art-Nr
Art-Name
Konzeptionelles Schema
(Entity-Relationship-Datenmodell)
INTERNE
EBENE
KONZEPTIONELLE
EBENE
EXTERNE
EBENE
K-Nr
Kunde
K-Nr
K-Name
Bestell
K-Nr
Art-Nr
Artikel
Art-Nr
Art-Name
Logisches Schema
(Relationales Datenmodell)
Satzspeicherungsart, Speichergröße, Blockgröße,
Verteilung, Indexe, Transaktionsverhalten, …..
Internes Schema
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
13
1.2. DBS-Architektur
Übersicht über die Komponenten eines DBMS
Figure 2.3 illustrates, in a simplified form, the typical DBMS components. The database and the
DBMS catalog are usually stored on disk. Access to the disk is controlled primarily by the
operating system (OS), which schedules disk input/ output (I/O).
A higher-level stored data manager module of the DBMS controls access to DBMS information
that is stored on disk, whether it is part of the database or the catalog. The dotted lines and circles
marked A, B, C, D, and E in Figure 2.3 illustrate accesses that are under the control of this stored
data manager. The stored data manager may use basic OS services for carrying out low level data
transfer between the disk and computer main storage, but it controls other aspects of data transfer,
such as handling buffers in main memory. Once the data is in main memory buffers, it can be
processed by other DBMS modules, as well as by application programs.
The DDL compiler processes schema definitions, specified in the DDL, and stores descriptions of
the schemas (meta-data) in the DBMS catalog. The catalog includes information such as the
names of files, data items, storage details of each file, mapping information among schemas, and
constraints, in addition to many other types of information that are needed by the DBMS modules.
DBMS software modules then look up the catalog information as needed.
The run-time database processor handles database accesses at run time; it receives retrieval or
update operations and carries them out on the database. Access to disk goes through the stored
data manager.
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
14
1.2. DBS-Architektur
The query compiler handles high-level queries that are entered interactively. lt parses, analyzes,
and compiles or interprets a query by creating database access code, and then generates calls to
the run-time processor for executing the code.
The precompiler extracts DML commands from an application program written in a host
programming language. These commands are sent to the DML-compiler for compilation into object
code for database access. The rest of the program is sent to the host language compiler. The object
codes for the DML commands and the rest of the program are linked, forming a canned transaction
whose executable code includes calls to the run-time database processor.
The concurrency control / recovery system is based on the concept of transaction processing. It
ensures the correctness of database operations when multiple users are working on the database at
the same time. It also recovers the database from a system failure.
Figure 2.3 is not meant to describe a specific DBMS; rather it illustrates typical DBMS modules. The
DBMS interacts with the operating system when disk accesses - to the database or to the catalog are needed. lf the computer system is shared by many users, the OS will schedule DBMS disk
access requests and DBMS processing along with other processes. The DBMS also interfaces with
compilers for general-purpose host programming languages. User-friendly interfaces to the DBMS
can be provided to help any of the user types shown in Figure 2.3 to specify their requests.
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
15
1.2. DBS-Architektur
Quelle:
Elmasri, R. / Navathe, S.B. (2000)
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
16
1.2. DBS-Architektur
Übersicht über die Komponenten eines DBMS
Erläutern Sie anhand der Abbildung 2.3 und der zugehörigen Beschreibung
in Stichworten die folgenden DBMS-Komponenten:
‣ Stored Data Manager (SDM)
•
regelt Datentransfer zwischen Platte und Hauptspeicher
•
mit Hilfe von Betriebssystem-Routinen
‣ DDL-Compiler
•
übersetzt Schema-Definitionen
•
speichert diese in den Katalog
•
arbeitet mit Hilfe des SDM
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
17
1.2. DBS-Architektur
‣ Run-Time Database Processor (RTDP)
•
führt den Datenbankzugriff zur Laufzeit aus
•
mit Hilfe des SDM
‣ Query Compiler
•
übersetzt interaktive Datenbankanfragen und lässt diese ausführen
•
aktiviert RTDP
‣ Concurrency control / Recovery System
•
regelt den konkurrierenden Zugriff mehrerer Benutzer
•
stellt den konsistenten Zustand der Datenbank nach einem
Datenbanksystemfehler wieder her
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
18
1.2 Am Beispiel DB2 - Architektur
Concurrency
Control
DDL/ Query
Compiler
Recovery
system
RTDP
Stored Data
Manager
© DHBW Stuttgart, Prof. Dr. Nikolai Preiß, Holger Seubert
Vorlesung Datenbanktechnik (Informationstechnologie) V2.0
19
unsortiert
Primärorganisation
statisch
dynamisch
sortiert
Hash
Primärindex
Clusterindex
Sekundärindex
flach
Sekundärorganisation (Indexe)
Themenübersicht
Vorlesung
Datenbanktechnik
B-Baum
mehrstufig
B+-Baum
linear
Selektion
DBT
Anfrageauswertung
Verbund
binär
Hash
Index
Nested loop join
Single loop join
Anfragebaum
Sort merge join
Recovery (Reihenfolge Commits)
Transaktionskonzept
Mehrbenutzerkontrolle (2-Phasen-Sperr-Protokoll + wait-die)
Selektion (Selektions-“Verrechnung“)
Anfrageauswertung
Verbund (Semi-Verbund)
2-Phasen-Commit-Protokoll
Verteilte Datenbanken
Recovery
Transaktionskonzept
Reihenfolge Commits
20
Mehrbenutzerkontrolle (2-Phasen-Sperr-Protokoll + wait-die)
Herunterladen