Domande frequenti su MongoDB

Cos’è MongoDB?

MongoDB è una piattaforma di dati distribuita basata su documenti generici, progettata per gli sviluppatori di applicazioni moderne e per il cloud. Nessuna piattaforma dati è più produttiva da utilizzare.

Perché MongoDB è utile?

La piattaforma dati MongoDB si basa su tre principi di progettazione fondamentali che collettivamente consentono di costruire più velocemente e di ottenere una qualità superiore:

  1. Il modello di dati del documento – ti presenta il modo migliore per lavorare con i dati.

  2. Un progetto di sistema distribuito che ti consente di mettere i dati in modo intelligente dove vuoi .

  3. Un’esperienza unificata che ti offre la libertà di esecuzione ovunque, permettendoti di rendere le tue app a prova di futuro ed eliminare i vincoli dei fornitori.

Per saperne di più, leggi la Guida all’architettura MongoDB.

Quando dovrei utilizzare MongoDB?

La piattaforma dati MongoDB può essere utilizzata su una vasta gamma di app OLTP e analitiche.

Con MongoDB Server e MongoDB Atlas Data Lake (attualmente in versione beta) è possibile soddisfare una vasta gamma di requisiti applicativi.

MongoDB Server e Atlas: OLTP e analisi online

MongoDB Server è un database generico progettato per servire la maggior parte dei carichi di lavoro OLTP e di analisi online:

  • Ovunque tu stia pensando di utilizzare un database relazionale, dovresti considerare MongoDB.

  • Ovunque tu stia pensando di utilizzare un database NoSQL, dovresti prendere in considerazione MongoDB.

Sia che si preveda di eseguire le proprie app nelle proprie strutture, come soluzione serverless, cloud-native o come modello di implementazione ibrido, MongoDB Server fornisce una completa agilità dell’infrastruttura. Puoi eseguire MongoDB autonomamente sulla tua infrastruttura oppure usare MongoDB Atlas, il nostro servizio di database cloud globale completamente gestito e completamente automatizzato disponibile in oltre 60 aree di AWS, Azure e GCP

MongoDB Atlas Data Lake (Beta): analisi offline

Oltre al server MongoDB, MongoDB Atlas Data Lake estende la potenza e la produttività di MongoDB ai carichi di lavoro di analisi offline. Atlas Data Lake consente di eseguire query sui dati in modo rapido e semplice in qualsiasi formato su Amazon S3 (con altri fornitori di cloud in arrivo) utilizzando il linguaggio e gli strumenti di query MongoDB.

Con Atlas Data Lake puoi realizzare più rapidamente il valore del tuo data lake: non devi spostare i dati da nessuna parte, puoi lavorare con dati complessi immediatamente nella sua forma nativa e con la sua architettura serverless completamente gestita, puoi controllare i costi e rimuovere il carico operativo.

La piattaforma dati MongoDB

Attraverso MongoDB Server e Atlas Data Lake, si dispone di una piattaforma dati integrata che condivide lo stesso linguaggio e lo stesso strumento di query, completamente gestito dal servizio Atlas cloud-native, consentendo di servire un’ampia gamma di applicazioni operative e analitiche:

  1. MongoDB Atlas: progettato per applicazioni OLTP online che richiedono tempi di risposta di millisecondi, fornito di nodi di analisi dedicati per l’analisi in tempo reale rispetto ai dati operativi in tempo reale.

  2. MongoDB Atlas:

    • Analisi online *
    con indici secondari ottimizzati per supportare modelli di query prevedibili che richiedono latenza nell’intervallo da tempi di risposta inferiori al secondo fino a diversi secondi.

  3. MongoDB Atlas Data Lake: progettato per analisi offline su grandi volumi di dati che risiedono nello storage cloud, con latenza nell’ordine dei secondi (come minimo), ma più tipicamente in minuti e oltre – in base a quanti dati stai interrogando e come sono partizionati.

Per informazioni sui casi di utilizzo per MongoDB e sui carichi di lavoro in cui è necessario valutare tecnologie alternative, consultare il White paper Guida ai casi d’uso di MongoDB.

In che modo MongoDB è diverso dai database relazionali come Oracle?

