• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/74

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

74 Cards in this Set

  • Front
  • Back

Die 5 V's von Big Data in aufsteigender Folge nach Bedeutung

Volume, Velocity, Variety, Veracity, Value

Typen von Datenanalyse

Descriptive, Diagnostic, Predictive, Prescriptive

Unterschied Data Scientist <-> Data Engineer

Welche 5 Data-modelle und beschreiben.

Relationalmodell, Key-Value-stores, Wide-column-tables, Document Stores, Graph DB

JDBC Treiber Typen und erklären

Typ 1: JDBC-ODBC Bridge


Typ 2: Native API/Partly Java


Typ 3: Net-protocol/All-java Treiber


Typ 4: Native-protocol/All-java Treiber

Vorkompilierte SQL-Anweisungen in JDBC, wie?

PreparedStatement, parametrisierbar mit "?"


Idee: oft verwendete Anweisungen ein mal kompilieren.

Was ist CLI?

Call Level Interface. Standard für Prozeduren & Funktionen zur Kommunikation mit DBMS. Definition und Ausführung von Anfragen. Verarbeitung von Ergebnissen.

Was ist ODBC

CLI-konforme Windows Implementierung. Erweiterte Funktionalität. Dynamisches Laden von Treibern.

Handlearten in ODBC?

Environmenthandle, Connection-handle, Statement Handle, Descriptor Handle

HierachieStruktur der Handles

Environmenthandle->Connectionhandle>Statementhandle




Connectionhandle->Descriptorhandle

Vorteile der Anwedungslogik IN der DB?

Räumliche Nähe von Anwendungslogik und Daten.


Reduzierter Netzwerkverkehr.


Kapselung und Wiederverwendung.


Höheres Optimierunspotential.


Transaktionsschutz.



Funktionsarten in DB2

Skalar-, Aggregations-, Zeilen- und Tabellenfunktionen

Nutzerdefinierte Funktionsarten?

Sourced(Template), SQL Scalar/Table/Row, External Scalar/Table, OLE DB External Table

Was sind Sourced Functions?

Basieren auf bestehenden Funktionen. Automatische Typkonvertierung. Vorhandene Funktionen mit nutzerdefinierten Typen.

Was sind Stored Procedures?

In DB abgelegte Prozeduren. Parametriesiert. SQL oder extern. Aufruf mit 'CALL'.

SP im Vergleich zu UDF?

SP können nicht in SQL-Stmts/Triggern/Funktionen verwendet werden. Bei SP beliebige Ausgabewerte möglich. SP bessere Fehlerverarbeitung.

Was ist Compound SQL?

Zusammenfassen mehrerer SQL-Stmts. 3 Arten:


"Integriert" (UDFs, Trigger, JDBC...), ehemals dynamisch


"Kompiliert" (SP, UDFs, Trigger), ehemals prozedural.

Externe UDFs und warum?

