Dateiorganisation Flashcards

1
Q

Primärspeicher

A
  • Cache, Ram
  • teuerer (als Sek.)
  • schneller (als sek)
  • flüchtig (nicht-persistent)
  • Zugriffsgranularität: fein, Zugriff auf Byteebene
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sekundärspeicher

A
  • Festplatte, Magnetbänder
  • günstig ((er) als Prim.)
  • langsam ((er) als Prim)
  • persistent
  • Zugriff auf Blockebene (oft 512 Byte pro Block)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Mittlere Zugriffszeit

A
  • Seek time => Zugriffsarm (Schreib-Lese-Kopf) positionieren
  • Latenzzeit (latency) => Warten bis richtiger Sektor Kopf passiert (Umdrehungszeit)
  • Transferzeit => Übertragungszeit von Platte in Hauptspeicher
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Record Defintion

A

Sammlung von Feldern die in einer Beziehung zueinander stehen (logischer Datensatz)

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

Record Speicherverfahren

A

Fixlängenspeicherung => für jedes Feld fixe Anzahl Bytes

Speicherung variabler Längen (Trennzeichen) ==> Zwischen var Feldern spezielles Trennzeichen - weniger Speicherplatz verbraucht, langsamerer Zugriff als Fixlänge

Speicherung var Längen (Key-Value-Paare) ==> Key = Value, Nicht gesetzte Felder nicht gepeichert (Sparsam)
Bsp Name=Smith, John/usw.
Auslesen schwieriger, nicht angegegebene Felder werden nicht mehr explizit gespeichert

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

Hash-Kollision

A

Bei einer Hash Kollision ergibt die Hash Funktion für 2 Schlüsselwerte den gleichen Wert, womit beide Schlüsselwerte am selben Speicherplatz gespeichert werden müssten.
Hash Kollisionen lassen sich nicht vermeiden, da die Schlüsselmenge in den meisten Fällen größer ist als die Menge an Speicherplätzen (Wertemenge).

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

Warum wird sequentieller Zugriff im Vergleich zu Wahlfreiem Zugriff immer Schneller verhältnismäßig immer schneller?

A

Transferraten wachsen verhältnismäßig schneller als Rotations und Positionierungszeiten.

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

Was ist Heap, Sequenziele, und Hash-Organisation?

A

Heap Organisation -unsortierte Speicherung von internen Tuplen

Sequenzielle Organisation - sortierte Speicherung von internen Tupeln

Hash Organisation - gestreute Speicherung von internen Tupeln

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

In einer unspanned Heap-Datei wird der i-te fixe Record in den Festplattenblock (i/bfr) an der Position (i mod bfr) gespeichert. Erläutern Sie, warum dieses Wissen im operativen Datenbankbetrieb
faktisch nicht vorteilhaft ausgenutzt werden kann

A

Der Zugriff auf den i-ten Record in einer unsortierten Datei beschleunigt lediglich das Suchen nach dem i-ten Eintrag der Datei, nicht aber die Suche anhand
konkreter Felder in den Records

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

Heap vs. sotierte Datei? Kategorien (Suchoperationen, Einfügen löschen, sotierte Ausgabe)

A

Suche: Aufwändig da alle Records gelesen werden müssen Durschnitt n/2. Binäre Suche effizienter

Einfügen: Einfach weil einfach am ende eingefügt werden kann. Aufwändig da Dateien ggf. umorganisiert werden müssen

Löschen: Aufwändig da gesucht werden muss und Reorganisation zur Lücke gemacht werden muss. Nur günstiger wenn Sotierfeld ansonsten genauso aufwendig

Sotierte Ausgabe: Sehr schwer, einfach weil bereits sotiert vorliegen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q
REihenfolge der Blockspeicherung
3. Varianten
Contiguous Allocation
Linked Allocation
Clustered Allocation
A

1.Contiguous Allocation 
Alle Blöcke werden konsekutiv hintereinander geschrieben 
-Hohe Lesegeschwindigkeit 
-Teure Einfügeoperationen

2.Linked Allocation 
Am Ende jedes Blocks befindet sich ein Pointer auf den nächsten Block 
-Teure Leseoperationen
-Einfügeoperationen problemlos realisierbar

3.Clustered Allocation 
Konsekutive Block-Cluster werden untereinander verlinkt  Kompromisslösung

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

Unterschied B und B+ Baum

A

Daten sind nur in Blätter daher auch als hohler Baum bezeichnet (B+).

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

Was sollte bei einem B baum nicht getan werden und warum?

A

Sotierte Zahlen sollten nicht in ein B-Baum eingefügt werden da dies zu einer schlechten Auslastung des Baums führt.

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

Ordnung p=5 wie viele paare können nach unten abgehen

A

5 Paare können abgehen, nur 4 Kästchen.

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

Was ist ein Index?