Database relazionali come Oracle, MySQL, SQL Server, Postgres e altri sono basati su architetture originariamente progettate oltre 40 anni fa. I requisiti per le applicazioni erano molto diversi negli anni ’70 rispetto alle attuali applicazioni. Quando Oracle ha rilasciato per la prima volta il proprio database commerciale nel 1979, costava circa 3.000 dollari per MB di spazio di archiviazione. Costi come questi hanno costretto gli architetti software a normalizzare i dati e a creare più tabelle unificate per memorizzare i dati delle applicazioni nel tentativo di eliminare qualsiasi ridondanza. Di conseguenza, oggi le applicazioni di database relazionali contengono decine, centinaia e in alcuni casi migliaia di tabelle che devono essere unite per ottenere i risultati delle query. Non solo questa complessità richiede allo sviluppatore di scrivere query SQL complicate, ma avere molte tabelle in una query richiede una maggiore richiesta di I/O, aumentando i costi dell’infrastruttura.

MongoDB è stato progettato pensando allo sviluppatore in modo da rimuovere il database e aumentare la produttività. Con MongoDB è sufficiente memorizzare i dati come vengono utilizzati all’interno dell’applicazione e interrogare i dati con un linguaggio di query moderno. Lo schema è flessibile, consentendo agli sviluppatori di integrare continuamente nuove funzionalità.

A differenza di Oracle e altri database relazionali, MongoDB è basato su un’architettura di sistemi distribuiti, che consente di scalare il database su più istanze, che può essere un’area o diffondersi a livello globale in più aree.

Dai un’occhiata alla pagina Oracle e MongoDB a confronto per approfondire le differenze.

Come posso ottenere maggiori informazioni su MongoDB?

Il modo più semplice per apprendere MongoDB è attraverso i nostri corsi di formazione online gratuiti per sviluppatori e DBA di MongoDB University. I corsi di formazione online della MongoDB University sono prodotti e tenuti da ingegneri MongoDB, Inc. MongoDB University ha avuto oltre 1 milioni di registrazioni da 196 paesi: questi studenti hanno imparato a sviluppare e distribuire applicazioni su MongoDB.I corsi gratuiti della MongoDB University coprono tutto quello che c’è da sapere per diventare un esperto di MongoDB. I corsi di formazione online sono sviluppati appositamente per aiutarti a sviluppare nuove competenze nelle aree più importanti per datori di lavoro. I corsi di formazione online si basano su applicazioni del mondo reale e sono tenuti dal nostro team dedicato di ingegneri interni che lavorano sul codice ogni giorno e che hanno visto casi di utilizzo in oltre 13.000 aziende.

I corsi di formazione della MongoDB University sono autogestiti, consentendoti di rivedere i video e i materiali didattici in un momento più conveniente per te. Allo stesso tempo, offriamo l’ossatura per il tuo apprendimento con compiti settimanali e scadenze per controllare i tuoi progressi e un esame finale per testare le tue conoscenze. La maggior parte dei corsi si svolgono per tre settimane e ogni settimana richiede in genere solo 90 minuti del tuo tempo. Trova un corso adatto a te. Visualizza il catalogo dei corsi.

Come posso diventare un professionista certificato MongoDB?

Segui l’esame di certificazione MongoDB per dimostrare le tue competenze e diventare uno sviluppatore professionale certificato MongoDB o un DBA. Le certificazioni MongoDB riconoscono sviluppatori e DBA con le conoscenze necessarie per creare e gestire applicazioni MongoDB.

Per prepararti all’esame di certificazione, sostieni il nostro Esame pratico per acquisire fiducia familiarizzando con le aree tematiche e il formato dell’esame di certificazione. Oltre all’esame di pratica, c’è la nostra Guida allo studio. La Guida allo studio riguarda tutti gli argomenti sia sugli esami per sviluppatori che sugli esami DBA. Ogni sezione della guida riporta alla documentazione pertinente e ad altre risorse online.

MongoDB Server è gratuito. Cosa vende MongoDB, Inc.?

Siamo l’azienda che crea ed esegue MongoDB. Oltre 14.200 organizzazioni si affidano ai nostri prodotti commerciali. Offriamo software e servizi per semplificarti la vita:

