Ad oggi, i dati sono diventati una risorsa fondamentale in tutti i campi. Sia le grandi che le medio-piccole aziende analizzano i dati in loro possesso per pianificare tutte le loro attività, dal marketing alla gestione della produzione. Nuove figure professionali sono nate proprio per affrontare le sfide che la gestione e l’analisi dei dati pongono. Tra queste il data scientist è diventata una delle figure professionali più ricercate.
Purtroppo, l’incremento esponenziale nella produzione di nuovi dati e la ricerca di strumenti per estrarre informazioni utili da essi, hanno relegato in secondo piano la figura del progettista delle basi di dati. Questa figura però è fondamentale per organizzare e memorizzare i dati in modo opportuno al fine di velocizzare tutti gli strumenti che li usano. La progettazione di una base di dati, infatti, è un tassello fondamentale nella costruzione delle nuove tecnologie, di nuovi strumenti di analisi e nello sviluppo aziendale.

I database maggiormente utilizzati ad oggi sono quelli relazionali, come Mysql, PostgreSQL, Oracle, ecc. Questa tecnologia, ideata e sviluppata a partire dagli anni 60 del secolo scorso, ha riscontrato un enorme successo e si evoluta nel corso dei decenni fino alle soluzioni attuali. La base teorica, però, è rimasta invariata ed è largamente documentata su vari libri universitari e non. La grande limitazione dei database relazionali è la necessità di definire uno schema del database. Questo aspetto è stato superato dai database NoSQL. Questi ultimi, infatti, si definiscono schemaless, ossia senza schema.
Il loro punto di forza è, però, anche uno degli aspetti più critici di questa nuova tecnologia. Mancando un formalismo specifico e regole ben definite per modellare il database, la progettazione diventa quasi un’arte che viene custodita gelosamente dagli specialisti del settore.
Gli utilizzatori dei database NoSQL si pongono sempre la stessa domanda: Come strutturo lo schema dei dati? Non esiste, purtroppo, un’unica soluzione al problema, ma bisogna analizzare il contesto, esempi di dati, se disponibili, e i casi d’uso relativi alle applicazioni che si appoggeranno al database.
Il libro “Progettare con MongoDB” analizzerà alcuni casi di studio per definire i modelli più usati nella progettazione dei database NoSQL documentali, e in particolare MongoDB, per migliorare le performance del database.
Dove acquistarlo
Il libro è disponibile su Amazon nella versione italiana sia nei formati con copertina flessibile, con copertina rigida ed e-book.
Amazon Italia
Amazon Francia
Amazon UK
Amazon Spagna
E’ disponibile anche la versione inglese sia in formato cartaceo che e-book. La pagina della versione inglese è disponibile qui.
Amazon Italia
Sommario del libro
PREFAZIONE
INTRODUZIONE
Progettare una base dati
Struttura del libro
A chi si rivolge questo libro?
Oltre al libro
SEZIONE I PREREQUISITI
CAPITOLO 1 BREVE PANORAMICA DI MONGODB
1.1 MongoDB: la sua evoluzione
1.2 Struttura dei dati
1.3 Verifiche di apprendimento
SEZIONE II CASI DI STUDIO
CAPITOLO 2 PROGETTARE UN SITO DI E-COMMERCE
2.1 Modello polimorfico
2.1.1 Vantaggi e svantaggi del modello polimorfico
2.2 Modello degli attributi
2.2.1 Vantaggi e svantaggi del modello degli attributi
2.3 Modello extended reference
2.3.1 Vantaggi e svantaggi del modello extended reference
2.4 Modello ad albero
2.4.1 Vantaggi e svantaggi del modello ad albero
2.5 Modello dei sottoinsiemi
2.5.1 Vantaggi e svantaggi del modello dei sottoinsiemi
2.6 Modello degli outliers
2.6.1 Vantaggi e svantaggi del modello degli outliers
2.7 Cosa abbiamo imparato
2.8 Verifiche di apprendimento
CAPITOLO 3 PROGETTARE UN SISTEMA DI MONITORAGGIO DEI CONSUMI ENERGETICI
3.1 Modello dei buckets
3.1.1 Vantaggi e svantaggi del modello dei buckets
3.2 Modello dei valori pre-aggregati
3.2.1 Vantaggi e svantaggi del modello dei valori pre-aggregati
3.3 Modello di approssimazione
3.3.1 Vantaggi e svantaggi del modello di approssimazione
3.4 Cosa abbiamo imparato
3.5 Verifiche di apprendimento
CAPITOLO 4 PROGETTARE UN SISTEMA INFORMATIVO PER UN CENTRO MEDICO
4.1 Modello di preallocazione
4.1.1 Vantaggi e svantaggi del modello di preallocazione
4.2 Modello del document versioning
4.2.1 Vantaggi e svantaggi del modello di document versioning
4.3 Modello dello schema versioning
4.3.1 Vantaggi e svantaggi del modello di schema versioning
4.4 Cosa abbiamo imparato
4.5 Verifiche di apprendimento
SEZIONE III VERIFICHE DI APPRENDIMENTO
CAPITOLO 5 DOMANDE TEORICHE
5.1 Il polimorfismo
5.2 Atomicità in MongoDB
5.3 Caratteristiche dei NoSQL
5.4 Analisi in MongoDB
5.5 I NoSQL per i social networks
5.6 Storage engines in MongoDB
CAPITOLO 6 ESERCIZI SUI MODELLI
6.1 Il modello prodotti-fornitori
6.2 Come gestire i bestsellers di un sito e-commerce
6.3 Gestione delle caratteristiche dei prodotti
6.4 Le recensioni migliori di un albergo
6.5 Organigramma aziendale
6.6 Integrazione di differenti servizi aziendali
6.7 Tracciare i log dei sistemi informativi
6.8 Anagrafe cittadina
6.9 Ottimizzazione di un database di serie temporali
6.10 Monitoraggio del traffico sui siti internet
6.11 Misurazione delle performance nell’IoT
6.12 Rilascio veloce del software
6.13 Sistema informativo di un teatro
6.14 Gestione delle polizze assicurative
CONCLUSIONI
Prossime tappe
BIBLIOGRAFIA
INFORMAZIONI SULL’AUTORE
Materiale aggiuntivo

