Tra le principali novità, le versioni beta di MongoDB Atlas Data Lake e MongoDB Atlas Full-Text Search; la release di MongoDB 4.2; sveltati i progetti per Realm

MongoDB: tutte le novità e le nuove funzionalità

Durante la Developer Conference MongoDB, l’azienda ha annunciato nuovi servizi e funzionalità cloud per un modo migliore di lavorare con i dati oltre il database.

MongoDB Atlas Data Lake e MongoDB Atlas Full-Text Search

Le versioni Beta di MongoDB Atlas Data Lake e MongoDB Atlas Full-Text Search permettono agli utenti di accedere a nuove interessanti funzionalità in un ambiente MongoDB completamente gestito, senza bisogno di infrastruttura o di sistemi aggiuntivi. Inoltre, la versione GA di MongoDB Charts consente di creare grafici e diagrammi, costruire e condividere dashboard, e di incorporarli direttamente nelle applicazioni web per offrire agli utenti esperienze più coinvolgenti.

Con MongoDB Atlas Data Lake, i clienti possono interrogare rapidamente i dati su S3 in qualsiasi formato, tra cui JSON, BSON, CSV, TSV, Parquet e Avro, utilizzando il formato MongoDB Query Language (MQL). La ricerca sul testo completo (Full-Text Search) offre ad utenti e sviluppatori la capacità di filtrare, classificare e ordinare i dati per far emergere rapidamente i risultati più rilevanti, senza dover affiancare al database un motore di ricerca esterno, e quindi senza dover imparare, scalare, gestire e supportare due sistemi completamente separati. MongoDB Charts, in versione GA sia per i clienti Atlas che per quelli on-premise, è lo strumento più semplice e rapido per creare visualizzazioni in tempo reale dei dati di MongoDB.

“Le nostre nuove proposte espandono drasticamente le modalità a disposizione degli sviluppatori per utilizzare MongoDB e lavorare meglio con i dati, ha dichiarato Dev Ittycheria, CEO e Presidente di MongoDB. Ci impegniamo per rendere gli sviluppatori più produttivi ed eliminare le problematiche legate all’infrastruttura, con l’introduzione di nuove caratteristiche e funzionalità come full-text search e data lake. IDC prevede che entro il 2025 i dati globali raggiungeranno i 175 Zettabytes e il 49% di questi risiederanno nel cloud pubblico. La nostra missione è offrire agli sviluppatori modi migliori per lavorare con i dati, dovunque essi siano, anche nel cloud pubblico e privato.”

Aumentare la diffusione di MQL

Gli sviluppatori amano il MongoDB Query Language perché è un linguaggio fortemente espressivo e permette di interrogare i dati in qualsiasi modo, con semplici letture o richieste su intervalli o con sofisticate pipeline di elaborazione per analisi e trasformazioni di dati, JOIN, elaborazioni geospaziali e attraversamenti di grafi.

Con l’estensione del MongoDB Query Language a MongoDB Atlas Data Lake, gli sviluppatori possono usare lo stesso linguaggio di query per i dati su S3, rendendo semplici ed economiche le interrogazioni su enormi volumi di dati.

Offrire agli sviluppatori il miglior Data Lake per il cloud

Sul cloud viene archiviata una quantità sempre crescente di dati. Tuttavia, la complessità di Hadoop e la rigidità delle soluzioni tradizionali di data warehouse rendono sempre più difficile e costoso estrarre valore dai dati moderni, strutturalmente ricchi, ospitati sul cloud.

Con MongoDB Data Lake, i clienti devono solo concedere l’accesso agli storage bucket S3, con pochi clic, dalla console di MongoDB Atlas, per cominciare a eseguire query e a esplorare i dati con la potenza di MQL.Atlas Data Lake è totalmente serverless, non c’è infrastruttura da configurare, gestire o ottimizzare, e i clienti pagano solo per le query eseguite durante l’analisi sui dati. In futuro è prevista la disponibilità di MongoDB Atlas Data Lake anche su Google Cloud Storage ed Azure Storage.

Elimina la complessità di ricerca con Atlas Full-Text Search

Atlas Full-Text Search offre funzionalità di ricerca testuale avanzata, basate su Apache Lucene 8, su tutti i database MongoDB completamente gestiti, senza bisogno di infrastruttura o sistemi aggiuntivi. Una volta creati gli indici tramite Atlas UI o API, gli sviluppatori possono eseguire ricerche sofisticate con MQL, risparmiando tempo, energia e denaro.

