MongoDB
software
Logo
Logo
Schermata di esempio
Schermata di esempio
GenereDatabase management system
SviluppatoreMongoDB Inc.
Data prima versione2009
Ultima versione6.0.7 (28 giugno 2023)
Sistema operativoMultipiattaforma
LinguaggioPython
C
JavaScript
C++
Go
LicenzaSSPL (Server Side Public License)
(licenza non libera)
Sito webwww.mongodb.com/

MongoDB (da "humongous", enorme) è un DBMS non relazionale, orientato ai documenti.

Classificato come un database di tipo NoSQL, MongoDB si allontana dalla struttura tradizionale basata su tabelle dei database relazionali in favore di documenti in stile JSON con schema dinamico (MongoDB chiama il formato BSON), rendendo l'integrazione di dati di alcuni tipi di applicazioni più facile e veloce.

Sviluppato inizialmente dalla società di software 10gen (ora diventata MongoDB Inc.) nell'ottobre 2007 come un componente di un prodotto di platform as a service, l'azienda si è spostata verso un modello di sviluppo open source nel 2009, con 10gen in grado di offrire un supporto commerciale e altri servizi.[1] Da allora, MongoDB è stato adottato come backend da un alto numero di grandi siti web e società di servizi come Craigslist, eBay, Foursquare, SourceForge e il The New York Times, tra gli altri. MongoDB è il più popolare database NoSQL.[2]

Storia

[modifica | modifica wikitesto]

Lo sviluppo di MongoDB è iniziato nel 2007, quando l'azienda (allora chiamata 10gen) stava sviluppando un platform as a service simile a Windows Azure o Google App Engine.[3] Nel 2009, MongoDB è stato reso open source come prodotto indipendente con una licenza GNU AGPL.

Dalla versione 1.4 (marzo 2010), MongoDB è stato considerato production ready.[4] La versione stabile 3.0 è stata pubblicata il 3 febbraio 2015[5].

Licenza e supporto

[modifica | modifica wikitesto]

MongoDB è disponibile gratuitamente sotto la Server Side Public License. Le librerie per i vari linguaggi sono disponibili sotto la Apache License. In aggiunta, MongoDB Inc. offre licenze commerciali per MongoDB.[6]

Caratteristiche principali

[modifica | modifica wikitesto]

Alcune delle caratteristiche principali sono:

Query ad hoc[7]

Indicizzazione[8]

Alta Disponibilità[9]

Sharding e bilanciamento dei dati[10]

File Storage[11]

Aggregazione[12]

Capped Collection[13]

Supporto ai linguaggi di programmazione

[modifica | modifica wikitesto]

MongoDB ha reso disponibili SDK ufficiali per i più popolari linguaggi di programmazione e ambienti di sviluppo. Esistono anche moltissimi progetti non ufficiali, sviluppati e supportati dalla comunità, per fornire supporto ad alcuni linguaggi meno diffusi.

Gestione e amministrazione del database

[modifica | modifica wikitesto]

MongoDB Inc. mette a disposizione il servizio di monitoraggio e di backup, chiamato MMS. Tramite l'installazione di un agent locale che invia dati al server MMS nel cloud, questo permette di monitorare le istanze di MongoDB senza dover installare software. L'utilizzo del servizio è ovviamente subordinato all'acquisto di una licenza commerciale.

Oltre a MMS ci sono alcuni tools già presenti nell'installazione di MongoDB:

mongo[14]

mongostat[15]

mongotop

mongosniff

mongoimport, mongoexport

mongodump, mongorestore

Popolarità

[modifica | modifica wikitesto]

Secondo db-engines.com, a giugno 2018 MongoDB è al 5º posto della classifica dei database più diffuso al mondo e al 1º posto dei database NoSQL.[2]

Al 9 agosto 2022, MongoDB Inc. conta circa 31.000 clienti attivi che utilizzano il loro database per salvare i propri dati.[16]

Implementazioni popolari

[modifica | modifica wikitesto]

Alcuni degli utilizzatori più significativi di MongoDB sono:

Alternative FOSS

[modifica | modifica wikitesto]

Note

[modifica | modifica wikitesto]
  1. ^ 10gen diventa MongoDB, su gigaom.com. URL consultato il 3 maggio 2019 (archiviato dall'url originale il 16 novembre 2018).
  2. ^ a b (EN) DB-Engines Ranking, su DB-Engines. URL consultato il 9 agosto 2022.
  3. ^ Il papà di MongoDB: la mia creatura è meglio di Google Big Tables
  4. ^ MongoDB 1.4 è pronto per la produzione Archiviato l'8 luglio 2014 in Internet Archive.
  5. ^ Announcing MongoDB 3.0 | MongoDB
  6. ^ (EN) MongoDB Atlas Database | Multi-Cloud Database Service, su MongoDB. URL consultato il 9 agosto 2022.
  7. ^ (EN) MongoDB CRUD Operations — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  8. ^ (EN) Indexes — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  9. ^ (EN) Replication — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  10. ^ (EN) Sharding — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  11. ^ (EN) GridFS — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  12. ^ (EN) Aggregation Operations — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  13. ^ (EN) Capped Collections — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  14. ^ (EN) mongo Shell Quick Reference — MongoDB Manual, su www.mongodb.com. URL consultato il 9 agosto 2022.
  15. ^ (EN) mongostat — MongoDB Database Tools, su www.mongodb.com. URL consultato il 9 agosto 2022.
  16. ^ (EN) Our Customers, su MongoDB. URL consultato il 14 giugno 2021.
  17. ^ (EN) MetLife's "Wall" Powered by MongoDB, su DATAVERSITY, 22 novembre 2013. URL consultato il 14 giugno 2021.
  18. ^ (EN) Forbes Embraces MongoDB On Google Cloud As Part Of Digital-first Strategy, su aster.cloud, 14 novembre 2020. URL consultato il 14 giugno 2021.
  19. ^ (EN) Case Study: The New York Times Runs MongoDB, su MongoDB. URL consultato il 14 giugno 2021 (archiviato dall'url originale il 14 giugno 2021).
  20. ^ (EN) OSCON: How foursquare uses MongoDB to manage its data, su Dell Technologies. URL consultato il 17 giugno 2021.
  21. ^ How eBay Solves the Database Scaling Problem with MongoDB - Hybrid Cloud Management and Automation | Morpheus, su morpheusdata.com. URL consultato il 17 giugno 2021.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàVIAF (EN174499323 · LCCN (ENno2011130709 · GND (DE7724020-0 · BNF (FRcb16963009m (data) · J9U (ENHE987007384178205171
  Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero