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>
|
Was ist JPA ausgeschrieben?
Java Persistence API
Was ist JDO ausgeschrieben?
Java Data Objects
Welche Lücke will das Konzept des OR-Mappings überwinden?
Die semantische Lücke der Persistenz. Da Applikationen (meistens) Objektorientiert sind und Datenbanken (meistens Relational) möchet man mittels OR-Mapping eine 'nahtlose' Abbildung von und zu der darunterliegenden DB schaffen.
Was ist ORM ausgeschrieben?
Object-Relational Mapper
Welche Ladestrategieren gibt es bei OR-Datenobjekten?
Eager Loading und Lazy Loading
Was ist Eager Loading?
Target Entity wird direkt mit der hergestellten Beziehung geladen.
(die ist default bei @OneToOne und @ManyToOne)
Was ist Lazy Loading?
Entity wird erst beim ersten Zugriff auf die Beziehung geladen.
(default bei @OneToMany und @ManyToMany)
Beschreibe den Begriff 'Persistence Unit'
- Menge von Klassen und deren Mapping
- Bestimmt JPA Provider und DB-Anbindung
- Durch META-INF / persistence.xml beschrieben
-> Verwaltet durch EntityManagerFactory
Beschreibe den Begriff 'Persistence Context'
(=Session)
- erzeugt durch EntityManagerFactory, verwaltet durch ebendiese
- kapselt DB-Sessions, Transaktionen und Cache
- verwaltet Menge von Entities
Nenne die States welche eine Entity haben kann
- new
- managed
- detached
- removed
Beschreibe den Entity State 'new'
Entity hat keine persistente ID und ist nicht mit einem persistance context assoziiert
Beschreibe den Entity State 'managed'
Entity hat persistente ID und ist mit einem Context assoziiert
Beschreibe den Entity State 'detached'
Entity hat persistente ID aber ist nicht mit einem context assoziiert
Beschreibe den Entity State 'removed'
Entity hat persistente ID, ist mit context assoziiert und ist für die Entfernung im DataStore eingereiht
Was ist eine Stored Procedure (SP)?
Subroutine welche Applikationen mit Zugang zu RBDMS zur Verfügung steht. aka 'User Defined Function', 'Subroutine', 'Methode'.
Gelten als Grundlage für Triggers
Was ist der unterschied zwischen SQL und PL/SQL?
SQL = deklarative Programmiersprache
PL/SQL = prozedurale Sparche mit eingebettetem SQL
Notiere eine einfache, beispielhafte Struktur für eine SP ind PL/pgSQL
-- Hello World
create or replace function helloworld()
returns void as $$
begin
raise notice 'Hello World!';
end;
$$ language plpgsql;
-- Test and use the function / procedure:
SELECT helloworld();
Wie werden in PL/pgSQL Variablen zugewiesen?
variable := expression
Stimmt folgende Aussage für Stored Procedures und / oder Functions?
Usable in an expression
Stimmt folgende Aussage für Stored Procedures und / oder Functions?
Return a value
Stimmt folgende Aussage für Stored Procedures und / oder Functions?
Return values as OUT parameters
Stimmt folgende Aussage für Stored Procedures und / oder Functions?
Return a single result set
Stimmt folgende Aussage für Stored Procedures und / oder Functions?
return multiple result sets
Welche Aussagen zu Triggers sind wahr?
Welche Aussagen zu Triggers sind wahr?
Dass eine View updatable ist, muss sie welche der folgenden Bedingungen erfüllen?
Was ist ein Instead-of Trigger?
Werden anstelle der ursprünglichen SQL-Operation ausgeführt
Können für Modifikation auf Tables und Views definiert werden
Leiten Modifikation auf Views zur darunterliegenden Tabelle weiter
Wie läuft ein Table Scan (Heap Scan) ab?
= Scanning aller Pages in einer Tabelle
- Starte bei erster Page der Tabelle
- Scannt page-to-page durch alle Rows der Tabelle
- Extrahiere Rows welche Querybedingung erfüllen
Was gibt es zu der Performance von Table-Scans zu wissen?
I/O wird optimiert durch lesen der Extents
Bei grösseren Tabelle Optimierung durch Indizes
-> ABER: Bei Queries mit >80% Ausbeute ist Tablescan schneller als Zugriff über Indizes (ausser Index-only Scan)
Was ist ein Index?
Eine Datenstruktur für den effizienten Zugriff auf Daten. Sie dienen der schnelleren Suche, nicht der Speicherung. Dies bringt einen gewissen Overhead an Daten mit sich.
Welche Arten von Indexstrukturen gibt es?
- B-Bäume, B+ Bäume
- Hash
- Bitmap
- Mehrdimensionale und mehrstufige Indizes
Beschreibe den Ablauf des Query Processing
- Query Engine parst SQL-Anweisung und wandelt diese in Query-Tree um
- Query Tree wird allenfalls transformiert (Query Rewriting) in äquivalenten Query Tree
- Optimizer generiter Ausführungsplänre und wählt optimalsten
- Zur Laufzeit werden Ausführungspläne mit aktuelle Variablen gebunden und ausgeführt
Für welches verteilte DBMS stimmt folgende Aussage?
Alle Knoten haben identische Software
Für welches verteilte DBMS stimmt folgende Aussage?
Unterschiedliche Schemas => Hauptproblem für Ausführung verteilter Queries
Für welches verteilte DBMS stimmt folgende Aussage?
Erscheint gegenüber Benutzer als ein System
Für welches verteilte DBMS stimmt folgende Aussage?
Softwareunterschiede => Hauptproblem für Ausführung verteilter Transaktionen
Für welches verteilte DBMS stimmt folgende Aussage?
Knoten wissen nicht zwingend voneinander und können nur beschränkte Funktionalitäten für Kooperation anbieten
Was bedeutet 'TM'? Beschreibe.
TM = Transaktionsmanager
Er muss sicherstellen, dass alle RM einer Transaktion die lokale Transaktion entweder mit Commit oder Rollback abschliessen, sonst können Inkonsistenzen auftreten.
Wofür steht ACID?
Atomicity, Consistency, Isolation, Durability
Wofür steht BASE?
Basically Available, Soft-state / scalable, Eventually Consistent