uni:8:dbs2:zusammenfassung
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
uni:8:dbs2:zusammenfassung [2015-07-17 22:41] – skrupellos | uni:8:dbs2:zusammenfassung [2020-11-18 18:11] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 96: | Line 96: | ||
^ Schedule ^ Beschreibung ^ | ^ Schedule ^ Beschreibung ^ | ||
| konfliktäquivalent | Gleiche Abhängigkeitsmengen | | | konfliktäquivalent | Gleiche Abhängigkeitsmengen | | ||
+ | |||
+ | ===== Integrität ===== | ||
+ | * Schlüssel-~ | ||
+ | * Referenzielle ~ | ||
+ | * Multiplititäten Constraints | ||
+ | * Allgemeine Constraints | ||
+ | |||
+ | ===== Datenschutz ===== | ||
+ | ==== Discretionary Access Controll (DAC) ==== | ||
+ | Explizite Autorisierung: | ||
+ | < | ||
+ | grant ... on ... to ... | ||
+ | | ||
+ | ==== Verfeinertes DAC ==== | ||
+ | Implizite Autorisierung: | ||
+ | * //starke// Autorisierung überschreibt // | ||
+ | * Es gibt // | ||
+ | * Subjekte, Objekte und Operationen haben eine Hierarchie | ||
+ | |||
+ | |||
+ | * Implizite Weitergabe positiver Autorisierung in die eine Richtung | ||
+ | * Implizite Weitergabe negativer Autorisierung in die andere Richtung | ||
+ | |||
+ | ==== Mandatory Access Control (MAC) ==== | ||
+ | * Sicherheitsklassen für // | ||
+ | * Objekte hochstufen (V) | ||
+ | * Objekte runter stufen (X) | ||
+ | * Zugriff wenn '' | ||
+ | * Angelegte Objekte '' | ||
+ | |||
+ | ===== HW ===== | ||
+ | B+ | ||
+ | * Directory/ | ||
+ | * Datenseiten | ||
+ | |||
+ | * **Sequenziell** \\ tscan=tseek+f⋅ttransfer+⌈fcpuffer⌉⋅tlat | ||
+ | * **Wahlfrei** \\ trandom=(tseek+cindex⋅ttransfer+tlat)⋅a | ||
+ | |||
+ | ===== Anfrageoptimierung ===== | ||
+ | ==== Arten ==== | ||
+ | * **Logische Anfrageoptimierung** \\ Auswertungsplan umbauen | ||
+ | * **Physische Anfrageoptimierung** \\ Algorithmen auswählen | ||
+ | |||
+ | ==== Logische Anfrageoptimierung ==== | ||
+ | === Umformungsregeln === | ||
+ | * R⋈S=S⋈S | ||
+ | * R∪S=S∪R | ||
+ | * R∩S=S∩R | ||
+ | * R×S=S×R | ||
+ | * (R⋈S)⋈T=R⋈(S⋈T) | ||
+ | * (R∪S)∪T=R∪(S∪T) | ||
+ | * (R∩S)∩T=R∩(S∩T) | ||
+ | * (R×S)×T=R×(S×T) | ||
+ | * σA(σB(R))=σB(σA(R)) | ||
+ | * σA∧B(R)=σA(σB(R)) | ||
+ | * πA(πB(R))=πA(R) mit A⊆B | ||
+ | * πA(σB(R))=σB(πA(R)) mit attr(B)⊆A | ||
+ | * σB(R⋈S)=σB(R)⋈S mit attr(B)⊆ attr(R) | ||
+ | * σB(R×S)=σB(R)×S mit attr(B)⊆ attr(R) | ||
+ | * σB(R∪S)=σB(R)∪σB(S) | ||
+ | * σB(R∩S)=σB(R)∩σB(S) | ||
+ | * σB(R∖S)=σB(R)∖σB(S) | ||
+ | * πB(R∪S)=πB(R)∪πB(S) | ||
+ | * σA=B(R×S)=R⋈A=BS | ||
+ | |||
+ | === Algo === | ||
+ | - σ splitten | ||
+ | - σ nach unten | ||
+ | - σ und × => ⋈ | ||
+ | - π einfügen, um auf minimum beschränken | ||
+ | - π nach unten | ||
+ | - σ mergen | ||
+ | |||
+ | ===== Big Data ===== | ||
+ | * high-**volume** | ||
+ | * high-**velocity** | ||
+ | * high-**variety** | ||
+ | |||
+ | ==== Map-Reduce ==== | ||
+ | - **Map** \\ Data => KV-Pair | ||
+ | - **Shuffle** \\ Same key to same node | ||
+ | - **Reduce** \\ Marge Values per Key | ||
+ | |||
+ | ==== Zählanfrage auf unsicheren Daten ==== | ||
+ | F=(1−P(A)+x⋅P(A))⋅… | ||
+ | |||
+ | ==== Data Warehouse ==== | ||
+ | | OLTP | OLAP | | ||
+ | | Online Transaction Processing | Online Analytical Processing | | ||
+ | | Detail | ||
+ | | Aktuelle | ||
+ | | Ist eine quelle | ||
+ | | Veränderbar | ||
+ | |||
+ | < | ||
+ | |||
+ | === 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/ | ||
+ | * Physiologisches Logging [Befehle/ | ||
+ | |||
+ | === 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) [" | ||
+ | |||
+ | === Verdrängungsstrategien (wann frühestens Puffer -> DB) === | ||
+ | * No-Steal [Nach COMMIT] => Kein UNDO | ||
+ | * Steal [egal] => UNDO | ||
+ | |||
+ | WAL-Prinzip: | ||
+ | |||
+ | === Ausschreibungsstrategie (wann spätestens Puffer -> DB) === | ||
+ | * Force [Vor COMMIT] => Kein REDO | ||
+ | * No-Force [egal] => REDO | ||
+ | |||
+ | COMMIT-Regel: | ||
+ | |||
+ | ==== Sicherungen ==== | ||
+ | === Arten === | ||
+ | * TOC: Sicherung //einer// TA (entspricht Force) | ||
+ | * TCC: Alle Änderungen raus schreiben, derweil keine //TA//. | ||
+ | * ACC: Alle Änderungen raus schreiben, derweil keine // | ||
+ | |||
+ | === Ablauf === | ||
+ | | 1. Analyse | ||
+ | | 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.1437165719.txt.gz · Last modified: 2020-11-18 18:10 (external edit)