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

  1.  Starte bei erster Page der Tabelle
  2. Scannt page-to-page durch alle Rows der Tabelle
  3. 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

  1. Query Engine parst SQL-Anweisung und wandelt diese in Query-Tree um
  2. Query Tree wird allenfalls transformiert (Query Rewriting) in äquivalenten Query Tree
  3. Optimizer generiter Ausführungsplänre und wählt optimalsten
  4. 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