DB2 Kapitel 5+6 Flashcards
Was ist der Bedarf für Datenbanken?
Viele Anwendungen müssen Daten dauerhaft speichern
Oft strukturierte Daten und Wunsch nach Suchmöglichkeit
Speichern von Dateien auf Festplatte reicht deshalb nicht
Was ist eine Entität?
Zu speichernde Objekt-Art
vlg. Klassen bei objektorientierter Programmierung
Abbildung auf Tabelle in DB
Was ist ein Schema?
Struktur der Daten (Attribute) einer Entität (DB Tabelle)
Jeweils Paar aus Name + Datentyp
Was ist eine Relation?
Beziehung zwischen Entitäten
Was ist vertikale Skalierung?
Leistungsfähigere Hardware.
Problem: Irgendwann Grenze erreicht, Single Point of Failure
Was ist horizontale Skalierung?
Viele Standard Rechner (relativ billig)
Ziele: Redundanz(Ausfallsicherheit), Aufteilung der Daten
Was besagt das CAP Theorem?
Vertikale Skalierung -> verteiltes System
Consistency (Gleichheit der Daten in allen Knoten)
Availability (Alle Anfragen werden mit akzeptabler Reaktionszeit beantwortet)
Partition Tolerance (System antwortet auch bei Ausfall von Kommunikationsbeziehungen oder Knoten auf Anfragen)
Es können nie alle 3 gleichzeitig in einem verteilten System garantiert werden
(Consistency reicht es, wenn es nach einer gewissen Zeitspanne erreicht ist und nicht sofort)
Wofür stehen die BASE Eigenschaften?
Basically Available (Meiste Zeit verfügbar)
Soft State (DB muss nicht sofort nach Datenänderung konsistent sein, Kopien der Daten auf versch. Rechnern müssen nicht sofort identisch sein)
Evetually Consistent(DB erreicht Konsistenz zu einem späteren Zeitpunkt)
Was definiert eine NoSQL DB?
Datenmodell nicht relational
System sind auf vertikale und horizontale Skalierbarkeit ausgelegt
System ist schemafrei
System unterstützt Datenreplikation
System bietet einfache API
System hat meist anderes Konsistenzmodell als relationale Datenbanken (BASE statt ACID)
Optional Open Source
Was für NoSQL DBs gibt es?
Key/Value Datenbanken
Dokumentorientierte DB
Spaltenorientierte DB (Zeilenweises Abspeichern)
Graphdatenbanken
Welche Begriffe in MongoDB gibt es?
Database (Datenbank)
Collection (DB Tabelle)
Dokument (Tabellenzeile)
Field (Tabellenspalte)
MongoDB Befehle: DB auswählen, DB anzeigen, alle vorhandenen DBs anzeigen mit min.1 Collection
DB auswählen:
use database_name
DB anzeigen:
db
Alle DBs:
show dbs
MongoDB Collection anlegen und alle vorhandenen Anzeigen
Collection anlegen:
db.createCollection(“collection_name)
Anzeigen aller Collections:
show collections
MongoDB: Dokument in Collection einfügen
db.collection_name.insert(document)
MongoDB: Anzeigen aller Dokumente einer Collection
db.collection_name.find()