Ricerca nel sito web

Cos'è MongoDB? Come funziona MongoDB?


MongoDB è un sistema di gestione di database distribuiti open source, moderno, generico e basato su documenti sviluppato, distribuito e supportato da MongoDB Inc. È un database di documenti NoSQL (non relazionale) potente, flessibile e agile che memorizza i dati in documenti simili a JSON (JavaScript Object Notation) oggetti. MongoDB funziona sui sistemi operativi Linux, Windows e macOS.

Viene fornito con una suite completa di strumenti per una facile gestione dei dati ed è progettato per lo sviluppo di applicazioni moderne e per il cloud e destinato all'uso da parte di sviluppatori, analisti di dati e data scientist.

MongoDB è offerto in due diverse edizioni: MongoDB Community Server che è l'edizione disponibile come sorgente e gratuita di MongoDB e MongoDB Enterprise Server che fa parte dell'abbonamento MongoDB Enterprise Advanced.

Scarica MongoDB

  • Server della comunità MongoDB
  • Server aziendale MongoDB

Come funziona MongoDB?

MongoDB è strutturato su un modello client-server in cui un demone del server accetta connessioni dai client ed elabora da essi le azioni del database. Il server deve essere in esecuzione affinché i client possano connettersi e interagire con i database.

L'archiviazione dei dati in MongoDB è diversa dai database tradizionali. Un record in MongoDB è un documento (una struttura dati composta da coppie di campi e valori, simili agli oggetti JSON) e i documenti sono archiviati in raccolte (analoghe alle tabelle in RDBMS).

Caratteristiche principali di MongoDB

Di seguito sono riportate le caratteristiche principali di MongoDB.

  • MongoDB supporta visualizzazioni di sola lettura e visualizzazioni materializzate su richiesta. Supporta anche array e oggetti nidificati poiché i valori consentono schemi flessibili e dinamici. Inoltre, supporta più motori di archiviazione e fornisce un'API del motore di archiviazione collegabile che puoi utilizzare per sviluppare i tuoi motori di archiviazione.
  • MongoDB è progettato per prestazioni elevate e persistenza dei dati. Supporta modelli di dati incorporati che alleviano l'attività di I/O sul sistema di database. Inoltre, i suoi indici consentono query più veloci e, cosa importante, possono includere chiavi da documenti e array incorporati.
  • Viene fornito con un linguaggio di query ricco e potente (per supportare operazioni di lettura e scrittura), supporta l'aggregazione dei dati e altri casi d'uso moderni come ricerca di testo, ricerca su grafico e query geospaziali.
  • Offre la potenza dei database relazionali supportando transazioni ACID complete, join nelle query e due tipi di relazioni invece di uno: di riferimento e incorporato.
  • MongoDB supporta anche l'alta disponibilità, utilizzando una struttura di replica chiamata set di repliche (un gruppo di server MongoDB che mantengono il set di dati fornendo così failover automatico, ridondanza dei dati e disponibilità). È inoltre disponibile il supporto per la scalabilità orizzontale in cui lo sharding distribuisce i dati su un cluster di server MongoDB.
  • Per proteggere l'implementazione di un database, MongoDB fornisce varie funzionalità di sicurezza, come autenticazione e autorizzazione, controllo degli accessi, crittografia TLS/SSL, controllo e altro ancora.
  • Inoltre, fornisce una checklist di sicurezza che è un elenco di misure di sicurezza consigliate che è necessario implementare per proteggere una distribuzione MongoDB. Inoltre, assicurati di aver rafforzato la sicurezza a livello di rete e server.

Client e strumenti MongoDB

Inoltre, MongoDB viene fornito con alcuni comandi e strumenti di database utili per monitorare le sue prestazioni come mongostat, mongotop e altri, che ti aiutano a visualizzare statistiche in tempo reale sullo stato di un'istanza MongoDB in esecuzione sull'host locale.

Per integrare le tue applicazioni o sistemi esterni con un database MongoDB puoi utilizzare uno dei tanti connettori e librerie ufficiali. Esistono anche librerie supportate dalla comunità, come libmongo-client per C, Djongo per Django, mgo per Go, Mango per Perl, e MongoEngine, MongoKit e altri per Python e molto altro.

Chi utilizza MongoDB?

Secondo quanto riferito, le aziende utilizzano MongoDB nei loro stack tecnologici, tra cui Google, Facebook, EA Sports, Adobe, Uber, Cisco, Verizon e molti altri.

Ecco alcuni articoli utili su MariaDB:

  • Come installare MongoDB su Ubuntu 18.04
  • Installa MongoDB Community Edition 4.0 su Linux
  • Come installare MongoDB 4 su CentOS 8
  • Come installare MongoDB 4 su Debian 10