Ha compiuto già più di dieci anni MongoDB, oggi arrivato alla versione 4.2 in Release Candidate e da pochi giorni si è chiusa la developer conference MongoDB World. E’ tempo di bilanci e proviamo a fare il punto con Dominic Wellington, director field initiatives & readiness per l’area Emea di MongoDB.

Il nome del DB deriva da Humongous (gigantesco). Parliamo del database non relazionale (NoSql), e orientato agli oggetti “al momento più utilizzato” (secondo gli analisti Forrester) e secondo StackOverflow di quello “più desiderato negli ultimi tre anni di fila tanto più da chi intravvede i benefici di un approccio NoSql”. Oggi la proposta conta circa 14mila clienti a livello globale.
Si tratta di software libero e opensource (con licenza interpolata Gnu/Apache, per le librerie dei linguaggi) come proposta per la comunità, che ovviamente prevede i relativi sviluppi come proposta commerciale.

Come database NoSql, MongoDB non è strutturato in tabelle e relazioni – tra gli esempi più noti di database relazionali sono invece Microsoft Access o Oracle, per capirsi – MongoDB sfrutta invece veri e propri documenti, JavaScript Object Notation (Json), adatti all’interscambio di informazioni tra applicazioni client/server.

Pur basandosi su JavaScript, MongoDB ne resta indipendente; sfrutta i documenti in stile Json ma con uno schema dinamico proprio rinominato Bson. MongoDB nasce come proposta Paas, ed oggi è tra i sistemi di backend più apprezzati, questo anche perché qualunque campo di MongoDB può essere indicizzato (tramite indici primari, secondari, sparsi geospaziali e fulltext), ma anche per l’ampio supporto alle ricerche per campi con le query (anch’esse Json) ben definibili grazie a JavaScript.

Il nome del database non è casuale, MongoDB fornisce alta disponibilità di carichi e di repliche, con una scalabilità anche orizzontale non indifferente (sfruttando le chiavi di shardind) e può essere persino utilizzato come file system. Soprattutto tra i maggiori benefici offerti MongoDB libera le potenzialità di analisi sui data lake, anche quando si tratta di dati multi-strutturati (per esempio su Amazon S3).

Dominic Wellington, director, field initiatives & readiness, Emea di MongoDB
Dominic Wellington, director, field initiatives & readiness, Emea di MongoDB

Con Dominic Wellington, director field initiatives & readiness per l’area Emea di MongoDB approfondiamo questi temi e andiamo oltre: “Nell’ambito della proposta NoSql, orientata agli oggetti, siamo stati pionieri. Agilità e facilità d’uso per gli sviluppatori ne hanno determinato la veloce adozione, in contrapposizione ai DB Sql, proprio per la rappresentazione interna del dato che è molto più simile a quella delle applicazioni moderne, senza doversi preoccupare della gestione di schema e relazioni, approccio inadeguato in relazione alle nuove richieste di visibilità del business sul dato”.

Oggi la proposta si è evoluta oltre il concetto di semplice DB e si presenta quindi come una vera e propria data platform, estendendosi a piattaforme applicative serverless come Stitch, alla piattaforma MongoDB As a service (Atlas), all’estensione fino alla parte mobile per esempio con l’acquisizione di Realm – per avvicinare ulteriormente il dato a chi lo usa (o a seconda del caso a dove viene generato, con l’opportuna sincronizzazione portata da Realm), e indirizzare gli scenari attuali IoT – ma anche evolvendo nella semplicità di fruizione dei dati (MongoDB Charts).

Wellington: “Oggi le aziende ci chiedono di comprendere quali sono tutti i vantaggi in campo nel passaggio da un approccio relazionale alla tecnologia MongoDB. Mentre altre offerte di DB non relazionali indirizzano però specifici casi d’uso, MongoDB mantiene un’apertura a 360 gradi anche per integrazione su pipeline a più stadi”. Forrester stessa riconosce MongoDB leader nella proposta di DB As A service (Atlas), per esempio registrato in Aws.

Il modello di business prevede la versione Community open source, la versione Enterprise, corredata di capacità aggiuntive, supporto e consulenza e, appunto, Atlas con le stesse funzionalità della proposta Enterprise ma interamente gestita da MongoDB (per cui il cliente nemmeno deve installare il DB).

La proposta MongoDB Atlas cuba il 35% delle revenue complessive di MongoDB con una crescita del 340% anno su anno e un forte contributo della regione europea, anche per la capacità di offrire Saas nel pieno rispetto della normativa Gdpr, quindi con restrizione dei dati entro i confini stabiliti. Complessivamente MongoDB ha ottenuto ricavi complessivi appena sotto i 90 milioni di dollari con un percentuale di crescita del 78% anno anno.

MongoDB coniuga i vantaggi dei DB relazionali e di quelli non relazionali in un doppio senso. Perché dispone di connettori BI per integrare strumenti di BI già presenti presso i clienti che vorrebbero continuare ad utilizzare le piattaforme di visualizzazione sviluppate per i DB Sql. Ma anche perché molti DB No Sql non arrivano al modello basato su documenti di MongoDB, ma si fermano a key value più semplici (sono utili magari come cache, ma non su casi d’uso effettivamente generalisti)

Casi d’uso: Sega (videogiochi) ha avuto la necessità di adeguare il proprio business alla nuova dimensione online, che prevede pattern di adozione molto difficili da gestire (per picchi di utilizzo del gioco al lancio, declini, nuovi picchi al rilascio di nuove funzionalità) per cui c’è bisogno di estrema flessibilità. Sega ha scelto la versione As a Service al lancio di Crazy Taxi su mobile, proprio per il tuning delle performance del DB in risposta ai picchi improvvisi di utilizzo in cloud (accensione e spegnimento di capacitò) e per la flessibilità nel modello dei dati.

Casi analoghi MongoDB può documentare in ambito financial, utility (per esempio nella gestione delle risorse naturali e della loro erogazione) per modellare frequentemente i dati e individuare possibilità di risparmio. MongoDB ha permesso di fare in modo più preciso e frequente questo tipo di analisi portando risparmi per diversi punti percentuali.

Chiude Wellington: “Il potenziale inespresso della proposta è ancora alto. Soprattutto per quanto riguarda l’operatività di quanto viene sviluppato. Dove tutta l’attenzione del mondo DevOps inizialmente era focalizzato all’entrata in produzione nel modo più veloce e rapido possibile, oggi il modello è stato acquisito e l’attenzione si è spostata sull’effettiva operatività di quanto è stato rilasciato, sulla possibilità di mantenerne alte le prestazioni, al recepimento delle richieste nuove di utenti che richiedono modifiche e aggiunte di funzionalità. Siamo al Day Two, oggi ci si può focalizzare allo sviluppo di nuove applicazioni”.

Ci sono clienti che sono riusciti a ridurre di 40 volte le righe di codice specifiche al DB nella propria applicazione con un incremento di performance facilmente intuibile.

© RIPRODUZIONE RISERVATA