In höherer Programmiersprache geschrieben (java, C#...). Naheuzu beliebige Anwedungslogik implementierbar (kein schreibender DB-Zugriff).


Zugriff auf bestehende externe Software-komponenten möglich.

Fenced vs Unfenced UDFs?

Fenced (Standard): UDF läuft in eigenem Prozess. Kein Zugriff auf DB2-Internals. Sicher aber langsam.


Unfenced: In DB2-Engine ausgeführt->schneller. Für bereits erprobte, vertrauenswürdige UDFs.

Statisches SQL vs Dynamisches SQL

Feste SQL-Anweisungen, vorher bekannt. Parametrisierung durch Variablen zulässig. Vorkompiliert->kein Overhead. Aber: sensitiv zu Änderungen der Datenverteilung. vs


Dynamisch generierte SQL Anweisungen


Typischerweise langsamer. DB2-interne Cache

Was ist NoSQL

Nicht-relational, Verteilt, Fehlertolerant, open-source horizonal skalierbare DBMS

SQL vs NoSQL

ACID vs BASE

Scale-Up vs Scale-Out

Scale-up adds resources to a single node in a system. Scale-out (horizontally) adds more nodes to a system.

Vorteile von Scale-out

Besserer Energieverbrauch aufgrund geringer CPU-Frequenzen. Leichtere Fehlerbehandlung. Erlaubt inkrementelle Kapazitätsanpassung und rolling updates.

CAP Definition

Consistency, Availability, Partition-tolerance. Nur zwei davon gleichzeitig möglich.

Was ist Redis?

Remote Dictionary Server. Open-source single-threaded, advanced key-value-data-store. Works with in-memory dataset.

Welche Values in Redis möglich?

Strings, Containers of Strings: Hashes, Lists, Sets, Sorted sets

Was ist HyperLogLog?

Probabilistische Datenstruktur. Schättz die Kardinalität eines Multisets. Braucht nicht Speichermenge proportional zur Menge der Items. Konstante Speichermenge 12kb.

Was ist HBase?

Wide-column-NoSQL Store auf Basis von Apache Hadoop. Verteilte sortierte Map auf Basis von Google Big Table. Spaltenorientiertes Layout.

Features von HBase?

Versionierung. In-Memory Tabellen, Kompression, Fehlertoleranz, Map-Reduce-Unterstützung.

Aufbau von HBase Tabelle.

Eindeutiger Row key zur Identifizierung von Zeilen = Key-Value Container. Zeilen nach Column families gruppiert. Column families enthalten columns. Zelle ist Kombi aus row-key, column family und column. Zelle ist mit Zeitstempel versioniert.

Optimierung von HBase Schema wie?

Bezeichner der Column families so klein wie möglich wählen. Spaltenbezeichner lesbar aber kurz. Hotspot durch Salting vermeiden.

Was ist Salting?

In HBase: Zufälliges Einfügen von Präfixen an alle Row-keys. Dadurch mehr aufwand beim Lesen aber schnelleres Schreiben.

Architektur von HBase

Master: Koordiniert HBase-Cluster, Zuweisung und Balancierung von Regionen. Behandelt Admin-Ops.


Region Server: Enthält mehrere Regionen. Verantwortlich für Schreiben und Lesen.


Region: Untermenge einer Tabelle. Basiseinheit zur Skalierung in HBase. Zusammenhängender geordneter Bereich von Zeilen.

Wann sollte HBase genutzt werden?

Wahlfreies Lesen bzw. Schreiben oder beides notwendig. Tausende Operationen auf mehrere TB. Zugriffsmuster müssen bekannt und einfach sein.

Was ist der Apache Zookeeper und wofür ist er verantwortlich?

Koordinationsdients für HDFS. Verwaltet Namensraum. Locking: Zugriffsverwaltung für geteilte Resourcen. Synchronisation: Start/Stop von Knoten, korrekte Ausführunsreihenfolge. Konfigurationsmanagement. Masterwahl: Bestimmt Masterknoten und handhabt Knotenausfall. Bietet Pub/Sub-Fähigkeiten.

Einsatzszenarien von Document Stores?

Wenn Daten nur schwach vernetzt sind. Primär als Key-Value Store mit Sekundärindizes. Für Javascript (MongoDB). Bei großen Datenmengen.


Z.B. CMS mit semi-strukturierten Daten e.g. Produktdaten.

Was ist MongoDB?

Dokumentorientierte NoSQL-Datenbank in C++. Ziel: Performance und einfacher Datenzugriff.

Features von MongoDB?

Dynamisches Schema. Dokumentbasiert. Sekundärindex. Anfragen per API. Master-Slave-Replikation mit automatischem Failover (replica sets). Map-Reduce-Unterstützung. KEINE Joins und Transaktionen.

Datenmodell von MongoDB

Instanz->0-* Datenbanken->0-* Collections ->0-* Dokumente -> 1-* Felder


Dokumente können andere Dokumente enthalten. Collections entsprechen Tabellen.

Welches Format haben Dokumente in MongoDB?

JSON-ähnliche Struktur namens BSON (binary). Unterstützt mehr Datentypen. Max 16MB.

Wie werden Dokumente in MongoDB untereinander referenziert?

Mit Object-ID nur innerhalb einer Collection. Mit DBref verweisen mehrere Dokumente auf ein Dok in einer anderen Collection.


Mit EmbeddedDoc Einbettung von Dokumente in Andere möglich.

Vergleich der Elemente in RDBMS vs MongoDB?

Datenbank=Datenbank


Tabelle, Sicht -> Collection


Zeile -> Dokument (BSON)


Spalte -> Feld


Index=Index


Join->Eingebettetes Dokument


Fremdschlüssel->Referenz (DBref)


Partition->Shard



Wie verarbeitet MongoDB anfragen?

MongoDB nutzt B-Baum Index zur Beschleuningung. Ohne Index -> Collection Scan über alle Dokumente einer Collection. Standarmäßig wird Index auf _id Feld angelegt.

Welche Indexarten gibts in MongoDB?

Multi-Key-Index


Geospatial Index (2dsphere)


Hash-Index (hashed)


Textsuche mit Textindex (1 Textindex pro Collection möglich)

Nodes und Edges in Neo4J verglichen zu Elementen in ER

Nodes wie eine Entity in ER. Existieren alleine. Haben Objektidentität.


Edges wie Beziehung in ER. Existieren nur zwischen Nodes. Identität hängt von verbundenen Knoten ab.

Unterschied zwischen Path und Simple Path.

Simple Path hat keine Zyklen.

Was ist eine Clique.

Fully edge connected set of vertices.

Def. von Distanz zweiter Nodes in Neo4J

Anzahl der Edges im kürzestem verbundenen Pfad.

Def. von Eccentricity in Neo4J

Längester verbundener Pfad zweier Nodes.

Def. Radius in Neo4J

Minimale Eccentricity aller Nodes im Graphen.

Was ist das Kernkonzept von Neo4J?

Pattern matching.

Pattern Syntax in Neo4J

Vertex pattern mit () und Edge pattern mit -[]->

Wie Daten aus Neo4J extrahieren und Filtern und erstellen?

Mit "MATCH", "WHERE", "RETURN" extrahieren. Mit "CREATE" erstellen.

Unterschied Homomorphismus und Isomorphismus?

Homo: Abbildung von mehreren Knoten der Query auf <= der Resultquery. Iso: 1:1

Vor- und Nachteile bei der Verwendung multipler DBMSs?

Pro: Kann multi-model Daten handlen. Einfache Skalierung.


Con: Benötigt viele qualifizierte Leute zur Arbeit. Inter-model queries schwer verarbeitbar.

Unterschied zwischen Multi-Model und Multi-Modal?

Model: Verschiedene DBMS


Modal: Verschiedene Datentypen (video, bilder, eye tracking data...)

Vor- und Nachteile einer Multi-Model DB?

Pro: Kann multi-model Daten verarbeiten. Ein System hat Fehlertoleranz. Garantiert inter-model Datenkonsistenz. Einheitliche query-Sprache für multi-model Daten.


Con: Komplexes System. Unreif und in Entwicklung. Noch viele Herausforderungen.

Beispiele für Relationale Multi-Model DBMSs?

PostGreSQL, IBM DB2, Microsoft SQL Server, Oracle DB, MySQL

Beispiele für column multi-model DBMSs?

Cassandra, DynamoDB

Unterstütze Models von ArangoDB?

Document, Key-Value, Graph

Datenmodell von ArangoDB?

1-* Datenbanken halten Collections. Collection sind Typ Document oder Typ Edge. Edge Collection haben _from and _to Attribute.

Document Eigenschaften in ArangoDB?

JSON Object. Beliebige Verschachtelung. Kann Listen enthalten. Unique key zur Identifizierung in Collection. Unique ID zur Identifizierung in DB. Beide unveränderlich. Verschiedene Dokumentrevisionen.

Edge Document Eigenschaten in ArangoDB?

Normale Dokumente, die immer _from und _to Attribute enthalten. Einige spezielle Edge Funktionen z.B. edge-collection.edges(vertex).

ArangoDB query Sprache mit Eigenschaften?

AQL - declarative query language. Unterstützt komplexe query patterns und alle Datenmodelle von Arango. Gibt entweder Result zurück oder führt Datenmodifikations-operation aus (INSERT, UPDATE, REPLACE...)

Datentypen in ArangoDB?

Primitive: null, bool, number, string


Compound types: bestehend aus multiplen Werten: Array (von Arrays) mit [] und Object/document mit {}

Indexarten in ArangoDB?

Primary Index


Hash Index


Skiplist Index


Persistent Index


Geo Index


Fulltext Index

Eigenschaften des Primary Index in ArangoDB?

(default): _id, _key, _from, _to automatisch indexiert. Unsortierter Hash Index.

Eigenschaften des Hash Index in ArangoDB?

Auf einem oder mehreren Attributen erstellt.

Eigenschaften des Skiplist Index in ArangoDB?

Sortierte Indexstruktur. Für range queries und sortierte Rückgabewerte benutzt.

Eigenschaften des Persistent Index in ArangoDB?

Sortierter Index mit Persistenz. Indexeinträge auf Platte mit DML Ops geschrieben.

Eigenschaften des Geo Index in ArangoDB?

Speichert 2D Koordinaten (latitude und longitude) in zwei Attributen oder einem Array mit zwei Werten.

Eigenschaften Fulltext in ArangoDB?

Auf einem Attribut erstellt. Indexiert alle Worte in Kleinform von Dokumenten die dieses Wort im Attribut enthalten. Unterstützt komplette Match queries, Präfixsuchen, logische operationen.