Processing math: 100%

Wiki

A universe of ideas

User Tools

Site Tools


uni:8:dbs2:zusammenfassung

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
uni:8:dbs2:zusammenfassung [2015-07-19 17:43] – [Logische Anfrageoptimierung] skrupellosuni:8:dbs2:zusammenfassung [2020-11-18 18:11] (current) – external edit 127.0.0.1
Line 182: Line 182:
 F=(1P(A)+xP(A)) F=(1P(A)+xP(A))
  
 +==== Data Warehouse ====
 +| OLTP                          | OLAP                         |
 +| Online Transaction Processing | Online Analytical Processing |
 +| Detail                        | Nur relevante                |
 +| Aktuelle                      | Historische                  |
 +| Ist eine quelle               | Hat viele quellen            |
 +| Veränderbar                   | Nur hinzufügen               |
 +
 +<blockquote>//Fakten// in //hierachischen// //Dimensionen//</blockquote>
 +
 +=== Relationales mapping ===
 +Faktentabelle in der Mitte
 +== Snowflake ==
 +Eine Tabelle pro Hierachieebene pro Dimension
 +
 +== Star ==
 +Eine Tabelle pro Dimension
 +
 +
 +===== Recovery =====
 +==== Fehlerarten ====
 +  * Transaktionsfehler => Rücksetzen
 +    * Lokales UNDO
 +  * Systemfehler => Warmstart
 +    * Globales UNDO
 +    * Globales REDO
 +  * Medienfehler => Geräte-Recovery
 +    * Globales REDO
 +
 +==== Logging ====
 +  * Physisch [Bit-Blöcke]
 +    * Übergangslogging [XOR]
 +    * Zustandslogging [Volle ...]
 +      * Seiten-Logging [... Seiten]
 +      * Eintrags-Logging [... Einträge]
 +  * Logisches Logging [Befehle/Parameter loggen]
 +  * Physiologisches Logging [Befehle/Parameter pro Seite]
 +
 +=== Aufbau Log-File ===
 +Ringbuffer
 +  * LSN (Fortlaufende Nummer)
 +  * TA-ID (Welche Transaktion)
 +  * Page-ID (Welche Seite)
 +  * REDO
 +  * UNDO
 +  * PrevLSN
 +
 +Log-Granularität <= Sperrgranularität
 +
 +=== Einbringungsstrategie (wo in DB) ===
 +  * Direkt (NonAtomic, Update in-place) => UNDO nötig
 +  * Indirektes Einbringen (Atomic) ["Daneben ablegen"] => Kein UNDO nötig
 +
 +=== Verdrängungsstrategien (wann frühestens Puffer -> DB) ===
 +  * No-Steal [Nach COMMIT] => Kein UNDO
 +  * Steal [egal] => UNDO
 +
 +WAL-Prinzip: UNDO muss vor Änderungen an DB im Log stehen
 +
 +=== Ausschreibungsstrategie (wann spätestens Puffer -> DB) ===
 +  * Force [Vor COMMIT] => Kein REDO
 +  * No-Force [egal] => REDO
 +
 +COMMIT-Regel: REDO muss vor COMMIT im Log stehen
 +
 +==== Sicherungen ====
 +=== Arten ===
 +  * TOC: Sicherung //einer// TA (entspricht Force)
 +  * TCC: Alle Änderungen raus schreiben, derweil keine //TA//.
 +  * ACC: Alle Änderungen raus schreiben, derweil keine //Operation//.
 +
 +=== Ablauf ===
 +| 1. Analyse   | Gewinner/Verlierer Bestimmen                    ||
 +| 2. REDO      | Vollständiges REDO          | Gewinner REDO      |
 +| 3. UNDO      | UNDO (damals) laufender TAs | UNDO verlierer TA  |
 +| 4. Abschluss | Sicherungspunkt erstellen                       ||
 +
 +  * Gewinner => COMMIT im log
 +  * Verlierer => Rest
uni/8/dbs2/zusammenfassung.1437320608.txt.gz · Last modified: 2020-11-18 18:10 (external edit)