Che cos'è un database a documenti?

Concetti NoSQL

Miriam Antona

Software engineer

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

Concetti NoSQL

Database a documenti - panoramica

Immagine della struttura dei database a documenti

  • Documenti -> righe
  • Collezioni -> tabelle
Concetti NoSQL

Documenti

  • Insieme di coppie chiave-valore
  • Chiavi: stringhe
  • Valori: numeri, stringhe, booleani, array o oggetti
  • Senza schema: non serve specificare la struttura
  • Formati: JSON, BSON, YAML o XML
Concetti NoSQL

Documenti - formato JSON

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
Concetti NoSQL

Documenti - query

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
  • Tutti gli utenti che vivono a New York e amano l'hiking
  • Tutti gli utenti con età > 40
  • Dati utente per user_id
  • ...
Concetti NoSQL

Documenti - modello polimorfico

{
  "user_id": 512,
  "name": "Carol",
  "last_name": "Harper",
  "email": "[email protected]",
  "address": {
    "street": "123 Sesame Street",
    "city": "New York City",
    "state": "New York",
    "country": "USA"
  },
  "hobbies": [
    "hiking",
    "painting"
  ]
}
{
  "user_id": 513,
  "name": "Benjamin",
  "last_name": "Lieberman",
  "email": "[email protected]",
  "date_of_birth": "07/04/1984",
  "hobbies": [
    "reading"
  ]
}
Concetti NoSQL

Collezioni

  • Insiemi di documenti
  • Memorizzano lo stesso tipo di entità
  • Organizza documenti e collezioni pensando alle query
Concetti NoSQL

Database a documenti più diffusi

Loghi di alcuni database a documenti popolari.

Concetti NoSQL

Esercitiamoci!

Concetti NoSQL

Preparing Video For Download...