Mongo DB

Mongo DB

Mongo DB

Mongo DB, lo dice il suffisso, è un database del tipo DBMS non relazionale orientato ai documenti. Il suo nome curioso proviene da “humongous” che sta per “enorme”. Si tratta di un db definito NoSQL che utilizza documenti in stile JSON con schema dinamico (BSON), schema che consente di integrare i dati in modo più rapido e semplice. E’ un software libero ed open source sviluppato nel 2007 dall’azienda 10gen oggi diventata Mongo DB Inc. Inizialmente Mongo DB veniva trattato come semplice componente di un prodotto quando nel 2009 divenne un vero e proprio modello autonomo di sviluppo open source. Da quell’anno il software venne utilizzato come backend da moltissime aziende e siti web, basti pensare alle piattaforme Craiglist, Foursquare e lo stesso eBay che hanno trasformato Mongo DB nel più popolare dei database NoSQL. Il software è disponibile gratuitamente sotto la GNU Affero General Public License mentre le librerie è possibile trovarle sotto Apache License. 

Vediamo quali sono le caratteristiche più interessanti di Mongo DB: 

  • Query ad hoc: il sistema supporta metodologie di ricerche diverse, per campi, per intervalli e per espressioni regolari. Le ricerche (query) restituiscono campo specifici di un documento con l’inclusione di eventuali funzioni definite in JavaScript
  • Affidabilità: Mongo DB gestisce i dati attraverso i replica set, ciò significa che copia i dati più volte rendendoli disponibili. La replica primaria effettua scritture e letture, quella secondaria mantiene copia dei dati della prima. Se la replica primaria fallisce, il replica set analizza quelle secondarie cercando di capire quale di esse eleggere a primaria
  • Indicizzazione: tutti i campi del database possono essere indicizzati
  • Sharding e bilanciamento dei dati: Mongo DB utilizza la scalabilità dei dati orizzontale, quella cioè che determina l’incremento delle prestazioni e delle capacità attraverso l’aumento del numero dei nodi presenti (sharding). L’utente in Mongo DB è chiamato a scegliere una chiave di sharding per determinare come distribuire i dati tra i vari nodi. La funzione del bilanciamento serve infine a spostare dati da un nodo troppo carico ad uno più scarico. 
  • File Storage: è possibile usare questo DB anche come file system
  • Aggregazione: Mongo DB per aggregare dati utilizza due diverse modalità, il MapReduce e l’Aggregation Framework
  • Collezioni a dimensioni fisse: Mongo DB utilizza e supporta le cosiddette Capped Collection, collezioni a dimensioni fisse in grado di mantenere l’ordine di inserimento e di comporre delle vere e proprie code circolari una volta che viene raggiunta la dimensione definita.

Il Database Mongo DB

Contatti
Syrus Industry

Via del Fontanile Anagnino 173
00118, Roma (RM)

info@syrusindustry.com

www.syrusindustry.com

vai a contatti