Theorie Flashcards

1
Q

XML

A

eXtensible Markup Language

  • Auszeichnungssprache
  • strukturierte Darstellung von Daten zum Austausch zwischen verschiedenen Instanzen (“gemeinsame Sprache”)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Syntax

A

hierarchisch angeordnet
Wurzelelement; Element mit Inhalt;
Attribut aus Attributname und Attributwert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wohlgeformtheit eines XML-Dokuments

A
  • öffnende und schließende Tags (Kurzschreibweise)
  • korrekte Verschachtelung
  • genau ein Wurzelelement

–> nur prinzipiell verarbeitbar, nicht zwangsläufig für Einsatzzweck richtig strukturiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Validität eines XML-Dokments

A

Def.: Wohlgeformtheit + richtige Struktur für Einsatzzweck

  • Document Type Definition (DTD): älter, selbst kein XML
  • XML Schema Definition (XSD): neuer, selbst in XML formuliert (kennt Datentypen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

DTD

A
  • Häufigkeit: ?: 0-1; +: >1; *:>0

- Attribute: #IMPLIED: optional; #REQUIRED: verpflichtend

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Kritik an DTD

A
  • kein XML

- nicht ausdrucksstark genug z.B. keine Spezifizierung von Datentypen der Attribute möglich

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Garantie an den Anwender (bzgl. Transaktionen)

A
  • Atomarität: Zurücksetzung einer fehlerhaften (unvollständigen) Transaktion
  • Konsistenz: Schlüssigkeit und Korrektheit einer Datenbank in sich
  • Isolation: Unabhängigkeit einer Transaktion von parallel laufenden Transaktionen
  • Dauerhaftigkeit : Persistenz aller Daten einer abgeschlossenen Transaktion
  • -> ACID
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Recovery und Vorsorge

A

Wiederherstellung von Daten im Fehlerfall (HW oder SW)

  • HW: nur zertifizierte Rechner und speziell ausgelegte Geräte
  • SW: Abstimmung von SW-Komponenten
  • Sicherung: Protokollierung jeder Änderung in einer Logdatei, tägliche Differenzsicherung, wöchentliche Komplettsicherung und sichere Aufbewahrung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Sicherer Datenbankbetrieb

A
  • Datenbank und Logdaten auf externen nichtflüchtigen Medien
  • Datenbank-Puffer im Arbeitsspeicher (Performance)
  • Zugriff auf Datenbank nur, wenn Daten nicht im Puffer
  • Schreiben im Datenbank-Puffer
  • asynchrone Aktualisierung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Metadaten

A

Informationen zu und Zustände über eine Datenbank

  • Informationen zu laufenden Transaktionen
  • Zustände zu Synchronisationsmechanismen
  • Aktualität und Gültigkeit der Daten im Datenbankpuffer
  • Zustand der aktuellen Logdaten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Datenbankpuffer

A
  • großer Teil des Arbeitsspeichers, bis zu 1 TB bei großen Datenbanken
  • Bearbeitung der Daten im Puffer für weniger I/Os
  • Speicherung der Änderungen in Logfiles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Datenbankpuffer

A
  • großer Teil des Arbeitsspeichers, bis zu 1 TB bei großen Datenbanken
  • Bearbeitung der Daten im Puffer für weniger I/Os
  • Speicherung der Änderungen in Logfiles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Before- und After-Image

A
  • Before-Image: zu ändernde Daten, bis Transaktionsende gespeichert
  • After-Image: geänderte Daten, bis zur nächsten Sicherung gespeichert
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

einfacher TA-Betrieb

A
  • Lesen der Daten: von Datenbank falls nicht bereits im Puffer
  • Merken der
    zu ändernden Daten in der Logdatei (Before
    Image)
  • Ändern der Daten: Ändern (Update, Delete, Insert) der Daten im Arbeitsspeicher, Sperren
    dieser Einträge für andere Benutzer
  • Merken der
    geänderten Daten in der Logdatei (After Image)

. . . Obige vier Schritte können sich innerhalb einer Transaktion mehrmals
wiederholen

  • Transaktionsende
    mit COMMIT
    Transaktionsende in der Logdatei vermerken. Sperren freigeben.
    Schreiben aller Änderungen in die Datenbank.
  • Transaktionsende
    mit Rollback
    Rücksetzen der Metadaten der Transaktion. Geänderte Daten im
    Arbeitsspeicher mittels Before-Images restaurieren. Sperren freigeben.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

moderner TA-Betrieb

A
  • asynchrones Schreiben der Daten in die Datenbank um Überlastungen zu verhindern
  • Pufferung: Minimierung des I/O-Verkehrs, Konsistenz der Daten abhängig von Logfiles
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Concurrency

A
  • Parallelbetrieb in Datenbanken: Jede Transaktion läuft so ab,
    als sei sie allein im System
  • 3 Herausforderungen: verlorengegangene Änderungen bei Gleichzeitigkeit, Abhängigkeit von nicht abgeschlossenen Transaktionen (Lesen von Daten, die mittels Rollback zurückgesetzt werden), Inkonsistenz (fehlerhafte Daten bei gleichzeitigen Transaktionen
16
Q

Concurrency Strategien

A
  • optimistisch: bei Transaktionsende wird auf parallele Zugriffe überprüft und ggf. zurückgesetzt und neu gestartet
  • bei geringer Kollisionswahrscheinlichkeit
  • Ri
16
Q

Concurrency Strategie optimistisch

A
  • optimistisch: bei Transaktionsende wird auf parallele Zugriffe überprüft und ggf. zurückgesetzt und neu gestartet
  • bei geringer Kollisionswahrscheinlichkeit
  • Risiko: permanente Neustarts durch gegenseitiges Aufschaukeln
17
Q

Concurrency Strategien: pessimistisch

A
  • Alle von einer Transaktion angefassten Daten sind für andere
    Transaktionen gesperrt, Freigabe der Sperre am Transaktionsende
  • Risiko:
    Einschränkung der Parallelität, hoher Aufwand für Sperrmechanismen
18
Q

Sperrgranulate

A
  • Datenbanksperre: kein Parallelbetrieb, nur Einzelplatzbetrieb
  • Tabellensperren: relativ flexibel, bei geringer Parallelität
  • Tupelsperren: alle wichtigen Datenbanken, Standard in größeren Datenbanken
  • > Problem bei großen Datenbanken sehr viele Locks, daher Lockpool mit Poolverwaltung und bedarfsgerechter Einrichtung
  • Eintragsperren: sehr sehr aufwändig, kaum implementiert
19
Q

Sperrmechanismen

A

Sperrmechanismen werden mit Locks realisiert

Grundidee zu Locks in Datenbanken:
 Zu jeder Relation existiert ein Lock
 Eine Transaktion holt vor jedem Zugriff auf eine Relation
automatisch den Lock dieser Relation
 Ist der Lock von einer anderen Transaktion belegt, so wartet
die Transaktion in einer Warteschlange, bis sie nach der
Freigabe des Locks an der Reihe ist
 Bei Transaktionsende werden alle gehaltenen Locks freigegeben