Visualizzazione nativa dei dati MongoDB

La visualizzazione dei dati tramite grafici, mappe e dashboard è essenziale per estrarre informazioni utili da enormi collezioni di dati e renderle accessibili agli utenti. Disponibile come servizio gestito in MongoDB Atlas, o in versione da scaricare per l’esecuzione on-premise, MongoDB Charts introduce nuove potenti funzionalità:

  • Grafici incorporati in applicazioni web esterne
  • Visualizzazione dei dati geospaziali con nuovi grafici a mappa
  • Isolamento delle richieste (workload isolation) per eliminare l’impatto negativo delle analisi su di un’applicazione operativa.

MongoDB 4.2

MongoDB ha comunicato anche il lancio dell’ultima versione del database MongoDB 4.2, che prevede funzionalità chiave come transazioni distribuite, crittografia a livello di singoli campi e un operatore Kubernetes aggiornato, che consolidano la già salda reputazione di MongoDB nel soddisfare le più varie esigenze di migliaia di clienti, dalle startup cloud-native alle grandi imprese globali.

Le transazioni distribuite, che estendono le garanzie ACID multi-documento dai set di replica ai cluster partizionati, offrono ai clienti un modo semplice per soddisfare una vasta gamma di esigenze, con l’implementazione delle garanzie transazionali in applicazioni globali ad alta scalabilità. Con la crittografia a livello di singolo campo (Field Level Encryption), è possibile mantenere sul server campi cifrati (che rimangono tali in memoria, nei log di sistema, a riposo e nei backup), che risultano illeggibili a chiunque non abbia accesso al client o alle chiavi necessarie per decifrare i dati. Il pannello di controllo Kubernetes offre agli utenti la gestione completa della propria istanza MongoDB, con un’esperienza coerente attraverso tutte le modalità possibili: on-premises, nel cloud privato e ibrido, nel cloud pubblico.

“Quando abbiamo fondato MongoDB, volevamo offrire agli sviluppatori un modo più semplice di lavorare con i dati, a qualsiasi livello dello stack, ha dichiarato Eliot Horowitz, CTO e cofondatore di MongoDB. È estremamente gratificante proporre nuove funzionalità che aumentano la produttività degli sviluppatori, e consentono di dedicare meno tempo alla gestione dei dati e più tempo alla creazione di applicazioni innovative. Un aspetto cruciale è che queste funzionalità hanno caratteristiche analoghe a strumenti già noti. L’esperienza con il database migliora notevolmente con una curva di apprendimento molto breve.”

Transazioni distribuite

MongoDB ha introdotto le transazioni ACID multi-documento nella versione 4.0, garantendo una vista coerente sui dati attraverso i replica set e imponendo un’esecuzione “all-or-nothing” per mantenere l’integrità dei dati. Le transazioni distribuite mantengono la stessa sintassi delle transazioni introdotte in MongoDB 4.0. Comprendono più richieste e prevedono l’isolamento allo snapshot, risultando quindi familiari a qualsiasi sviluppatore che abbia già lavorato con le transazioni. Sia che l’esecuzione avvenga in un set di repliche che in un cluster partizionato, le transazioni su documenti, collezioni e database hanno API e implementazione analoghe. Viene preservata l’assoluta atomicità: se il commit di una transazione fallisce su una shard, viene annullato su tutte le shard partecipanti.

Un nuovo livello di sicurezza di grado Enterprise

L’implementazione di Field Level Encryption in MongoDB 4.2 è diversa e più completa rispetto alle soluzioni di cifratura a colonne utilizzate dai tradizionali database relazionali. È totalmente separata dal database, trasparente per il server e gestita esclusivamente sul client all’interno dei driver MongoDB. La maggior parte dei database gestisce la crittografia sul lato server. Di conseguenza, i dati restano accessibili agli amministratori che hanno accesso all’istanza del database, anche se non sono in possesso dei privilegi di accesso al client. Con Field Level Encryption non è più così.

