DEng
Data Engineering
Data Engineering
Kartei Details
Karten | 102 |
---|---|
Sprache | Deutsch |
Kategorie | Deutsch |
Stufe | Universität |
Erstellt / Aktualisiert | 07.08.2019 / 03.09.2019 |
Weblink |
https://card2brain.ch/box/20190807_deng
|
Einbinden |
<iframe src="https://card2brain.ch/box/20190807_deng/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Beschreibe Basically Available im Kontext des BASE-Theorem
Bedingt, dass das System zu jeder Zeit eine Antwort garantiert. Diese kann jedoch auch das Fehlschagen der Datenbeschaffung beschreiben oder inkonsistente / ändernde Daten liefern.
Beschreibe Soft-state im Kontext des BASE-Theorem
Der Systemzustand kann jederzeit ändern. Also auch dann, wenn kein Input gemacht wird können Änderungen auftreten. Dies ist durch die 'Eventual Consistency' bedingt.
Beschreibe Eventually Consistent im Kontext des BASE-Theorem
Das System wir irgendwann konsistent sein, sobald es keine Eingaben mehr empfängt.
Strong vs. weak consistency. Beschreibe.
Bei strong consistency ist garantiert, dass nach jedem Update jeder Zugriff den aktualisierten Wert erhält.
Bei weak consistency ist dies nicht garantiert. Eine Anzahl von Bedingungen muss möglicherweise erfüllt sein, vor der aktualisierte Wert retourniert wird. -> Inconsistency Window
Beschreibe den Ablauf der internen Ebene in 3 Schritten welcher bei Lesen oder Schreiben von Sätzen ausgeführt wird.
- Datei-Manager lokalisiert Seite des gesuchten Satzes
- Datei-Manager beauftrags Puffer-Manager die Seite in den Hauptspeicher zu übertragen
- Puffer-Manager führt Auftrag aus und meldet dies dem Datei-Manager
Welche Aussagen zu B-Bäumen / B+-Bäumen sind korrekt?
Welches sind die Kriterien bei der Wahl von Indizes?
- Tabellengrösse
- Regelmässigkeit der Mutation
- Verwendung der einzelnen Attribute in SELECTs, JOINs
- Wertebereich der Attribute
Welche Attribute sind typischerweise Indexkandidaten?
- Schlüssel
- Jointeilnehmer
- Gleichheits- oder Bereichsbedingungen
- Sortier- / Gruppierrelevant
Notiere eine beispielhafte Syntax für die Erstellung eines Index
CREATE INDEX IX_YEET
ON tFoo(bar);
Löschen mit:
DROP INDEX IX_YEET;
Was ist das Ziel der Kostenabschätzung?
- Abschätzen der Anzahl I/O Operationen für eine Anfrage
- Zeit für in-memory Berechnungen = 0
Nenne Definitionen welche im Kostenmodell verwendet werden.
- P = Anzahl Data Pages mit Fillfaktor = 67%
- R = Anzahl Records per Page (per Block)
- Für Tree Indizes:
- F = Fanout -> Anzahl Children in Nonleaf-Node
- PI = Anzahl Pages im Leaf-Level des Index
Wie ist die Kostenabschätzung bei einem Heap Scan?
Wie ist Sie bei der Suche nach einem eindeutigen Attribut?
Anzahl I/O = P
(P = Anz. Data Pages mit Fillfaktor > 67%)
Bei eindeutigem Attribut:
Anzahl I/O = 1/2 * P
Wie ist die Kostenabschätzung bei einem Clustered Index?
Wie ist sie bei Range Selektion?
Eindeutige Suche mit Gleichheitsbedingung:
- Annahme: Lokalisierung der ersten Page mit Gleichheitsbedingung in logF(P) (-> Index), Binary Search in der Page liefert gesuchten Record
- Anzahl I/O = logF(P)
F = Fan out = Anzahl Einträge im Index
Suche mit Range-Selektion:
- Annahme: Lokalisierung der ersten Records wie mit Gleichheitsbedingung, Sequentielles Lesen der n sortieren Records => n / R Pages
- Anzahl I/O = logF(P) + ceiling(n/R)
Welche Operationen für Oracle bei der Ausführung einer Query aus?
- Table Scan
- Index Range Scan
- Index Unique Scan => unique Index
- Table Access by RowId => Direktzugriff auf Tabelle
- Sort
- Hash
- Filter
- View
Welche Operationen führt PG bei Ausführung einer Query aus?
- Seq Scan
- Index Scan: B-Tree traversal
- Index Only San: (vgl. Index Scan, aber ohne Tabellenzugriff)
- Bitmap Index Scan / Bitmap Heap Scna
- Sort
- HashAggregate
- GroupAggregate
Welche Arten von Queries gibt es?
- Point Query (1 Record)
- Multipoint Query (mehrere Records)
- Range Query
- Prefix Match Query
- Extremal Query
- Ordering Query
- Grouping Query
- Join Query
Welche Arten von Joins gibt es?
- Classic Hash Join
- Nestes Loop Join
- Block based Nested Loop Join
- Sort-Merge Join
Was ist ein Classic Hash Join?
- Erstelle eine Hashtabelle im Memory für die kleinere Relation
- Für jeder Zeile in der grösseren Relation, Tashtable 'proben'
Funktioniert wenn kleinere Relation in Memory platz hat. Falls nicht wird sie in kleinere Teile aufgebrochen.
Welche NoSQL Kategorien gibt es?
- Key/Value Stroes / Databases
- Document Stores / Databases
- Graph Stores / Databases
- Column-Family Stores / Databases
Welche Aussagen zu Cassandra sind korrekt / treffen zu?
Welche Aussagen zu Cassandra Column sind korrekt / treffen zu?
Welche Aussagen zu IMDBs sind korrekt / treffen zu?