MongoDB: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: accenti e modifiche minori
Popolarità: verificati dati a maggio 2025
 
(11 versioni intermedie di 10 utenti non mostrate)
Riga 10:
'''MongoDB''' (da "hu'''mongo'''us", enorme) è un [[DBMS]] non relazionale, [[Base di dati orientata al documento|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.<ref>[{{Cita web |url=https://gigaom.com/2013/08/27/10gen-embraces-what-it-created-becomes-mongodb-inc/ |titolo=10gen diventa MongoDB] |accesso=3 maggio 2019 |dataarchivio=16 novembre 2018 |urlarchivio=https://web.archive.org/web/20181116183237/https://gigaom.com/2013/08/27/10gen-embraces-what-it-created-becomes-mongodb-inc/ |urlmorto=sì }}</ref> 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.<ref name=":0">{{Cita web|url=https://db-engines.com/en/ranking|titolo=DB-Engines Ranking|sito=DB-Engines|lingua=en|accesso=2022-08-09}}</ref>
 
== Storia ==
Riga 20:
 
== Licenza e supporto ==
MongoDB è disponibile gratuitamente sotto la [[Server Side Public License]]. Le librerie per i vari linguaggi sono disponibili sotto la [[Licenza Apache|Apache License]]. In aggiunta, MongoDB Inc. offre licenze commerciali per MongoDB.<ref>{{Cita web|url=https://www.mongodb.com/atlas/database|titolo=MongoDB Atlas Database {{!}} Multi-Cloud Database Service|sito=MongoDB|lingua=en-us|accesso=2022-08-09}}</ref>
 
== Caratteristiche principali ==
Riga 39:
 
'''File Storage'''<ref>{{Cita web|url=https://www.mongodb.com/docs/manual/core/gridfs/|titolo=GridFS — MongoDB Manual|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
* MongoDB può essere usato anche come un [[file system]], traendo vantaggio dalla caratteristiche di replicazione e di bilanciamento su più server per memorizzare file, anche di grandi dimensioni.
* Questa funzione, chiamata GridFS, è inclusa nei driver di MongoDB e disponibile facilmente per tantissimi linguaggi di sviluppo. MongoDB espone delle funzioni per la manipolazione dei file. GridFS è usato, ad esempio, nei plugin di NGINX e lighttpd. Invece di memorizzare il file in un singolo documento, GridFS divide il file in tante parti più piccole, chiamate chunks, e memorizza ognuno di questi chunk in un documento separato.
* Ai file possono essere associati dei [[Metadato|metadati]], su cui è possibile anche creare degli indici full-text.
 
'''Aggregazione'''<ref>{{Cita web|url=https://www.mongodb.com/docs/manual/aggregation/|titolo=Aggregation Operations — MongoDB Manual|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
Riga 55:
== Gestione e amministrazione del database ==
 
MongoDB Inc. mette a disposizione il servizio di monitoraggio e di backup, chiamato MMS<ref>[http://mms.mongodb.com MMS]</ref>. 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'utlizzoutilizzo del servizio è ovviamente subordinato all'acquisto di una licenza commerciale.
 
Oltre a MMS ci sono alcuni tools già presenti nell'installazione di MongoDB:
Riga 66:
** eseguire del codice JavaScript;
** molto altro.
* È possibile accedere alle informazioni amministrative anche attraverso un{{'}}'''interfaccia web''' che fornisce informazioni sullo stato corrente del server. La porta predefinita per l'interfaccia web è di 1000 superiore a quella predefinita del database (quindi 28017).
'''mongostat'''<ref>{{Cita web|url=https://www.mongodb.com/docs/database-tools/mongostat/|titolo=mongostat — MongoDB Database Tools|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
* '''mongostat''' è uno strumento a riga di comando che visualizza una lista riassuntiva delle statistiche di un'istanza di MongoDB in esecuzione: quante e che tipo di query sono eseguite così come la percentuale di tempo in cui il database è rimasto {{Non chiaro|lockato}} e quanta memoria sta usando. Questo tool è simile al comando [[vmstat]] di UNIX/Linux.
'''mongotop'''<ref>[http://docs.mongodb.org/manual/reference/program/mongotop/ mongotop]'''</ref>
* [http://docs.mongodb.org/manual/reference/program/mongotop/ mongotop] è uno strumento a linea di comando che fornisce un metodo per tracciare la quantità di tempo usata da un'istanza di MongoDB a leggere e a scrivere dati. Fornisce statistiche a livello di collection. Di default, mongotop ritorna valori al secondo. Questo tool è simile al comando [[Top (Unix)|top]] di UNIX/Linux.
'''mongosniff'''<ref>[http://docs.mongodb.org/manual/reference/program/mongosniff/ mongosniff]'''</ref>
* [http://docs.mongodb.org/manual/reference/program/mongosniff/ mongosniff] è un tool command-line che fornisce uno sniffing a basso livello dell'attività del database monitorando il traffico di rete in entrata e in uscita. Richiede la libreria di rete [[Libpcap]] ed è disponibile solo per i sistemi UNIX-like. Un'alternativa cross-platform open source è [[Wireshark]], un analizzatore di pacchetti che ha il pieno supporto del protocollo di MongoDB.
'''mongoimport, mongoexport'''<ref>[http://docs.mongodb.org/manual/reference/program/mongoimport/ mongoimport], mongoexport'''</ref>
* [http://docs.mongodb.org/manual/reference/program/mongoimport/ mongoimport] è un'utility command-line per importare il contenuto da un file JSON, CSV o TSV creato da mongoexport o da qualunque export di terze parti che ne rispettano il formato.
'''mongodump, mongorestore'''
* mongodump è un'utility command-line per creare un export binario del contenuto di un database MongoDB. Mongorestore può essere usato per ricaricare un dump fatto con mongodump.
Riga 80:
== Popolarità ==
 
Secondo db-engines.com, a giugnomaggio 20182025 MongoDB è al 5º posto della classifica dei database più popolaridiffuso delal mondo e al 1º posto dei database NoSQL.<ref name=":0" />
 
Al 9 agosto 2022, MongoDB Inc. conta circa 31.000 clienti attivi che utilizzano il loro database per salvare i propri dati.<ref>{{Cita web|url=https://www.mongodb.com/who-uses-mongodb|titolo=Our Customers|sito=MongoDB|lingua=en|accesso=2021-06-14}}</ref>
Riga 86:
== Implementazioni popolari ==
Alcuni degli utilizzatori più significativi di MongoDB sono:
* [[MetLife]] usa MongoDB per "The Wall", un'applicazione di servizio al cliente che fornisce una vista a 360 gradi dei clienti di MetLife.<ref>{{Cita web|url=https://www.dataversity.net/metlifes-wall-powered-by-mongodb/|titolo=MetLife's "Wall" Powered by MongoDB|sito=DATAVERSITY|data=2013-11-22|lingua=en-US|accesso=2021-06-14}}</ref>
* [[Craigslist]] memorizza oltre 2 miliardi di documenti in MongoDB.{{Senza fonte}}
* [[SAP (azienda)|SAP]] usa MongoDB in SAP platform-as-a-service.{{Senza fonte}}
* [[Forbes]] memorizza articoli e dati societari in MongoDB.<ref>{{Cita web|url=https://aster.cloud/2020/11/14/forbes-embraces-mongodb-on-google-cloud-as-part-of-digital-first-strategy/|titolo=Forbes Embraces MongoDB On Google Cloud As Part Of Digital-first Strategy|sito=aster.cloud|data=2020-11-14|lingua=en-US|accesso=2021-06-14}}</ref>
* [[The New York Times]] usa MongoDB nella sua applicazione di caricamento di fotografie.<ref>{{Cita web|url=https://www.mongodb.com/post/38162455327/new-york-times-runs-mongodb|titolo=Case Study: The New York Times Runs MongoDB|sito=MongoDB|lingua=en-us|accesso=2021-06-14|dataarchivio=14 giugno 2021|urlarchivio=https://web.archive.org/web/20210614120334/https://www.mongodb.com/post/38162455327/new-york-times-runs-mongodb|urlmorto=sì}}</ref>
* [[SourceForge|Sourceforge]] usa MongoDB come storage delle pagine.{{Senza fonte}}
* [[Codecademy]] usa MongoDB come datastore per il suo sistema di learning online.{{Senza fonte}}
* [[Shuttefly]] usa MongoDB per la sua piattaforma di fotografie. Nel 2013 la piattaforma aveva oltre 18 miliardi di foto caricate da oltre 7 milioni di utenti.{{Senza fonte}}
* [[CERN]] usa MongoDB come back-end del Data Aggregation System nel [[Large Hadron Collider]].{{Senza fonte}}
* [[Foursquare]] implementa MongoDB su [[Amazon Web Services|Amazon AWS]] per memorizzare località e le registrazioni degli utenti nelle località.<ref>{{Cita web|url=https://www.delltechnologies.com/en-us/blog/oscon-how-foursquare-uses-mongodb-to-manage-its-data/|titolo=OSCON: How foursquare uses MongoDB to manage its data|sito=Dell Technologies|lingua=en-US|accesso=2021-06-17}}</ref>
* [[eBay]] usa MongoDB per i suggerimenti della ricerca e per State Hub, il Cloud Manager interno.<ref>{{Cita web|url=https://morpheusdata.com/cloud-blog/how-ebay-solves-the-database-scaling-problem-with-mongodb/|titolo=How eBay Solves the Database Scaling Problem with MongoDB - Hybrid Cloud Management and Automation {{!}} Morpheus|sito=morpheusdata.com|accesso=2021-06-17}}</ref>
*[[OwlStat]] utilizza MongoDB per il salvataggio delle statistiche.{{Senza fonte}}
 
== Alternative FOSS ==
 
* '''MangoDB''' agisce come un proxy open-source, che converte le query del protocollo wire di MongoDB in SQL ed usa PostgreSQL come motore di database.
 
== Note ==
Riga 117 ⟶ 113:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{cita web|https://www.10gen.com/|Sito della 10gen}}
* {{cita web|https://www.linkedin.com/groups/MongoDB-Italia-4677371|MongoDB Italian linkedIn group}}
Riga 127 ⟶ 123:
{{Portale|software libero}}
 
[[Categoria:BaseDBMS di dati orientataorientati al documento]]