Ecco i principali vantaggi di Field Level Encryption di MongoDB:

  • Crittografia trasparente e automatica: Il codice sorgente dell’applicazione rimane immutato per la maggior parte delle operazioni di lettura e scrittura. Altri approcci lato client richiedono agli sviluppatori di modificare il codice delle query e di utilizzare specifiche funzioni e metodi di cifratura da un SDK.
  • Separazione dei compiti: Gli amministratori di sistemi che hanno tradizionalmente accesso a sistemi operativi, server del database, log e backup non possono leggere i dati cifrati se non hanno esplicitamente ottenuto l’accesso al client ed alle chiavi necessarie a decifrare i dati.
  • Conformità ai regolamenti: È più semplice essere conformi al “diritto all’oblio”, richiesto dai nuovi regolamenti sulla privacy come il GDPR. Basta eliminare la chiave cliente perché i dati personali associati diventino inutilizzabili.

“Per lo sviluppo di Field Level Encryption, abbiamo collaborato con due delle più importanti autorità al mondo nella crittografia dei database, tra cui il co-autore dell’IETF Network Working Group Draft sulla crittografia autenticata AES, ha dichiarato Lena Smart, CISO di MongoDB. Questi team, formati da membri dell’università e da professionisti del settore, hanno offerto una consulenza esperta sul progetto Field Level Encryption di MongoDB e ne hanno supervisionato l’implementazione in software.”

Controllo totale da un unico pannello Kubernetes

Gli utenti possono oggi gestire la propria installazione MongoDB da un unico pannello di controllo Kubernetes. Su infrastruttura autogestita, sia on-premise che su cloud, gli utenti Kubernetes hanno a disposizione il MongoDB Enterprise Operator per Kubernetes e il MongoDB Ops Manager per automatizzare e gestire i cluster MongoDB. Gli sviluppatori possono usare l’operatore con Upstream Kubernetes o con distribuzioni come Red Hat OpenShift e Pivotal Container Services (PKS).

Realm

Infine, MongoDB ha svelato i piani per Realm, società acquisita nel maggio del 2019. La piattaforma mobile di database e sincronizzazione verrà integrata con la piattaforma serverless MongoDB Stitch sotto il marchio Realm, per offrire agli sviluppatori un modo migliore di lavorare con i dati per l’intero ciclo di vita delle applicazioni, dal front-end al back-end.

“Il principio sul quale è stata fondata MongoDB è di offrire agli sviluppatori un database migliore che permettesse di concentrare gli sforzi sulla creazione di applicazioni di qualità. Con l’acquisizione di Realm, intendiamo estendere questa missione allo stack di sviluppo per applicazioni web e mobili caratterizzate dall’uso intenso di dati, ha dichiarato Eliot Horowitz. Combinando la popolare piattaforma di database mobile e di sincronizzazione con la potenza di Stitch, riduciamo notevolmente i il carico di lavoro per gli sviluppatori, aiutandoli a lavorare in modo semplice e naturale con i dati in ogni parte dello stack, compreso il trasferimento delle informazioni dai dispositivi periferici fino ai sistemi di backend.”

Il protocollo di sincronizzazione di Realm comunicherà con il database cloud globale MongoDB Atlas al backend. Per gli sviluppatori, Realm Sync diventerà un potente strumento per collegare i i dati ed i dispositivi sui quali girano le applicazioni. Inserito nell’ecosistema di MongoDB, Realm si propone di diventare il database standard per gli sviluppatori su mobile e lo strumento più semplice per creare applicazioni che elaborano dati in tempo reale nel browser, come anche su dispositivi iOS e Android.

“Come MongoDB ha dimostrato che il vecchio modello di database tabulare e relazionale non era più adeguato per i dati moderni, allo stesso modo Realm ha creato una soluzione migliore sul versante mobile, superando le precedenti soluzioni dei database relazionali integrati e dei data store proprietari. Questo allineamento naturale ci rende estremamente fiduciosi sul potenziale della combinazione di Realm e MongoDB per il lavoro degli sviluppatori, ha dichiarato Alex Stigsen, CTO di Realm. Entrambe le parti di questa acquisizione hanno l’obiettivo di rendere più semplice il lavoro con i dati e permettere agli sviluppatori di creare applicazioni migliori più velocemente. Le nuove funzionalità che siamo in grado di offrire saranno molto apprezzate dagli utenti storici di Realm, a cui intendiamo aggiungere una platea ben più vasta di sviluppatori di applicazioni mobili e web.”

Sono previsti ulteriori investimenti nel database centrale di Realm. Gli sviluppatori potranno avere accesso al nuovo Realm Sync nel 2020.