Il database MongoDB

  • MongoDB Atlas è il servizio globale di database cloud per applicazioni moderne. Distribuisci MongoDB completamente gestito in AWS, Azure o Google Cloud con automazione all’avanguardia e pratiche comprovate che garantiscono disponibilità, scalabilità e conformità agli standard di sicurezza. Usa il robusto ecosistema di driver, integrazioni e strumenti di MongoDB per costruire più velocemente e dedicare meno tempo alle operazioni e all’amministrazione del database.

  • MongoDB Enterprise Advanced è il modo migliore per eseguire MongoDB sulla propria infrastruttura. È un pacchetto accuratamente messo a punto di software, supporto, certificazioni e altri servizi avanzati progettati per le specifiche esigenze di ogni azienda.

  • [MongoDB Cloud Manager] (/cloud/cloud-manager) è uno strumento basato sul cloud che ti aiuta a gestire MongoDB sulla tua infrastruttura. Offre una suite di gestione completa con provisioning automatizzato, monitoraggio granulare e backup continui, che consente di ridurre il sovraccarico operativo e mantenere al tempo stesso un controllo completo sui database.MongoDB Analytics and Visualization

  • [MongoDB Atlas Data Lake] (/cloud/data-lake) consente di interrogare rapidamente e facilmente i dati in qualsiasi formato su Amazon S3 utilizzando il linguaggio e gli strumenti MongoDB Query Language. Non è necessario spostare i dati ovunque, è possibile lavorare con dati complessi immediatamente nella sua forma nativa e, grazie alla sua architettura completamente gestita e senza server, è possibile controllare i costi ed eliminare l’onere operativo.

  • [MongoDB Charts] (/products/charts) è il modo migliore per creare visualizzazioni di dati MongoDB ovunque. Crea visualizzazioni in modo rapido e semplice per analizzare dati complessi e nidificati. Incorpora grafici individuali in qualsiasi applicazione Web o assemblali in dashboard live per la condivisione.

  • Il connettore per BI MongoDB consente di utilizzare MongoDB come origine dati per le piattaforme di analisi e BI basate su SQL esistenti come Tableau, Microstrategy, Looker e altro ancora.

  • Il Connettore MongoDB per Apache Spark espone tutte le librerie di Spark, comprese Scala, Java, Python e R. I dati di MongoDB vengono materializzati come DataFrame e Dataset per l’analisi con API di apprendimento automatico, grafici, streaming e SQL.

Mobile Database and Serverless Application Platform

  • Il MongoDB Realm Database è stato installato oltre 2 miliardi di volte, offrendo un’alternativa rapida e facile da usare a SQLite e Core Data. Grazie al supporto per query complesse, threading sicuro, un’architettura reattiva per creare interruzioni interattive e fluide, crittografia e supporto multipiattaforma, gli sviluppatori possono semplificare il codice e creare esperienze potenti e coinvolgenti su più dispositivi.

  • MongoDB Realm e Stitch Platform

    ti aiuta a creare app fullstack migliori più velocemente. Offre regole facilmente configurabili per l’accesso a dati e servizi direttamente dal frontend dell’applicazione, insieme a funzioni serverless per l’esecuzione della logica dell’applicazione. È possibile sincronizzare automaticamente i dati tra il client e il layer back-end dei dati. Grazie alle integrazioni con i repository di codice, puoi sviluppare in locale e distribuire senza soluzione di continuità gli aggiornamenti delle applicazioni controllate dalle versioni per testare e produrre.

MongoDB Services

  • I pacchetti MongoDB Consulting ti consentono di produrre più rapidamente, di ottimizzare le prestazioni in produzione, di scalare e di concentrarti sulla prossima versione.

  • [Formazione MongoDB] (/products/training/private) ti aiuta a diventare un esperto MongoDB, dalla progettazione al funzionamento di sistemi mission-critical su larga scala. Sviluppatori, DBA o architetti: tutti possono beneficiare della nostra formazione su MongoDB.[Contattaci] (/contattare) per saperne di più

Posso ottenere una licenza commerciale per MongoDB?

Sì, è possibile ottenere una licenza commerciale per MongoDB con l’acquisto di MongoDB Enterprise Advanced.

Come vengono memorizzati i dati nel database MongoDB?

I dati in MongoDB sono memorizzati in documenti BSON – strutture dati in stile JSON. I documenti contengono uno o più campi e ogni campo contiene un valore di un tipo di dati specifico, inclusi array, dati binari e documenti secondari. I documenti che tendono a condividere una struttura simile sono organizzati come raccolte.

Potrebbe essere utile considerare i documenti come analoghi alle righe in un database relazionale, i campi come simili alle colonne e le raccolte come simili alle tabelle.