MongoDB Atlas – creazione di un ambiente cloud per esercitarsi
La guida completa di come creare un’istanza di MongoDB con il servizio cloud Atlas per esercitarsi con il più potente database NoSQL

MongoDB Compass – interrogare e analizzare in modo semplice un database NoSQL
Una guida per utilizzare MongoDB Compass per esercitarsi. Alcuni esempi ed errori da evitare durante la scrittura di query in MongoDB.

MongoDB Compass – estrarre statistiche mediante l’aggregation pipeline
L’analisi dei dati in MongoDB può essere effettuata in modo semplice ed efficace definendo delle pipeline di aggregazione. Vedremo come con MongoDB Compass è possibile creare e validare utili pipeline di analisi dei dati.

Teoria dei replica set di MongoDB
I replica set permettono di ridondare i dati su diverse istanze di MongoDB aumentando, di conseguenza, la tolleranza ai guasti e la disponibilità di distribuire il carico di lavoro in diversi data center. Scopriamo le principali caratteristiche.

MongoDB 5: le nuove caratteristiche
MongoDB è il database NoSQL più utilizzato al mondo. La sua crescita continua è dovuta al continuo sviluppo di nuove funzionalità. La versione 5, uscita a fine luglio 2021, ha introdotto alcune novità molto interessanti. In questo articolo analizzeremo le più rilevanti e più utili nel loro impiego quotidiano.

MongoDB 6.0: nuove funzionalità per migliorare le applicazioni
La nuova versione di MongoDB fornisce nuove funzionalità sia per migliorare l’efficienza di alcune operazioni sia per aumentare la produttività degli sviluppatori. Passare, quindi, a MongoDB 6 è un’ottima scelta!!!