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-18 17:57] – [Eigenschaften von Schedules] skrupellos | uni:8:dbs2:zusammenfassung [2020-11-18 18:11] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 105: | Line 105: | ||
| ===== Datenschutz ===== | ===== Datenschutz ===== | ||
| ==== Discretionary Access Controll (DAC) ==== | ==== 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** \\ $t_\text{scan} = t_\text{seek} + f \cdot t_\text{transfer} + \lceil \frac{f}{c_\text{puffer}} \rceil \cdot t_\text{lat}$ | ||
| + | * **Wahlfrei** \\ $t_\text{random} = (t_\text{seek} + c_\text{index} \cdot t_\text{transfer} + t_\text{lat}) \cdot a$ | ||
| + | |||
| + | ===== Anfrageoptimierung ===== | ||
| + | ==== Arten ==== | ||
| + | * **Logische Anfrageoptimierung** \\ Auswertungsplan umbauen | ||
| + | * **Physische Anfrageoptimierung** \\ Algorithmen auswählen | ||
| + | |||
| + | ==== Logische Anfrageoptimierung ==== | ||
| + | === Umformungsregeln === | ||
| + | * $R \bowtie S = S \bowtie S$ | ||
| + | * $R \cup S = S \cup R$ | ||
| + | * $R \cap S = S \cap R$ | ||
| + | * $R \times S = S \times R$ | ||
| + | * $(R \bowtie S) \bowtie T = R \bowtie (S \bowtie T)$ | ||
| + | * $(R \cup S) \cup T = R \cup (S \cup T)$ | ||
| + | * $(R \cap S) \cap T = R \cap (S \cap T)$ | ||
| + | * $(R \times S) \times T = R \times (S \times T)$ | ||
| + | * $\sigma_A(\sigma_B(R)) = \sigma_B(\sigma_A(R))$ | ||
| + | * $\sigma_{A \wedge B}(R) = \sigma_A(\sigma_B(R))$ | ||
| + | * $\pi_A(\pi_B(R)) = \pi_A(R) \text{ mit } A \subseteq B$ | ||
| + | * $\pi_A(\sigma_B(R)) = \sigma_B(\pi_A(R)) \text{ mit attr}(B) \subseteq A$ | ||
| + | * $\sigma_B(R \bowtie S) = \sigma_B(R) \bowtie S \text{ mit attr}(B) \subseteq \text{ attr}(R)$ | ||
| + | * $\sigma_B(R \times S) = \sigma_B(R) \times S \text{ mit attr}(B) \subseteq \text{ attr}(R)$ | ||
| + | * $\sigma_B(R \cup S) = \sigma_B(R) \cup \sigma_B(S)$ | ||
| + | * $\sigma_B(R \cap S) = \sigma_B(R) \cap \sigma_B(S)$ | ||
| + | * $\sigma_B(R \setminus S) = \sigma_B(R) \setminus \sigma_B(S)$ | ||
| + | * $\pi_B(R \cup S) = \pi_B(R) \cup \pi_B(S)$ | ||
| + | * $\sigma_{A=B}(R \times S) = R \bowtie_{A=B} S$ | ||
| + | |||
| + | === Algo === | ||
| + | - $\sigma$ splitten | ||
| + | - $\sigma$ nach unten | ||
| + | - $\sigma$ und $\times$ => $\bowtie$ | ||
| + | - $\pi$ einfügen, um auf minimum beschränken | ||
| + | - $\pi$ nach unten | ||
| + | - $\sigma$ 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 \cdot P(A)) \cdot \ldots$ | ||
| + | |||
| + | ==== 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.1437235069.txt.gz · Last modified: (external edit)
