Progettare con MongoDB

I migliori modelli dati per le applicazioni

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

Schema MongoDB replica set con arbitro

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.

Leggi Tutto »

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.

Leggi Tutto »
Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!