Benvenuto/a!

Concetti NoSQL

Miriam Antona

Software engineer

Argomenti trattati

  • Capitolo 1: database NoSQL vs relazionali / key-value
  • Capitolo 2: Database a documenti
  • Capitolo 3: Database a famiglie di colonne
  • Capitolo 4: Database a grafo
Concetti NoSQL

Info sul corso

  • Corso concettuale (niente codice)

Logo Datazy

Concetti NoSQL

NoSQL vs database relazionali

Database relazionali

  • Usano tabelle/righe/colonne
  • Schema predefinito/difficile da cambiare
  • Query lente con molte JOIN
  • Scalabilità verticale
    • si scala aggiungendo risorse (es. CPU, RAM...)
    • più costoso
  • Garantiscono transazioni ACID
  • Tipicamente closed source

NoSQL

  • In origine non-SQL/non relazionali
  • Not only SQL
  • Database non relazionali
  • Non usano tabelle/righe/colonne
  • Senza schema/cambi facili
  • Query veloci
  • Scalabilità orizzontale/più economici
  • Molti non supportano transazioni ACID
  • Open source
Concetti NoSQL

NoSQL vs database relazionali

  • Sono complementari
  • Possono convivere
Concetti NoSQL

Tipi di database NoSQL

  • Database key-value
  • Database a documenti
  • Database a famiglie di colonne
  • Database a grafo
Concetti NoSQL

Database key-value

  • I NoSQL più semplici
  • Get/Set di valori tramite chiave associata

Un esempio visivo di due tuple chiave-valore. La prima chiave è K1 e il valore è Hello. La seconda chiave è K2 e il valore è Goodbye.

Concetti NoSQL

Chiave

  • Esempi:
    • DataCampCourse:123:name
    • Client456
    • 123456789
    • [email protected]
    • C09113276F59B26EF3394D90CD31BAA90AA7B4BE
  • Qualsiasi sequenza binaria
  • Uniche
  • Possono essere generate da algoritmi
  • Evitare chiavi lunghe
Concetti NoSQL

Valore

  • Associato a una chiave
  • Recupera, imposta, elimina per chiave
  • Numeri, stringhe, JSON, immagini...
  • Limiti di dimensione
Concetti NoSQL

Valore

  • Associato a una chiave
  • Recupera, imposta, elimina per chiave
  • Numeri, stringhe, JSON, immagini...
  • Limiti di dimensione

$$

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"}
Concetti NoSQL

Esempio Datazy

Preferenze utente

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

 

  • Convenzione (:)
    • user:id:preferences
Concetti NoSQL

Database key-value più diffusi

Loghi di alcuni popolari database key-value.

Concetti NoSQL

Esercitiamoci!

Concetti NoSQL

Preparing Video For Download...