MongoDB World is back in NYC June 7 - 9!

Nozioni di base su MongoDB

MongoDB è un database di documenti per uso generico, progettato per lo sviluppo di applicazioni moderne e per il cloud. La sua architettura di scalabilità orizzontale consente di soddisfare la crescente domanda del tuo sistema aggiungendo più nodi per distribuire il carico.

Aspetti chiave di MongoDB

Ecco alcuni dei concetti e termini chiave che incontrerai mentre impari a usare MongoDB.


Documenti: i record in un database di documenti

MongoDB archivia i dati come documenti JSON.

Il modello di dati del documento si collega naturalmente agli oggetti nel codice dell'applicazione, semplificando l'apprendimento e l'utilizzo da parte degli sviluppatori.

I campi in un documento JSON possono variare da un documento all'altro. Fai un confronto con una tabella di un relational database tradizionale, dove l'aggiunta di un campo implica l'aggiunta di una colonna alla tabella del database stesso e quindi a ogni record nel database.

I documenti possono essere annidati per esprimere relazioni gerarchiche e archiviare strutture come le matrici.

Documento JSON

Il document model offre la flessibilità necessaria per lavorare con dati complessi, in rapida evoluzione e disordinati provenienti da numerose fonti. Consente agli sviluppatori di consegnare rapidamente nuove funzionalità delle applicazioni.

Per un accesso più veloce internamente e per supportare più tipi di dati, MongoDB converte i documenti in un formato chiamato Binary JSON o BSON. Ma dal punto di vista di uno sviluppatore, MongoDB è un database JSON.


Raccolte: raggruppamento di documenti

In MongoDB, una raccolta è un insieme di documenti.

Se hai familiarità con i relational database, puoi pensare a una raccolta come a una tabella. Tuttavia, le raccolte in MongoDB sono molto più flessibili. Le raccolte non applicano uno schema a meno che non vengano configurate per farlo, e i documenti nella stessa raccolta possono avere campi diversi.

Ogni collezione è associata a un database MongoDB. Per mostrare quali raccolte si trovano in un particolare database, utilizza il comando listCollections.


Replica set: garantire un'elevata disponibilità

Un modo importante per garantire un'elevata disponibilità è conservare diverse copie dei propri dati. Con MongoDB, l'alta disponibilità è integrata direttamente nel design.

Quando crei un database in MongoDB, il sistema crea automaticamente almeno altre due copie dei dati, denominate replica set. Un replica set è un gruppo di almeno tre istanze di MongoDB che replicano continuamente i dati tra di loro, offrendo ridondanza e protezione contro i tempi di inattività in caso di guasto del sistema o manutenzione programmata.


Partizionamento orizzontale: scalabilità per gestire una crescita massiccia dei dati

Una piattaforma dati moderna deve essere in grado di gestire query molto veloci e set di dati di grandi dimensioni utilizzando cluster sempre più grandi di piccoli computer. Il partizionamento orizzontale si riferisce alla distribuzione intelligente dei dati su più computer.

Come funziona il partizionamento orizzontale in MongoDB? MongoDB suddivide i dati a livello di raccolta, distribuendo i documenti in una raccolta tra le partizioni di un cluster. Il risultato è un'architettura di scalabilità orizzontale che supporta anche le applicazioni più grandi.

Partizionamento orizzontale con MongoDB


Indici: miglioramento della velocità delle query

Gli indici supportano l'esecuzione efficiente delle interrogazioni. MongoDB offre una varietà di strategie di indicizzazione, inclusi gli indici composti su più campi. Se scelti con cura, gli indici velocizzano le query perché queste scansionano l'indice invece di leggere ogni documento nella raccolta.

C'è ancora del lavoro da fare per analizzare quali query potrebbero trarre vantaggio dall'aggiunta di un indice. Uno strumento che esegue questa analisi per te è Performance Advisor, che analizza le query e suggerisce indici che potrebbero migliorare le prestazioni delle query.


Aggregation pipeline: flussi di dati veloci

MongoDB offre un framework flessibile per creare pipeline di elaborazione dati chiamate aggregation pipeline. Include decine di fasi e oltre 150 operatori ed espressioni, consentendo di elaborare, trasformare e analizzare i dati di qualsiasi struttura su larga scala. Una recente aggiunta è la fase Union, che aggrega in modo flessibile i risultati di più raccolte.

Aggregation pipeline di MongoDB


Linguaggi di programmazione: MongoDB parla la tua stessa lingua?

Quali linguaggi è possibile utilizzare con MongoDB? L'elenco dei linguaggi supportati include Node.js, C, C++, C#, Go, Java, Perl, PHP, Python, Ruby, Rust, Scala, Swift e molti altri. La libreria per ciascun linguaggio è mantenuta attivamente, il che significa che viene aggiornata con nuove funzionalità, correzioni di bug, patch di sicurezza e miglioramenti alle prestazioni.


Come monitorare MongoDB

Puoi monitorare lo stato e le prestazioni del tuo cluster controllando lo stato dell'istanza, le operazioni del cluster e le metriche delle connessioni, le metriche dell'hardware e altro ancora con solo alcune utility e comandi. Il monitoraggio può aiutarti a rilevare e reagire ai problemi in tempo reale prima che diventino gravi.


Cloud MongoDB

MongoDB è nato come database open source e può ancora essere utilizzato in questo modo attraverso la MongoDB Community Edition.

Nella MongoDB Enterprise Edition, le funzionalità avanzate sono disponibili tramite una licenza commerciale.

MongoDB Atlas è una versione database-as-a-service (DBaaS) di MongoDB Enterprise Edition offerta su tutti i cloud pubblici.

MongoDB Atlas è stato ampliato in vari modi con funzionalità integrate come Atlas Search, Atlas Vector Search e altre funzionalità avanzate per la geo-localizzazione dei dati e l'esecuzione di backup.


Scopri di più: oltre i fondamenti

Ora che conosci una parte della terminologia che incontrerai quando imparerai a conoscere MongoDB, perché non inizi subito a usare MongoDB Atlas? Nel frattempo, unisciti alla comunità di MongoDB, che offre di tutto: dai forum ai webinar, fino ai corsi gratuiti di MongoDB University. Un buon punto di partenza è il corso introduttivo nozioni di base su MongoDB.

MongoDB è un database di uso generale, con un'ampia varietà di casi d'uso. Se ti stai ancora chiedendo se MongoDB sia la scelta giusta per la tua applicazione, consulta l'articolo Perché usare MongoDB?.


Scopri di più nella nostra serie sulle nozioni di base su MongoDB


Pronto per iniziare?

Prova MongoDB nel cloud gratuitamente con MongoDB Atlas. Non serve la carta di credito.