Scopri di più nella Guida all’architettura di MongoDB.

Come sviluppatore, come posso lavorare con i documenti di MongoDB?

Per accelerare la produttività degli sviluppatori, MongoDB fornisce driver nativi per tutti i linguaggi e framework di programmazione più diffusi. I driver supportati includono Java, Javascript, C#/.NET, Go, Python, Perl, PHP, Scala e altri. Tutti i driver MongoDB supportati sono progettati per essere idiomatici per il linguaggio di programmazione specificato. Ciò rende molto più naturale per gli sviluppatori lavorare con i dati rispetto ai linguaggi basati su stringhe come SQL ed elimina la necessità di strati di astrazione ORM ingombranti e fragili.

Puoi anche interagire con MongoDB in modo grafico utilizzando MongoDB Compass, la GUI per MongoDB. Tramite Compass puoi esplorare e manipolare i tuoi dati, creare visivamente query e aggregation pipeline dalla GUI e esportarli come codice nella tua app; esaminare l’esecuzione e le prestazioni delle query; visualizzare e creare indici; creare regole e schermate di convalida dello schema; e altro ancora.

MongoDB supporta le transazioni ACID?

Sì. Sono state disponibili transazioni ACID multi-documento dal rilascio di MongoDB 4.0 nel 2018.

Dove posso eseguire MongoDB?

MongoDB può essere eseguito ovunque, offrendoti la massima libertà dai vincoli della piattaforma.

[MongoDB Atlas] (/cloud/atlas) offre un servizio completo, con pagamento in base al consumo e completamente gestito per MongoDB su AWS, Azure e Google Cloud.

Puoi scaricare MongoDB e eseguirlo in autonomia ovunque. MongoDB Ops Manager è il modo migliore per eseguire MongoDB sulla tua infrastruttura, consentendo ai team operativi di distribuire, monitorare, eseguire backup e scalare MongoDB in modo semplice e veloce. Le funzionalità di Ops Manager sono disponibili anche nel servizio MongoDB Cloud Manager.

MongoDB è scalabile?

Decine di migliaia di organizzazioni utilizzano MongoDB per creare sistemi ad alte prestazioni su vasta scala. Le organizzazioni che vanno dalle aziende in Fortune 100 alle startup più agili si affidano a MongoDB. Sono passati da implementazioni di un singolo server a cluster con oltre 1.000 nodi, fornendo milioni di operazioni al secondo su oltre 100 miliardi di documenti e petabyte di dati. Scopri di più.

Grazie al partizionamento orizzontale, è possibile scalare automaticamente il database MongoDB su più nodi per gestire carichi di lavoro ad alta intensità di scrittura e dimensioni crescenti dei dati. Il partizionamento orizzontale con MongoDB consente di scalare senza soluzione di continuità il database man mano che le app crescono oltre i limiti dell’hardware di un singolo server, il tutto senza aggiungere complessità all’applicazione. Per rispondere alla modifica della domanda del carico di lavoro, i documenti possono essere spostati tra frammenti e i nodi possono essere aggiunti o rimossi dal cluster in tempo reale. MongoDB riequilibra automaticamente i dati in base alle necessità senza intervento manuale.

In che modo MongoDB garantisce l’alta disponibilità?

MongoDB gestisce automaticamente set di repliche, copie multiple di dati distribuiti tra server, rack e data center. I set di repliche consentono di prevenire i tempi di inattività del database utilizzando la replica nativa e il failover.

Un set di repliche è costituito da più membri del set di repliche. In qualsiasi momento, un membro funge da membro principale e gli altri membri agiscono come membri secondari. Se il membro primario non riesce per qualsiasi motivo (ad esempio, un errore hardware), uno dei membri secondari viene automaticamente eletto come primario e inizia a elaborare tutte le letture e le scritture.

Scopri di più nella Guida all’architettura MongoDB.

In che modo MongoDB garantisce la coerenza?

MongoDB è coerente per impostazione predefinita: letture e scritture vengono rilasciate al membro principale di un set di repliche. Le applicazioni possono, facoltativamente, leggere da repliche secondarie, dove i dati sono coerenti per impostazione predefinita. Le letture dei secondari possono essere utili in scenari in cui è accettabile che i dati siano leggermente obsoleti, come alcune applicazioni di creazione di report. Le applicazioni possono anche leggere dalla copia più vicina dei dati (misurata dalla distanza di ping) quando la latenza è più importante della coerenza.

