Nelle scorse settimane, presso la cornice del Talent Garden Calabiana a Milano è andato mi scena un evento record per numero di partecipanti e contenuti: l’edizione 2023 di MongoDB.local, l’evento interamente dedicato alla popolare piattaforma open source per la gestione di database.
MongoDB.local Milano è stata un’occasione per apprendere e aggiornarsi sulle tecnologie, i tool e le best practice che facilitano lo sviluppo di applicazioni data-driven. Una serie di esperti si è messa disposizione dei partecipanti per conoscere nuovi modi di sviluppare con MongoDB, avere informazioni sulle nuove release e vedere concretamente come gli sviluppatori rivoluzionano le proprie aziende, grazie alle testimonianze in prima persona di chi lo ha già fatto con successo.
A Milano un evento dedicato a sviluppatori e professionisti
MongoDB.local Milano è stato un evento pensato in primo luogo per sviluppatori (qui la classifica dei linguaggi di programmazione più usati nel 2023), architetti e professionisti in ambito IT, oltre ai DevOps engineers e a tutti coloro che utilizzano o sarebbero interessati ad implementare MongoDB nella propria pipeline di gestione dei dati.
Il racconto esclusivo di questo evento lo abbiamo raccolto dalla viva voce di due manager protagonisti del successo di MondoDB in Italia come Salvatore D’Auria, Regional Vice President – Italy, Middle East, Turkey & Africa – MongoDB e Stefano Sardella Director, System Integrator Partners at MongoDB Italy, France & Middle East.
I due manager raccontano, in queste due video interviste, come è nato il progetto di questo evento e soprattutto0 la straordinaria traiettoria di crescita questa multinazionale. Una traiettoria che, ancora una volta, basa buona parte delle sue fortuna su un motore fatto di partner di eccellenza sul territorio
La piattaforma open source per la gestione dei database non relazionali
MongoDB è un NoSQL database management system open source. I database NoSQL (Not only SQL) hanno segnato un punto di rottura rispetto ai tradizionali database relazionali (SQL) in quanto si prestano nativamente alla gestione di set di dati distribuiti anche molto estesi.
MongoDB viene infatti utilizzato di frequente per la gestione di storage di grandi numeriche di dati, aiutando le organizzazioni ad archiviarli e utilizzarli senza compromessi a livello di performance. MongoDB viene spesso utilizzato anche per l’esecuzione di query ad-hoc, indicizzazione, load balancing, aggregazine, esecuzione e di JavaScript lato server e molte altre funzioni.
Le differenze tra MongoDB e un RDBMS (Relational Database Management System)
Un relational database management system (RDBMS) è generalmente costituito da una suite di strumenti che consente ai professionisti di creare, aggiornare, amministrare e mantenere un database relazionale, vale a dire la forma più tradizionale di sistema di gestione dei dati.
Gli RDBMS archiviano dati strutturati in forma tabellare, costituiti ossia da tabelle e righe, utilizzando un linguaggio di programmazione definito SQL (Structured Query Language).
La differenza sostanziale con gli RDBMS è costituita dal fatto che MongoDB è un sistema di gestione per database non relazionali e anziché il linguaggio SQL utilizza BSON (Binary JSON). Mentre i sistemi di gestione dei database relazionali utilizzano tabelle e righe, MongoDB utilizza sostanzialmente un corrispettivo basato su documenti e collezioni. I valori che i database relazionali indicano nelle colonne equivalgono invece ai campi in MongoDB.
Anzichè utilizzare dunque tabelle e righe, come i database relazionali, un database NoSQL come MongoDB ha un’architettura costituita da collezione e documenti, con il supporto aperto a molti linguaggi di programmazione, tra cui C, C++, C#, Go, Java, Python, Ruby e Swift.
La storia e i casi d’uso
MongoDB è stato creato da Dwight Merriman e Eliot Horowitz, due sviluppatori di Doubleclick, agenzia di adv in capo a Google, in primo luogo per cercare un’alternativa ai problemi di sviluppo e scalabilità da loro incontrati nell’impiego dei database relazionali nel contesto delle applicazioni web.
La piattaforma è stata commercializzato nel 2007 dalla company 10Gen, prima di essere rinominata come il suo principale prodotto nel 2013 e diventare pubblica con il logo MDB nel corso del 2017. A livello di distribuzione, la grande fortuna di MongoDB è dovuta al fatto che la piattaforma software è stata resa open source nel corso del 2009.
MongoDB viene oggi utilizzato in moltissimi ambiti di business in applicazioni che spaziano dal l’archiviazione di grandi quantità di dati al customer service. MongoDB è piuttosto diffuso anche nel contesto della ricerca tecnico-scientifica. Il laboratorio di fisica del CERN utilizza infatti con profitto MongoDB per l’aggregazione il discovery dei dati.
Tra i principali casi d’uso di MongoDB ritroviamo:
Applicazioni per i dispositivi mobile
Il modello di documento JSON MongoDB consente di archiviare i dati delle applicazioni di back-end on-prem e in cloud sia per device iOS che Android. Si tratta di una soluzione flessibile che consente di aggregare dati in più ambienti per offrire ai developer la possibilità di scalare le app mobile contando su funzioni di indicizzazione concepite per tale scopo.
Sistemi di gestione dei contenuti (CMS)
MongoDB consente di aggiungere funzioni e attributi alle applicazioni e ai siti web basati sui CMS (content management system), utilizzando un’unica base di dati con un modello ad elevata disponiblità. I CMS sono sistemi di gestione dei contenuti essenziali nell’ambito delle pubblicazioni online, anche per quanto riguarda siti e-commerce, piattaforme di gestione documentali e una gamma davvero molto ampia di servizi.
Real time analytics
Rendere disponibili i dati per i processi analitici è ormai un’attività fondamentale nell’ambito dell’operatività aziendale, soprattutto per garantire l’accesso alle metriche chiave e agli insight ottenibili mediante l’analisi di grandi numeriche di dati. MongoDB gestisce la conversione in oggetti Java di documenti JSON e simili a JSON, come BSON, a tutto vantaggio della rapidità di lettura e scrittura dei dati durante l’analisi delle informazioni in tempo reale, con la possibilità di eseguire le analisi stesse su più ambienti di sviluppo.
I vantaggi di MongoDB
Tra i principali benefici offerti da una consapevole implementazione di MongoDB ritroviamo:
Scalabilità
MongoDB è caratterizzato da una scalabilità orizzontale, una funzione core che lo rende molto flessibile per chi opera nell’ambito dei big data analytics. Questa soluzione supporta la creazione di zone di dati basate su una chiave di partizione il suo partizionamento consente al database di distribuire i dati in un cluster.
Orientato ai documenti
L’utilizzo dei documenti, tipico dei database non relazionali, comporta la possibilità di utilizzare diversi linguaggi di programmazione e allo stesso tempo offre varie funzionalità che consentono di ridurre complessivamente i costi.
Approccio schema-less
Come altri database NoSQL, questa piattaforma non richiede schemi predefiniti ma è in grado di archiviare qualsiasi tipo di dato strutturato e non strutturato. Un aspetto che conferma la scalabilità di MongoDB è dato dal fatto che gli utenti possono creare qualsiasi numero di campi in un documento, a differenza di quanto avviene nei database relazionali.