Welkom!

NoSQL-concepten

Miriam Antona

Software engineer

Onderwerpen

  • Hoofdstuk 1: NoSQL vs relationele databases / key-value-databases
  • Hoofdstuk 2: Documentdatabases
  • Hoofdstuk 3: Kolomfamilie-databases
  • Hoofdstuk 4: Graafdatabases
NoSQL-concepten

Over de cursus

  • Conceptuele cursus (geen code nodig)

Datazy-logo

NoSQL-concepten

NoSQL vs relationele databases

Relationele databases

  • Gebruiken tabellen/rijen/kolommen
  • Vereisen vooraf gedefinieerd schema/moeilijk te wijzigen
  • Trage queries bij joins over meerdere tabellen
  • Verticaal schaalbaar
    • schalen door meer power toe te voegen (bijv. CPU, RAM...)
    • duurder
  • ACID-transacties gegarandeerd
  • Vaak closed source

NoSQL

  • Oorspronkelijk non-SQL/niet-relationeel
  • Not only SQL
  • Niet-relationele databases
  • Geen tabellen/rijen/kolommen
  • Schemaless/makkelijk aan te passen
  • Snelle queries
  • Horizontaal schaalbaar/goedkoper
  • Meesten ondersteunen geen ACID-transacties
  • Open source
NoSQL-concepten

NoSQL vs relationele databases

  • Zijn complementair
  • Kunnen naast elkaar bestaan
NoSQL-concepten

Typen NoSQL-databases

  • Key-value-databases
  • Documentdatabases
  • Kolomfamilie-databases
  • Graafdatabases
NoSQL-concepten

Key-value-databases

  • Simpelste NoSQL-databases
  • Get/Set waardes met bijbehorende sleutel

Een visueel voorbeeld van twee key-value-tupels. De eerste sleutel is K1 en de waarde is Hello. De tweede sleutel is K2 en de waarde is Goodbye.

NoSQL-concepten

Sleutel

  • Voorbeelden:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Elke binaire reeks
  • Uniek
  • Kan algoritmisch worden gegenereerd
  • Geen lange sleutels
NoSQL-concepten

Waarde

  • Gekoppeld aan een sleutel
  • Waarde op sleutel ophalen, zetten, verwijderen
  • Nummers, strings, JSON, afbeeldingen...
  • Groottebeperkingen
NoSQL-concepten

Waarde

  • Gekoppeld aan een sleutel
  • Waarde op sleutel ophalen, zetten, verwijderen
  • Nummers, strings, JSON, afbeeldingen...
  • Groottebeperkingen

$$

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-concepten

Datazy-voorbeeld

Gebruikersvoorkeuren

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

 

  • Conventie (:)
    • user:id:preferences
NoSQL-concepten

Populaire key-value-databases

Logo's van populaire key-value-databases.

NoSQL-concepten

Laten we oefenen!

NoSQL-concepten

Preparing Video For Download...