A

Ein Index ist ein sekundärer Zugriffspfad auf eine Datei, der parallel zur primäaren Dateiorganisation existiert. Er erlaubt einen direkten Zugriff auf die Daten innerhalb der Datei

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

Vorteile eines Indexes

A

Effiziente Suchverfahren können angewandt werden. Sequenzielle Suche entfällt. (Weniger Blockzugriff um Record zu finden)

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

Sparse und Dense Index Unterschied

A

Sparse Index zeigt nur auf den ersten Eintrag im Block d. h es können WErte lücken entstehen. Daher ist eine Sotierung inerhalb des Blocks entscheidend. (Primary Index)

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

Wie ist ein Primary Index aufgebaut?

A

Wird über einem eindeutigen Attribut gebildet, nach dem die Datendatei physisch organisiert ist.

Jeder Record besteht aus zwei Feldern: 
Das erste Feld ist vom selben Datentyp wie das Sortierfeld der Datendatei. (Bsp. Hans Mueller)
Das zweite Feld ist ein Pointer auf einen Disk Block, in dem der Record physisch liegt.

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

Was für Aussagen können über den Secondary Index getroffen werden ?

A

Existieren für den jeweiligen Indexeintrag nur ein WErt in der Datentabelle handelt es sich um einen Dense Index.

Ist sotiert. Jeder Index ist einem Record zu gewisssen. Index kann eindeutig sein muss aber nicht zwangsläufig.

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

Was ist ein sogenannter clustered Index und was unterscheidet diesen?

A

Der Clustered Index besitzt somit die gleiche Struktur wie der Primary Index Aber: An Stelle eines Eintrages pro Disk Block enthäalt der Clustered Index nun einen Eintrag für jeden unterschiedlichen Wert des Sortierfeldes! Auch der Clustered Index ist ein sparse Index.

21
Q

Wie können Hash-Kollisionen vermieden werden?

A


1.Lineares Sondieren 
Wert rechts neben in Tabelle in freies Feld schreiben

2.Anhängen einer verketteten Liste an die Hash-Position (Overflow-Listen)
Werte unter den bereits belegten Wertschreiben -> Lücken im Wertebereich

-3.Mehrfaches Hashing, d.h. Anwendung weiterer Hash-Funktionen

22
Q

Was ist mit gobaler Tiefe gemeint ? Binär System Tiefe 1: 0 und 1 Tiefe 2 01, 10

A

Man schaut sich die 1,2 oder 3 stellen des Hashwerts an und ordnet die Namen dann in die jeweiligen Blätter ein.

23
Q

Warum sollte bei der Hash-Map nicht die binäre Schreibweise gewählt werden.

A

Da die Nummern sequentiell vergeben werden und erst ab 2125 beginnen, unterscheiden sie sich in der Bmardarstellung nur in den letzten Bits wesentlich. Es würde also ein unnötig großes Verzeichnis
angelegt, wenn man die Binardarstellung als Hashwert verwendet hätte

Um dies zu verhindern, nimmt man die inverse Darstellung. In der Praxis sollte man die Schlüsselwerte noch starker - z B durch Faltung -
„durcheinander wirbeln“

24
Q

was macht ein Equijoin

A

ER übernimmt nur die Zeilen wo es in beiden Tabellen einen Match gibt

25
Q

Was macht kartesisches Produkt

A

_Alle Zeilen der beiden Tabellen werden miteinander mal genommen und ausgegeben. X-Symbol

26
Q

Erstellen sie ein semi join

A

Gleiche wie ein equi join nur das nur die werte der eigentlichen Tabelle ausgegeben werden die theoretisch einen Match mit der gejointen Tabelle hätten

27
Q

Was ist ein natural join

A
  • als Symbol

Erster WErt Tabelle 1 wird mit 1. Wert Tabelle 2 gejoint. Ausgabe nur der die gematcht wurden.

28
Q

Was ist erweitertes Hashing

A

Es wird ein globales Verzeichnis von Bucket-Adressen geführt. Lokale Tiefe d bestimmt die anzahl der höherwertigen Bits.

Kann bei Bedarf wachsen oder schrumpfen (dynamisch)

29
Q

Selektivität?

A

Gibt die Häufigkeit eines Datensatztes unter einer Selektivitätsbedingung im Verhältnis zur gesammten Anzahl an. Bsp.: wenn 100 Datensätze und 10 Name Mueller dann ist die Selektivität 10/100=0,1

30
Q

Klammerschreibeweise SQL-Gleichung

A
Anzeigen -> PI [*]
Wo (Sigma[Bedingung]
JOin  (EQ[Bedingung]
Table (tabellenname, tabellename2))))
*natural X kartesisches Produkt 
->kein join
31
Q

Operatorbaum

A

PI an erster Stelle
dann Selektivität
dann Join
dann Tabellen

