MongoDB ha presentato a New York l’ultima versione del suo database, MongoDB 4.2, caratterizzato da funzionalità chiave: transazioni distribuite, crittografia a livello di singoli campi e un operatore Kubernetes aggiornato.
La società 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.
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. 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ì.
Con la Field Level Encryption di MongoDB 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. Gli amministratori di sistemi che hanno 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. È 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.
Gli utenti possono 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 Enterprise Operator per Kubernetes e 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.
Oltre il database
MongoDB ha anche annunciato nuovi servizi e funzionalità cloud che offrono un modo migliore di lavorare con i dati oltre il database.
Le versioni Beta di Atlas Data Lake e 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.
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.
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 Atlas Data Lake anche su Google Cloud Storage ed Azure Storage.
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.
Disponibile come servizio gestito in Atlas, o in versione da scaricare per l’esecuzione on-premise, MongoDB Charts introduce grafici incorporati in applicazioni web esterni, 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.
Piattaforma di sviluppo Realm
La società ha anche annunciato il futuro dello sviluppo mobile e web, svelando i piani per Realm, società acquisita a maggio. 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 frontend al 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 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.