Willkommen!

NoSQL-Konzepte

Miriam Antona

Software engineer

Themen

  • Kapitel 1: NoSQL vs. relationale Datenbanken / Key-Value-Datenbanken
  • Kapitel 2: Dokumentdatenbanken
  • Kapitel 3: Spaltenfamilien-Datenbanken
  • Kapitel 4: Graphdatenbanken
NoSQL-Konzepte

Über den Kurs

  • Konzeptkurs (kein Coding nötig)

Datazy-Logo

NoSQL-Konzepte

NoSQL vs. relationale Datenbanken

Relationale Datenbanken

  • Verwenden Tabellen/Zeilen/Spalten
  • Benötigen vordefiniertes Schema/Änderungen aufwendig
  • Langsame Abfragen bei Joins über viele Tabellen
  • Vertikal skalierbar
    • Skalierung durch mehr Leistung (z. B. CPU, RAM)
    • teurer
  • Garantieren ACID-Transaktionen
  • Typisch Closed Source

NoSQL

  • Ursprünglich non-SQL/nicht relational
  • Not only SQL
  • Nicht-relationale Datenbanken
  • Keine Tabellen/Zeilen/Spalten
  • Schemalos/leichte Änderungen
  • Schnelle Abfragen
  • Horizontal skalierbar/günstiger
  • Meist keine ACID-Transaktionen
  • Open Source
NoSQL-Konzepte

NoSQL vs. relationale Datenbanken

  • Ergänzen sich
  • Können koexistieren
NoSQL-Konzepte

Arten von NoSQL-Datenbanken

  • Key-Value-Datenbanken
  • Dokumentdatenbanken
  • Spaltenfamilien-Datenbanken
  • Graphdatenbanken
NoSQL-Konzepte

Key-Value-Datenbanken

  • Einfachste NoSQL-Datenbanken
  • Werte per Schlüssel Get/Set

Ein Beispiel mit zwei Key-Value-Tupeln. Der erste Schlüssel ist K1, der erste Wert ist Hello. Der zweite Schlüssel ist K2, der zweite Wert ist Goodbye.

NoSQL-Konzepte

Schlüssel

  • Beispiele:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Beliebige Binärfolge
  • Eindeutig
  • Kann per Algorithmus erzeugt werden
  • Keine langen Schlüssel
NoSQL-Konzepte

Wert

  • Mit einem Schlüssel verknüpft
  • Wert per Schlüssel lesen, setzen, löschen
  • Zahlen, Strings, JSON, Bilder ...
  • Größenbeschränkungen
NoSQL-Konzepte

Wert

  • Mit einem Schlüssel verknüpft
  • Wert per Schlüssel lesen, setzen, löschen
  • Zahlen, Strings, JSON, Bilder ...
  • Größenbeschränkungen

$$

key value
dataCampCourses:123:name Cleaning data in a SQL Server database
dataCampCourses:123:softLaunchDate 10/01/2020
user:12:address ('123 Sesame Street', 'NY')
user:125:address {"street" : "123 Sesame Street" , "city" : "NY"}
NoSQL-Konzepte

Datazy-Beispiel

Nutzerpräferenzen

key value
user:457:preferences {"language" : "en_US" , "color" : "green" , "timezone" : "GTM-4"}
user:458:preferences {"language" : "es_US" , "color" : "blue" , "timezone" : "GTM+2"}

 

  • Konvention (:)
    • user:id:preferences
NoSQL-Konzepte

Beliebte Key-Value-Datenbanken

Logos einiger verbreiteter Key-Value-Datenbanken.

NoSQL-Konzepte

Lass uns üben!

NoSQL-Konzepte

Preparing Video For Download...