MongoDB: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Dati sull'ultima versione prelevati automaticamente da Wikidata |
→Popolarità: verificati dati a maggio 2025 |
||
(47 versioni intermedie di 37 utenti non mostrate) | |||
Riga 1:
{{W|informatica|agosto 2022|commento=uso eccessivo di [[WP:Grassetto|grassetti]] e [[WP:CE|link esterni]] nel corpo del testo}}
{{Software
|Nome = MongoDB
|Sviluppatore = MongoDB Inc.
|SistemaOperativo = Multipiattaforma
|Genere = DBMS
|Licenza =
|SoftwareLibero =
}}
'''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>[http://gigaom.com/2013/08/27/10gen-embraces-what-it-created-becomes-mongodb-inc/ 10gen diventa MongoDB]</ref> Da allora, MongoDB è stato adottato come backend da un alto numero di grandi siti web e societa di servizi come [[Craigslist]], [[eBay]], [[Foursquare]], [[SourceForge]] e il [[New York Times]], tra gli altri. MongoDB è il più popolare database NoSQL.<ref>Database [http://db-engines.com/en/ranking Ranking]</ref>▼
▲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>
== Storia ==▼
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]].<ref>[http://www.theregister.co.uk/2011/05/25/the_once_and_future_mongodb/ Il papà di MongoDB: la mia creatura è meglio di Google Big Tables]</ref> Nel 2009, MongoDB è stato reso open source come prodotto indipendente con una licenza AGPL.▼
▲== Storia ==
▲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]].<ref>[
Dalla versione 1.4 (marzo 2010), MongoDB è stato considerato production ready.<ref>[http://blog.mongodb.org/post/472835820/mongodb-1-4-ready-for-production MongoDB 1.4 è pronto per la produzione] {{webarchive|url=https://web.archive.org/web/20140708154101/http://blog.mongodb.org/post/472835820/mongodb-1-4-ready-for-production |data=8 luglio 2014 }}</ref> La versione stabile 3.0 è stata
== Licenza e supporto ==
MongoDB è disponibile gratuitamente sotto la [[
== Caratteristiche principali ==
Alcune delle caratteristiche principali sono:
'''Query ad hoc'''<ref>{{Cita web|url=https://www.mongodb.com/docs/manual/crud/|titolo=MongoDB CRUD Operations — MongoDB Manual|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
* MongoDB supporta ricerche per campi, intervalli e [[Espressione regolare|regular expression]]. Le query possono restituire campi specifici del documento e anche includere funzioni definite dall'utente in JavaScript.
'''Indicizzazione'''<ref>{{Cita web|url=https://www.mongodb.com/docs/manual/indexes/|titolo=Indexes — MongoDB Manual|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
* Qualunque campo in MongoDB può essere indicizzato (gli indici in MongoDB sono concettualmente similari a quelli dei tradizionali
'''Alta Disponibilità'''<ref>{{Cita web|url=https://www.mongodb.com/docs/manual/replication/|titolo=Replication — MongoDB Manual|sito=www.mongodb.com|lingua=en|accesso=2022-08-09}}</ref>
* MongoDB fornisce alta disponibilità e aumento del carico gestito attraverso i replica set. Un replica set consiste in due o più copie dei dati. Ogni replica può avere il ruolo di copia primaria o secondaria in qualunque momento. La replica primaria effettua tutte le scritture e le letture. Le repliche secondarie mantengono una copia dei dati della replica primaria attraverso un meccanismo di replicazione incluso nel prodotto. Quando una replica primaria fallisce, il replica set inizia automaticamente un processo di elezione per determinare quale replica secondaria deve diventare primaria. Le copie secondarie possono anche effettuare letture, con dati eventualmente consistenti di default.
'''
* MongoDB scala orizzontalmente usando lo sharding. L'utente deve scegliere una chiave di sharding, che determina come i dati di una collection saranno distribuiti tra i vari nodi. I dati sono divisi in intervalli (basati sulla chiave di shard) e distribuiti su molteplici shard (uno shard è un replica set, quindi con una replica primaria e due o più repliche secondarie).
* MongoDB include un meccanismo di bilanciamento dei dati, spostando gli intervalli di dati da uno shard troppo carico
'''
* 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
* 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>
* MongoDB supporta due modalità di aggregazione dei dati: il MapReduce e l'Aggregration Framework. Quest'ultimo lavora come una [[Pipeline software|pipeline]] e permette di ottenere risultati molto più rapidamente del MapReduce grazie all'implementazione in C++.
'''
* MongoDB supporta collection a dimensioni fisse chiamate capped collection. Questo tipo di collection
== Supporto ai linguaggi di programmazione ==
MongoDB ha
==
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.
Oltre a MMS ci sono alcuni tools già presenti nell'installazione di MongoDB:
'''
* MongoDB offre una shell interattiva chiamata '''
** vedere, inserire, rimuovere e aggiornare i dati nei loro database ** ottenere informazioni sulla replicazione, sulla configurazione dello sharding ** spegnere i server ** eseguire del codice JavaScript ** molto altro. *
'''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>
*
'''mongotop'''<ref>[http://docs.mongodb.org/manual/reference/program/mongotop/ mongotop]
*
'''mongosniff'''<ref>[http://docs.mongodb.org/manual/reference/program/mongosniff/ mongosniff]
*
'''mongoimport, mongoexport'''<ref>[http://docs.mongodb.org/manual/reference/program/mongoimport/ mongoimport]
*
'''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 75 ⟶ 80:
== Popolarità ==
Secondo db-engines.com,
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>
== 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|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|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|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
* [[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|accesso=2021-06-17}}</ref>
▲* CERN usa MongoDB come back-end del Data Aggregation System nel Large Hadron Collider.
* [[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}}
== Note ==
Riga 106 ⟶ 113:
== Collegamenti esterni ==
* {{
* {{cita web|
* {{cita web|
* {{cita web|url=https://docs.mongodb.com/ecosystem/tools/administration-interfaces/|titolo=Admin UIs|sito=mongodb.com|lingua=en|urlmorto=sì}} Elenco delle principali interfacce di amministrazione sul sito di MongoDB.
{{Database management system}}
Riga 116 ⟶ 123:
{{Portale|software libero}}
[[Categoria:
|