Scopri di più nella Guida all’architettura di MongoDB.

MongoDB è privo di schemi?

No. In MongoDB la progettazione a schema è ancora importante. Tuttavia, il modello di documento di MongoDB utilizza un paradigma di schema diverso rispetto ai database relazionali tradizionali. In MongoDB, i documenti si autodescrivono; non esiste un catalogo centrale in cui gli schemi vengono dichiarati e mantenuti. Lo schema può variare tra i documenti e lo schema può evolversi rapidamente senza richiedere la modifica dei dati esistenti.

Lo schema dinamico di MongoDB rende anche più facile rappresentare dati semi-strutturati e polimorfici, poiché i documenti non hanno tutti bisogno di avere esattamente gli stessi campi. Ad esempio, una raccolta di posizioni di trading finanziario potrebbe avere posizioni che sono posizioni azionarie, alcune che sono obbligazioni e altre che sono contanti. Tutti possono avere alcuni campi in comune, ma alcuni campi (ad es. ’ticker’, “numberofshares“) non si applicano a tutti i tipi di posizione.“

Con Convalida schema, è possibile applicare uno schema ai dati, garantendo la presenza di campi obbligatori, valori consentiti e tipi di dati appropriati. Quando si progettano schemi in MongoDB, è necessario prendere in considerazione una serie di argomenti, tra cui i tipi di query che l’applicazione dovrà eseguire, il modo in cui gli oggetti vengono gestiti nel codice dell’applicazione e il modo in cui i documenti cambiano e potenzialmente crescono nel tempo.

Ulteriori informazioni sulla progettazione dello schema:

Dovrei normalizzare i miei dati prima di archiviarli in MongoDB?

No. La progettazione dello schema è molto importante quando si utilizza MongoDB, ma molto diversa dalla progettazione dello schema per i database relazionali.

Ulteriori informazioni sulla progettazione dello schema:

In che modo MongoDB protegge i miei dati?

MongoDB offre ampie funzionalità per difendere, rilevare e controllare l’accesso ai dati:

  • Autenticazione. Semplificando il controllo degli accessi al database, MongoDB offre un potente meccanismo Challenge-Response basato su SCRAM-256, insieme all’integrazione con l’infrastruttura di sicurezza aziendale, inclusi certificati LDAP, Windows Active Directory, Kerberos e x.509.
  • Autorizzazione. Il RBAC (Role-Based Access Control) consente di configurare autorizzazioni granulari per un utente o un’applicazione in base ai privilegi necessari per svolgere il proprio lavoro.
  • Revisione. Per la conformità normativa, gli amministratori della sicurezza possono utilizzare il registro di controllo nativo di MongoDB per registrare tutte le attività e le modifiche del database.
  • Crittografia ovunque. I dati MongoDB possono essere crittografati mentre sono in movimento attraverso la rete, mentre sono in uso nel database, e mentre sono in riposo, sia su disco che nei backup.
Rivedi la documentazione

per saperne di più sui controlli di sicurezza di MongoDB. Vai al Centro protezione MongoDB per saperne di più sulla sicurezza nel cloud.

Quali sono le novità della versione di MongoDB 4.4?

Rivedi la Guida alle novità per saperne di più.

Qual è la relazione tra MongoDB Realm e MongoDB Stitch?

MongoDB Realm combina Realm, la più diffusa tecnologia mobile di database e sincronizzazione dei dati, e MongoDB Stitch, la piattaforma serverless per MongoDB, in una soluzione unificata che semplifica la creazione di esperienze potenti e coinvolgenti su più dispositivi. Puoi saperne di più qui.

Da dove viene il nome MongoDB?

MongoDB deriva dalla parola gigantesco. I nostri fondatori hanno creato grandi aziende Internet come DoubleClick. Sono incorsi continuamente negli stessi problemi con i database, uno dei problemi più grandi è la scalabilità. Quando hanno deciso di creare MongoDB, volevano un database scalabile. Pertanto, “un database gigantesco” o MongoDB.

Cosa significa la foglia nel logo MongoDB?

I nostri fondatori ritengono che la codifica debba essere naturale, e ciò dovrebbe riflettersi anche nell’utilizzo di un database, vogliono che l’esperienza d’uso di MongoDB sia semplice e naturale. Ergo, la foglia.