Opimiert erst join dann Selektivität auch links recht aufgeteilt dann tabaellen

Tabellen teilen sich auf links und rechts

32
Q

Wann macht statisches Hashing keinen Sinn ?

A

Feste Anzahl an Buckets für M Datensätze. Wenn wenige Datensätze vlerwendet werden. Wird viel Speicherplatz verschwendet.

Bei vielen Datensätzen wird es durch zunehmend Hash-kollisionne unperformanter. Performance wie verkettete Liste

33
Q

Schedules (Korrektheitsannahme)

A

Annahme wenn jede Transakion isoliert ausgeführt wird werden die Daten konsisten hinterlasssen.

Alle Transaktionen seriell ausführen

Problem-> Durch parralles ausführen von Transaktionen wird der Cache besser ausgenutzt -> Effiziensvorteile (Ausnutzung des Caches über langen Zeitraum Long transactions)

Korrekte parallele Pläne finden
Korrekt bedeutet dass diese serialisierbar sind

34
Q

Schedule

A

„Ablaufplan“ für Transaktionen, bestehend aus Abfolge von Transaktionsoperatione

35
Q

Serieller Schedule

A

Schedule in dem Transaktionen hintereinander ausgeführt werden

36
Q

Serialisierbarer Schedule

A

Dessen Effekt der gleiche ist wie der eines seriell ausgeführten Schedules

37
Q

Lost Update Problem

A

T1 read(a) T2 read(a) T1 write(a) T2 Write(a

T2 schreibt auf den gelesenen a wert der zuvor durch T1 aktualisiert worden ist, allerdings hat T2 noch den Alten wert. Daher gibt es am ende den falschen WErt in der DB.

38
Q

Operatorbäume mit kartesischem Produkt und jeweils tausendne von Datensätzen

A

ERst die Selektion weil sonst noch größere Anzahl an Tupeln die durchsucht werden muss.

Wenn allerdings nur aus einem Record dann kann es mit einem Blockzugriff in Hauptspeicher dann nicht erst SElektieren

39
Q

Was sollte für 2 Pl Protokoll erfüllt sein ?

A

Der Schedule widerspricht dem folgenden Prinzip: „no lock after unlock“ Wenn T1 ein read Lock setzen will, muss T2 nach der write Operation ein Unlock ausführen. Der notwendige read-Lock von T2 im dritten Schedule Schritt würde dann dem oben genannten
Prinzip widersprechen
Alle Locks vor Unlock setzten
Koservativ-> alle Lock Operationen vor ausführung der Transaktionen -nicht immer können alle write und read Operationen vor Ausführung bestimmt werden
Lock
read share
write exclusive

40
Q

Was ist ein Deadlock

A

wenn jedes Elemnt aus einer Menge von zwei oder mehr Transaktion auf das Selbe von der vorigen Transaktion gesperrte Element zugreiffen will

41
Q

Was ist eine Scan-Operation

A

Halloween Problem
Projektion und Selektion
Full table and index Scan z.b bei Reihenfolge “oder by”
Geht alle Tupeln der Tabelle ab bzw indizes

42
Q

Wann sind spaltenorientierte Systeme Besser

A
  • Beim Bilden von Aggregaten von nur einer Zeile z.B GEhalt oder Umsatz
  • Wenn eine Spalte mit genau einem Wert aktualiert werden muss z.b:Gehalt mal 1.3

Spaltendaten haben gleichen Datentyp
-> Datenkompression Verringerung des Speicherplatzes

OLap

43
Q

Wann ist zeilenorientierung bEsser

A

Wenn auf mehrere Attribute einer relation zugegriffen werden muss

Wenn beim hinzufügen einer Tupel alle WErte gleichzeitig eingetragen werden.

OltP

44
Q

Datenbankobjekte

A

Bekannte Objekte

records Attribute blocks usw.

45
Q

Transaktion Begriff

A

Beschreibt einen logischen Verarbeitungsblock, der aus einer Sequenz von Einzelbefehlen besteht
Ganz oder Garnicht ausgeführt.

46
Q

ACid

A

Atomar
Consistency
Isolation
Durabiltiy

47
Q

PL2 - Phasen

A

Grow aufgebaut nicht abgebaut
Shrink keinen neuen und abgebaut
Conservative locked alle aufeinmal
Strikt: locked alle verfügbaren und gibt erst wieder frei wenn Transaktion durchgeführt (commited status) oder abgebrochen

48
Q

Recovery Manager, wann?

A

Überwacht den Statut einer Transaktion und prüft ob die DAten auf Platte geschrieben werden können. Bei Fehlern macht er die Transaktion rückgängig.
z. B Transaktionsfehler (division 0)
System-, Rechnerabsturz
Physikalische Fehler (Naturkatasrophe->Stromausfall)