SlideShare a Scribd company logo
MongoDB 3.6
Sommario
• Prospettive tecnologiche e di mercato per
MongoDB 3.6
• Caratteristiche e Miglioramenti
• Sviluppatori
• Analisti e Data Scientist
• Ops
• Per Iniziare
Il Digitale è Importante...
Più di 4000 mld $ nelle
vendite eCommerce
entro il 2020
75 mld di dispositivi
collegati
entro il 2025
Il 61% considera l'AI
una strategia
“urgente”
inel 2017
108 mld $ per il
mercato AR/VR
entro il 2021
59% di penetrazione
degli smartphone
entro il 2022
Più di 6000 mld di $
per i danni del cyber-
crimine
entro il 2022
La Velocità è Importante...
La Velocità è Importante... Ma il Digitale è
Complesso
Forrester Digital Transformation Infographic: https://go.forrester.com/blogs/16-05-09-digital_transformation_2016_infographic/
MongoDB 3.6
Velocità per Sviluppare
• Change Streams
• Retryable Writes
• Consistenza Configurabile
• MongoDB Compass
• Espressività delle Query
• Aggiornamenti Espressivi di Array
Applicazioni e
servizi moderni
sono
strettamente
integrati
Change Streams di MongoDB
Consentono agli sviluppatori di creare servizi reattivi in tempo reale
APIdiChangeStreams
Applicazioni
Aziendali
Dati utente
Sensori
Clickstream
Notifiche di Eventi in
Tempo Reale
Coda di Messaggi
Implementazione di Change Streams
Le app si registrano su MongoDB oplog per
ricevere notifiche tramite l'API di Change Streams
• I Change Streams sono:
• Flessibili: differenziali o sull'intero documento, filtrati in base a un
evento specifico
• Coerenti: i dati sono ordinati nei vari shard
• Sicuri: richiedono i privilegi di accesso dell'utente alla collection
• Affidabili: la notifica arriva solo a scrittura compiuta nella maggior
parte delle repliche
• Ripristinabili: in caso di errore del nodo
• Concorrenti: fino a 1.000 Change Stream per istanza di MongoDB
• Familiari: utilizzano i normali driver e il linguaggio delle query di
MongoDB
Casi di utilizzo di Change Streams
• Aggiornamento delle applicazioni di trading al
variare dei prezzi delle azioni
• Sincronizzazione dei cambiamenti nei
microservizi
• Aggiornamento di dashboard, sistemi di
analisi
• Pipeline di dati IoT, ad esempio per generare
allarmi in caso di guasto della risorsa
connessa
• Inserimento di nuove transazioni di carte di
credito nei modelli ML per ricalcolare il rischio
• Aggiornamento del punteggio nei giochi
multiplayer
APIdiChange
Streams
Applicazioni
aziendali
Dati utente
Sensori
Clickstream
Notifiche di Eventi in
Tempo Reale
Coda di messaggi
Change Streams in azione
// Seleziona la collection per la query
MongoCollection<Document> collection =
database.getCollection(”orders");
// Crea il cursore change stream.
MongoCursor<Document> cursor =
collection.watch().iterator();
Disponibilità di Scrittura
Applicazioni
Aziendali
Dati utente
Sensori
Clickstream
WriteScrittura
ACK
Nel mondo reale...
Applicazioni
Aziendali
Dati utente
Sensori
Clickstream
Write
ACK
...i problemi succedono... ...e
l'app non ha modo di sapere se
la scrittura è andata a buon
fine*
• Le interruzioni di rete impediscono ai comandi di
scrittura di raggiungere MongoDB
• Il primario MongoDB è in corso di elezione
• La scrittura riesce ma il guasto di rete impedisce
la
Il problema non sussiste per le operazioni idempotenti
Gestione degli Errori di Scrittura
Applicazioni
Aziendali
Dati Utente
Sensori
Clickstream
Scrittura
ACK
Ma i problemi succedono... ...e
l'app non ha modo di sapere se
la scrittura è andata a buon fine
• Le interruzioni di rete impediscono ai comandi di
scrittura di raggiungere MongoDB
• Il primario MongoDB è in corso di elezione
• La scrittura riesce ma il guasto di rete impedisce
la
Gli sviluppatori scrivono
codice complesso per
gestire le eccezioni
Retryable Writes di MongoDB
La gestione degli errori di scrittura si sposta dall'app al
database per errori di rete transitori o elezioni del
primario
• Il driver ritenta automaticamente la scrittura non eseguita
• Grazie all'identificatore unico della transazione, il server richiede una
semantica valida
• Proprietà
• Supporta operazioni idempotenti e non idempotenti ed errori causati
da timeout
• Offre costante disponibilità globale per le operazini
di scrittura
• Supera la complessità imposta dai sistemi multi-master, coerenti alla
fine
Rewritables Writes in Azione
uri = "mongodb://example.com:27017/?retryWrites=true"
client = MongoClient(uri)
database = client.database
collection = database.collection
Consistenza del Dato Assoluta
Tutte le
scritture
alcune
letture
Applicazio
ni
Aziendali
Dati
Utente
Sensori
Click
stream
Primario MongoDB
Secondario MongoDB
Secondario MongoDB
Controlli di Consistenza Regolabili
Primario MongoDB
Secondario MongoDB
Secondario MongoDB
Tutte le
scritture
alcune letture
Letture
Letture
Applicazio
ni
Aziendali
Dati
Utente
Sensori
Click
stream
Controlli di Consistenza Regolabili
Coniugare la consistenza dei dati con gli SLA delle prestazioni
• Gli sviluppatori hanno un controllo preciso su come le query vengono
instradate nel
• Coerenza causale: garantisce letture uniformi e logicamente
coerenti da qualsiasi nodo replica nella stessa sessione
utente
Letture secondarie nelle shard: le repliche secondarie
riconoscono i chunk, per assicurare letture coerenti anche se i
dati sono in propagazione in uno sharded cluster
La coerenza causale in azione
//Inizia la sessione del client, causalmente coerente di default
try (ClientSession session =
client.startSession(ClientSessionOptions.builder().build())) {
//Run causally related operations within the session
collection.insertOne(session, ... );
collection.updateOne(session, ...);
try (MongoCursor<Document> cursor =
collection.find(session).filter(...).iterator()) {
while (cursor.hasNext()) {
Document cur = cursor.next();
}
}
Compass: la GUI per MongoDB
Nuove funzionalità
• Completamento automatico delle
query
• Cronologia delle query
• Vista della tabella
• Compass plugin framework
Framework per i plugin di
Compass
• Edizione a costo zero
• GUI da utilizzare in alternativa alla
shell
Scarica Community di Compass
Espressività delle query e aggiornamenti di array
con ricche espressioni
• Utilizza espressioni nella pipeline di aggregazione con il
linguaggio di query di MongoDB, grazie al nuovo operatore
$expr
• Equivalente SQL di SELECT * FROM T1 WHERE a>b
• Esempio: trova tutti gli account dei clienti che hanno aumentato le
spese mensili
• Query più espressive con meno codice sul lato client
• Aggiornamento atomico di vari elementi che corrispondono
a un array con un singolo comando
• Esempio: aumenta tutti i prezzi in un array del 20%
• Modellazione dei dati più flessibile
• Evita la riscrittura dei documenti obbligatoria in altri database
[ ]
Aggiornamento di array: tutti gli elementi
orders:
{
_id: 5,
line_items : [
{ id: 123,
title : "USB Battery",
price: 15.0 },
{ id: 512,
title : "Hip T-shirt",
price : 45.0 }
],
...
}
db.orders.update(
{ _id: 5 },
{ $mul: {
"line_items.$[].price":
0.8
}
}
)
Aggiornamento di array: alcuni elementi
orders:
{
_id: 5,
line_items : [
{ id: 123,
title : "USB Battery",
price: 15.0 ,
shipped: true},
{ id: 512,
title : "Hip T-shirt",
price : 45.0,
shipped: false }
]
}
db.orders.update(
{ _id: 5 },
{ $mul: {
"line_items.$[li].price":
.8}},
{arrayFilters:[
{"li.shipped":{$ne:true}}
]}
)
• Ops Manager
• Validazione dello schema
• Extended Security
• Sicurezza estesa
• Multi-tenancy
Velocità nello scalare
Data Explorer
Controlla lo schema e
l'utilizzo degli indicin
Dashboard delle prestazioni in
tempo reale
Telemetria in diretta: operazioni in
corso e consumo di risorse
Performance Advisor
Raccomandazioni sempre
attive sugli indici
Backup e ripristino di Ops Manager
Backup continui e coerenti con ripristino temporizzato:
• Query sui backup: interroga i backup senza bisogno di effettuare
il ripristino
• Backup più veloce: agente riprogettato e sincronizzazione iniziale
migliorata
• Ripristino più veloce: le snapshot temporizzate vengono create
nel nodo di destinazione, evitando un salto di rete
• Backup negli Object Store: in locale o su S3
• Ripristino tra progetti: ripristino su un progetto diverso dalla
snapshot di origine
Coniugare il modello flessibile di dati con
{
product_name: ‘Acme Paint’,
color: [‘Red’, ‘Green’],
size_oz: [8, 32],
finish: [‘satin’, ‘eggshell’]
}
{
product_name: ‘T-shirt’,
size: [‘S’, ‘M’, ‘L’, ‘XL’],
color: [‘Heather Gray’ … ],
material: ‘100% cotton’,
wash: ‘cold’,
dry: ‘tumble dry low’
}
{
product_name: ‘Mountain Bike’,
brake_style: ‘mechanical disc’,
color: ‘grey’,
frame_material: ‘aluminum’,
no_speeds: 21,
package_height: ‘7.5x32.9x55’,
weight_lbs: 44.05,
suspension_type: ‘dual’,
wheel_size_in: 26
}
Documenti nella stessa collection per un catalogo prodotti in MongoDB
Validazione dello schema
Impone una struttura rigida allo schema di un'intera collection
per la governance e la qualità dei dati
• Introduce la validazione del documento per limitare i contenuti che
possono essere aggiunti a un document
• Determina la presenza, il tipo e i valori dei contenuti del documento,
compresi gli array nidificati
• Semplifica la logica dell'applicazione
Configurabile: puoi determinare la struttura del documento,
inviare avvisi o consentire una
Risponde alle query: puoi identificare tutti i documenti che
non sono conformi
Valdazione dello schema in azione
db.createCollection( "orders",
{validator: {$jsonSchema:
{
properties:
{line_items:
{type: "array",
items:
{properties:
{title: {type: "string"},
price: {type: "number", minimum: 0.0} },
required: ["_id", "title", "price"],
additionalProperties: false}}},
required: ["line_items"]}}}
)
Sicurezza dei dati end-to-end
• Autenticazione: LDAP, Kerberos, x509,
Challenge/Response
• Autorizzazione: RBAC, ruoli definiti
dall'utente, sicurezza a livello di campo
• Crittografia: in movimento, a riposo,
backup • Audit: completo per DML e DDL
• Audit: Full DML & DDL
Estensione dei controlli di sicurezza
Novità in MongoDB 3.6
• Bind a localhost: RPM e DEB predefiniti estesi a tutti i pacchetti e le
piattaforme. Non accetta connessioni esterne al database senza il
consenso dell'amministratore
• Whitelist di IP: accetta solo connessioni esterne da indirizzi IP specifici
o da blocchi CIDR
Compressione end-to-end
MongoDB 3.6 aggiunge la
compressione nel protocollo di
trasmissione tra il client e il
database
• Fino all'80% di risparmio di banda
Compressione end to end
MongoDB Compressione end-to-
end
• Compressione nel protocollo di
trasmissione
• All'interno dei cluster
• Indici in memoria
• Storage
Applicazione
MongoDB Primary
Replica
Compressione
nel protocollo
di
trasmissione
]
Vista unificata della replica
secondaria di MongoDB
Vista unificata della replica
secondaria di MongoDB
Replica secondaria di MongoDBVista unificata della replica
secondaria di Mongo DB
Vista unificata della replica
secondaria di Mongo DB
Replica secondaria di MongoDB
All'interno dei
cluster
Compressione
dei dati su
disco
Compressione
degli indici in
memoria
Gestione multi-tenancy
• Gestione della sessione operativa
• Gli amministratori possono visualizzare, raggruppare, cercare
ogni sessione utente su ogni nodo
• Terminare le operazioni in esecuzione su diversi nodi con un
singolo comando
• Più di 1 mln di collection WiredTiger
• Motore WiredTiger riprogettato per supportare applicazioni che
generano
• Applicazioni SaaS: collection per utente
• Servizi IoT: collection per risorsa per ora
• Connector for BI
• Pipeline di aggregazione
• Driver R
Velocità per estrarre
informazioni
Connettore per BI di MongoDB
+ molti altri
• Faster
• Sfrutta i vantaggi del lookup espressivo 3.6 per effetturare più calcoli
nel database
• Supporta la funzione Show Status per ottimizzare ulteriormente le
prestazioni
• Più semplice
• Gestione del ciclo di vita con Ops Manager
• Mappatura e campionamento dello schema ora gestito dal
processo mongosqld, non da un'utilty separata
• Autenticazione attraverso plugin lato client, senza bisogno di
gestire certificati TLS. Aggiunto il supporto per Kerberos
Le novità nel connettore per BI • Più veloce
Pipeline di aggregazione più ricca
• $lookup espressivo
• Oltre gli equi-join Left Outer. Supporto per i non equi-join e
• Esecuzione nativa nel database, che consente query di analisi più
complesse con meno codice
• Aggregazioni con fusi orari
• Consentono analisi multi-regione che tengono conto dei fusi orari
regionali
• Nuove espressioni per trasformazioni più complesse
• Conversione da oggetti ad array di coppie K-V e viceversa
• Fusione di più oggetti in un singolo oggetto
• Rimozione dei campi da un oggetto in base a criteri di valutazione
$lookup in 3.6
db.orders.aggregate([
{$unwind: "$line_items"},
{$lookup:{
from: "reviews",
let: {p_id:
"$line_items.id"},
pipeline: [
{$match: {$expr: {$eq:
["$p_id", "$$p_id"]}}},
{$group: {
_id: 1,
rating: {$avg:"$rating"}
}}
],
as: "avgRating" }
}
])
orders:
{
...
line_items : [
{ id: 123,
title : “USB Battery”,
price: 15.0 },
{ id: 512,
title : “Hip T-shirt”,
price : 45.0 }
],
...
}
Driver R per MongoDB
Driver R di MongoDB raccomandato per data scientist,
sviluppatori e statistici
• Accesso in linguaggio naturale al database
• Read e write concern di MongoDB per controllare
la coerenza
• Protezione dei dati con meccanismi di
autenticazione enterprise
• Tipi di dati avanzati BSON, ad es. decimale 128
per analisi scientifiche e finanziarie ad alta
precisione
Cloud ManagerOps Manager MongoDB Atlas
DBaaS privato: in
locale
Esecuzione ovunque
Eliminating Lock-In
DBaaS ibrido
DBaaS pubblico:
totalmente gestito
Same Code Base, Same API, Same Management UStesso codice di base, stessa API, stessa UI di
gestioneI
MongoDB Atlas: Database-as-a-Service
Self-service, elastico
e automatizzato
Sicuro in modalità
predefinita
Globale e altamente
disponibile
Backup continui
Monitoraggio e
ottimizzazione in tempo
reale
Per qualsiasi cloud
Novità di Atlas
● Disponibilità di MongoDB 3.6 in
MongoDB Atlas (versione GA)
● Replicazione in diverse regioni
● Ridimensionamento automatico
dello storage
● Pause Cluster
● Cluster in pausa
● Ripristino da progetti diversi
Ridimensioname
nto automatico
dello storage
I prossimi passi
MongoDB 3.6
Muoviti alla stessa velocità dei tuoi dati
Velocità di sviluppo
● Change Streams
● Retryable Writes
● Controlli di coerenza
regolabili
● Compass
● Espressività delle query
Velocità per scalare
● Ops Manager
● Validazione dello schema
● EEstensione dei controlli
● Compressione E2E
● Gestione Management
Elocità per estrarre
informazioni
● BI Connector
● Pipeline di
aggregazione più ricca
● R Driver
http://university.mongodb.com/courses/M036/about
M036: New Features
and Tools in
MongoDB 3.6
Per iniziare con MongoDB 3.6
• Scarica la release candidate e leggi le note
sulla versione
• Leggi le novità sul white paper
• Formazione gratuita con la MongoDB
University
• Possiamo aiutarti: servizio di aggiornamento
per le versioni principali
MongoDB 3.6

More Related Content

Similar to Le novita di MongoDB 3.6

La Modernizzazione dei Dati come base per La Trasformazione Digitale
La Modernizzazione dei Dati come base per La Trasformazione DigitaleLa Modernizzazione dei Dati come base per La Trasformazione Digitale
La Modernizzazione dei Dati come base per La Trasformazione Digitale
MongoDB
 
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
Micro Focus Data Express 4.0 - Conformità,  produttività  e  protezione datiMicro Focus Data Express 4.0 - Conformità,  produttività  e  protezione dati
Micro Focus Data Express 4.0 - Conformità, produttività e protezione datiMicrofocusitalia
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
Manuel Scapolan
 
La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB MongoDB
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
Gian Maria Ricci
 
Acg enterprise tech 2016-09_28
Acg enterprise   tech 2016-09_28Acg enterprise   tech 2016-09_28
Acg enterprise tech 2016-09_28
PRAGMA PROGETTI
 
Pensiero Analogico e Microservizi
Pensiero Analogico  e MicroserviziPensiero Analogico  e Microservizi
Pensiero Analogico e Microservizi
Consulthinkspa
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
Stefano Dindo
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
Fabio Armani
 
Data flow
Data flowData flow
Data flow
Marco Pozzan
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
SMAU
 
2011.06.30 scenari applicativi per il cloud computing
2011.06.30   scenari applicativi per il cloud computing2011.06.30   scenari applicativi per il cloud computing
2011.06.30 scenari applicativi per il cloud computing
Marco Parenzan
 
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Denodo
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Marco Pozzan
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
Andrea Dottor
 
Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...
confluent
 
Presentazione Tesi
Presentazione TesiPresentazione Tesi
Presentazione Tesi
Luca Dalle Vedove
 

Similar to Le novita di MongoDB 3.6 (20)

La Modernizzazione dei Dati come base per La Trasformazione Digitale
La Modernizzazione dei Dati come base per La Trasformazione DigitaleLa Modernizzazione dei Dati come base per La Trasformazione Digitale
La Modernizzazione dei Dati come base per La Trasformazione Digitale
 
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
Micro Focus Data Express 4.0 - Conformità,  produttività  e  protezione datiMicro Focus Data Express 4.0 - Conformità,  produttività  e  protezione dati
Micro Focus Data Express 4.0 - Conformità, produttività e protezione dati
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
 
Acg enterprise tech 2016-09_28
Acg enterprise   tech 2016-09_28Acg enterprise   tech 2016-09_28
Acg enterprise tech 2016-09_28
 
Pensiero Analogico e Microservizi
Pensiero Analogico  e MicroserviziPensiero Analogico  e Microservizi
Pensiero Analogico e Microservizi
 
MongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDBMongoDB User Group Padova - Overviews iniziale su MongoDB
MongoDB User Group Padova - Overviews iniziale su MongoDB
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 
Data flow
Data flowData flow
Data flow
 
Smau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazioneSmau Padova 2011 Leonardo Torretta - virtualizzazione
Smau Padova 2011 Leonardo Torretta - virtualizzazione
 
2011.06.30 scenari applicativi per il cloud computing
2011.06.30   scenari applicativi per il cloud computing2011.06.30   scenari applicativi per il cloud computing
2011.06.30 scenari applicativi per il cloud computing
 
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
Accelerare la migrazione al cloud e la modernizzazione dell'architettura con ...
 
Cloud in Action_6 giugno 2014
Cloud in Action_6 giugno 2014Cloud in Action_6 giugno 2014
Cloud in Action_6 giugno 2014
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
 
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-servicePower BI: Introduzione ai dataflow e alla preparazione dei dati self-service
Power BI: Introduzione ai dataflow e alla preparazione dei dati self-service
 
What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012What's New in ASP.NET 4.5 and Visual Studio 2012
What's New in ASP.NET 4.5 and Visual Studio 2012
 
Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...Digital Integration Hub per il monitoraggio in near-real time della logistica...
Digital Integration Hub per il monitoraggio in near-real time della logistica...
 
Presentazione Tesi
Presentazione TesiPresentazione Tesi
Presentazione Tesi
 

More from MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB
 

More from MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

Le novita di MongoDB 3.6

  • 2. Sommario • Prospettive tecnologiche e di mercato per MongoDB 3.6 • Caratteristiche e Miglioramenti • Sviluppatori • Analisti e Data Scientist • Ops • Per Iniziare
  • 3. Il Digitale è Importante... Più di 4000 mld $ nelle vendite eCommerce entro il 2020 75 mld di dispositivi collegati entro il 2025 Il 61% considera l'AI una strategia “urgente” inel 2017 108 mld $ per il mercato AR/VR entro il 2021 59% di penetrazione degli smartphone entro il 2022 Più di 6000 mld di $ per i danni del cyber- crimine entro il 2022
  • 4. La Velocità è Importante...
  • 5. La Velocità è Importante... Ma il Digitale è Complesso Forrester Digital Transformation Infographic: https://go.forrester.com/blogs/16-05-09-digital_transformation_2016_infographic/
  • 7. Velocità per Sviluppare • Change Streams • Retryable Writes • Consistenza Configurabile • MongoDB Compass • Espressività delle Query • Aggiornamenti Espressivi di Array
  • 9. Change Streams di MongoDB Consentono agli sviluppatori di creare servizi reattivi in tempo reale APIdiChangeStreams Applicazioni Aziendali Dati utente Sensori Clickstream Notifiche di Eventi in Tempo Reale Coda di Messaggi
  • 10. Implementazione di Change Streams Le app si registrano su MongoDB oplog per ricevere notifiche tramite l'API di Change Streams • I Change Streams sono: • Flessibili: differenziali o sull'intero documento, filtrati in base a un evento specifico • Coerenti: i dati sono ordinati nei vari shard • Sicuri: richiedono i privilegi di accesso dell'utente alla collection • Affidabili: la notifica arriva solo a scrittura compiuta nella maggior parte delle repliche • Ripristinabili: in caso di errore del nodo • Concorrenti: fino a 1.000 Change Stream per istanza di MongoDB • Familiari: utilizzano i normali driver e il linguaggio delle query di MongoDB
  • 11. Casi di utilizzo di Change Streams • Aggiornamento delle applicazioni di trading al variare dei prezzi delle azioni • Sincronizzazione dei cambiamenti nei microservizi • Aggiornamento di dashboard, sistemi di analisi • Pipeline di dati IoT, ad esempio per generare allarmi in caso di guasto della risorsa connessa • Inserimento di nuove transazioni di carte di credito nei modelli ML per ricalcolare il rischio • Aggiornamento del punteggio nei giochi multiplayer APIdiChange Streams Applicazioni aziendali Dati utente Sensori Clickstream Notifiche di Eventi in Tempo Reale Coda di messaggi
  • 12. Change Streams in azione // Seleziona la collection per la query MongoCollection<Document> collection = database.getCollection(”orders"); // Crea il cursore change stream. MongoCursor<Document> cursor = collection.watch().iterator();
  • 13. Disponibilità di Scrittura Applicazioni Aziendali Dati utente Sensori Clickstream WriteScrittura ACK
  • 14. Nel mondo reale... Applicazioni Aziendali Dati utente Sensori Clickstream Write ACK ...i problemi succedono... ...e l'app non ha modo di sapere se la scrittura è andata a buon fine* • Le interruzioni di rete impediscono ai comandi di scrittura di raggiungere MongoDB • Il primario MongoDB è in corso di elezione • La scrittura riesce ma il guasto di rete impedisce la Il problema non sussiste per le operazioni idempotenti
  • 15. Gestione degli Errori di Scrittura Applicazioni Aziendali Dati Utente Sensori Clickstream Scrittura ACK Ma i problemi succedono... ...e l'app non ha modo di sapere se la scrittura è andata a buon fine • Le interruzioni di rete impediscono ai comandi di scrittura di raggiungere MongoDB • Il primario MongoDB è in corso di elezione • La scrittura riesce ma il guasto di rete impedisce la Gli sviluppatori scrivono codice complesso per gestire le eccezioni
  • 16. Retryable Writes di MongoDB La gestione degli errori di scrittura si sposta dall'app al database per errori di rete transitori o elezioni del primario • Il driver ritenta automaticamente la scrittura non eseguita • Grazie all'identificatore unico della transazione, il server richiede una semantica valida • Proprietà • Supporta operazioni idempotenti e non idempotenti ed errori causati da timeout • Offre costante disponibilità globale per le operazini di scrittura • Supera la complessità imposta dai sistemi multi-master, coerenti alla fine
  • 17. Rewritables Writes in Azione uri = "mongodb://example.com:27017/?retryWrites=true" client = MongoClient(uri) database = client.database collection = database.collection
  • 18. Consistenza del Dato Assoluta Tutte le scritture alcune letture Applicazio ni Aziendali Dati Utente Sensori Click stream Primario MongoDB Secondario MongoDB Secondario MongoDB
  • 19. Controlli di Consistenza Regolabili Primario MongoDB Secondario MongoDB Secondario MongoDB Tutte le scritture alcune letture Letture Letture Applicazio ni Aziendali Dati Utente Sensori Click stream
  • 20. Controlli di Consistenza Regolabili Coniugare la consistenza dei dati con gli SLA delle prestazioni • Gli sviluppatori hanno un controllo preciso su come le query vengono instradate nel • Coerenza causale: garantisce letture uniformi e logicamente coerenti da qualsiasi nodo replica nella stessa sessione utente Letture secondarie nelle shard: le repliche secondarie riconoscono i chunk, per assicurare letture coerenti anche se i dati sono in propagazione in uno sharded cluster
  • 21. La coerenza causale in azione //Inizia la sessione del client, causalmente coerente di default try (ClientSession session = client.startSession(ClientSessionOptions.builder().build())) { //Run causally related operations within the session collection.insertOne(session, ... ); collection.updateOne(session, ...); try (MongoCursor<Document> cursor = collection.find(session).filter(...).iterator()) { while (cursor.hasNext()) { Document cur = cursor.next(); } }
  • 22. Compass: la GUI per MongoDB Nuove funzionalità • Completamento automatico delle query • Cronologia delle query • Vista della tabella • Compass plugin framework Framework per i plugin di Compass • Edizione a costo zero • GUI da utilizzare in alternativa alla shell Scarica Community di Compass
  • 23. Espressività delle query e aggiornamenti di array con ricche espressioni • Utilizza espressioni nella pipeline di aggregazione con il linguaggio di query di MongoDB, grazie al nuovo operatore $expr • Equivalente SQL di SELECT * FROM T1 WHERE a>b • Esempio: trova tutti gli account dei clienti che hanno aumentato le spese mensili • Query più espressive con meno codice sul lato client • Aggiornamento atomico di vari elementi che corrispondono a un array con un singolo comando • Esempio: aumenta tutti i prezzi in un array del 20% • Modellazione dei dati più flessibile • Evita la riscrittura dei documenti obbligatoria in altri database [ ]
  • 24. Aggiornamento di array: tutti gli elementi orders: { _id: 5, line_items : [ { id: 123, title : "USB Battery", price: 15.0 }, { id: 512, title : "Hip T-shirt", price : 45.0 } ], ... } db.orders.update( { _id: 5 }, { $mul: { "line_items.$[].price": 0.8 } } )
  • 25. Aggiornamento di array: alcuni elementi orders: { _id: 5, line_items : [ { id: 123, title : "USB Battery", price: 15.0 , shipped: true}, { id: 512, title : "Hip T-shirt", price : 45.0, shipped: false } ] } db.orders.update( { _id: 5 }, { $mul: { "line_items.$[li].price": .8}}, {arrayFilters:[ {"li.shipped":{$ne:true}} ]} )
  • 26. • Ops Manager • Validazione dello schema • Extended Security • Sicurezza estesa • Multi-tenancy Velocità nello scalare
  • 27. Data Explorer Controlla lo schema e l'utilizzo degli indicin Dashboard delle prestazioni in tempo reale Telemetria in diretta: operazioni in corso e consumo di risorse Performance Advisor Raccomandazioni sempre attive sugli indici
  • 28. Backup e ripristino di Ops Manager Backup continui e coerenti con ripristino temporizzato: • Query sui backup: interroga i backup senza bisogno di effettuare il ripristino • Backup più veloce: agente riprogettato e sincronizzazione iniziale migliorata • Ripristino più veloce: le snapshot temporizzate vengono create nel nodo di destinazione, evitando un salto di rete • Backup negli Object Store: in locale o su S3 • Ripristino tra progetti: ripristino su un progetto diverso dalla snapshot di origine
  • 29. Coniugare il modello flessibile di dati con { product_name: ‘Acme Paint’, color: [‘Red’, ‘Green’], size_oz: [8, 32], finish: [‘satin’, ‘eggshell’] } { product_name: ‘T-shirt’, size: [‘S’, ‘M’, ‘L’, ‘XL’], color: [‘Heather Gray’ … ], material: ‘100% cotton’, wash: ‘cold’, dry: ‘tumble dry low’ } { product_name: ‘Mountain Bike’, brake_style: ‘mechanical disc’, color: ‘grey’, frame_material: ‘aluminum’, no_speeds: 21, package_height: ‘7.5x32.9x55’, weight_lbs: 44.05, suspension_type: ‘dual’, wheel_size_in: 26 } Documenti nella stessa collection per un catalogo prodotti in MongoDB
  • 30. Validazione dello schema Impone una struttura rigida allo schema di un'intera collection per la governance e la qualità dei dati • Introduce la validazione del documento per limitare i contenuti che possono essere aggiunti a un document • Determina la presenza, il tipo e i valori dei contenuti del documento, compresi gli array nidificati • Semplifica la logica dell'applicazione Configurabile: puoi determinare la struttura del documento, inviare avvisi o consentire una Risponde alle query: puoi identificare tutti i documenti che non sono conformi
  • 31. Valdazione dello schema in azione db.createCollection( "orders", {validator: {$jsonSchema: { properties: {line_items: {type: "array", items: {properties: {title: {type: "string"}, price: {type: "number", minimum: 0.0} }, required: ["_id", "title", "price"], additionalProperties: false}}}, required: ["line_items"]}}} )
  • 32. Sicurezza dei dati end-to-end • Autenticazione: LDAP, Kerberos, x509, Challenge/Response • Autorizzazione: RBAC, ruoli definiti dall'utente, sicurezza a livello di campo • Crittografia: in movimento, a riposo, backup • Audit: completo per DML e DDL • Audit: Full DML & DDL
  • 33. Estensione dei controlli di sicurezza Novità in MongoDB 3.6 • Bind a localhost: RPM e DEB predefiniti estesi a tutti i pacchetti e le piattaforme. Non accetta connessioni esterne al database senza il consenso dell'amministratore • Whitelist di IP: accetta solo connessioni esterne da indirizzi IP specifici o da blocchi CIDR
  • 34. Compressione end-to-end MongoDB 3.6 aggiunge la compressione nel protocollo di trasmissione tra il client e il database • Fino all'80% di risparmio di banda Compressione end to end MongoDB Compressione end-to- end • Compressione nel protocollo di trasmissione • All'interno dei cluster • Indici in memoria • Storage Applicazione MongoDB Primary Replica Compressione nel protocollo di trasmissione ] Vista unificata della replica secondaria di MongoDB Vista unificata della replica secondaria di MongoDB Replica secondaria di MongoDBVista unificata della replica secondaria di Mongo DB Vista unificata della replica secondaria di Mongo DB Replica secondaria di MongoDB All'interno dei cluster Compressione dei dati su disco Compressione degli indici in memoria
  • 35. Gestione multi-tenancy • Gestione della sessione operativa • Gli amministratori possono visualizzare, raggruppare, cercare ogni sessione utente su ogni nodo • Terminare le operazioni in esecuzione su diversi nodi con un singolo comando • Più di 1 mln di collection WiredTiger • Motore WiredTiger riprogettato per supportare applicazioni che generano • Applicazioni SaaS: collection per utente • Servizi IoT: collection per risorsa per ora
  • 36. • Connector for BI • Pipeline di aggregazione • Driver R Velocità per estrarre informazioni
  • 37. Connettore per BI di MongoDB + molti altri
  • 38. • Faster • Sfrutta i vantaggi del lookup espressivo 3.6 per effetturare più calcoli nel database • Supporta la funzione Show Status per ottimizzare ulteriormente le prestazioni • Più semplice • Gestione del ciclo di vita con Ops Manager • Mappatura e campionamento dello schema ora gestito dal processo mongosqld, non da un'utilty separata • Autenticazione attraverso plugin lato client, senza bisogno di gestire certificati TLS. Aggiunto il supporto per Kerberos Le novità nel connettore per BI • Più veloce
  • 39. Pipeline di aggregazione più ricca • $lookup espressivo • Oltre gli equi-join Left Outer. Supporto per i non equi-join e • Esecuzione nativa nel database, che consente query di analisi più complesse con meno codice • Aggregazioni con fusi orari • Consentono analisi multi-regione che tengono conto dei fusi orari regionali • Nuove espressioni per trasformazioni più complesse • Conversione da oggetti ad array di coppie K-V e viceversa • Fusione di più oggetti in un singolo oggetto • Rimozione dei campi da un oggetto in base a criteri di valutazione
  • 40. $lookup in 3.6 db.orders.aggregate([ {$unwind: "$line_items"}, {$lookup:{ from: "reviews", let: {p_id: "$line_items.id"}, pipeline: [ {$match: {$expr: {$eq: ["$p_id", "$$p_id"]}}}, {$group: { _id: 1, rating: {$avg:"$rating"} }} ], as: "avgRating" } } ]) orders: { ... line_items : [ { id: 123, title : “USB Battery”, price: 15.0 }, { id: 512, title : “Hip T-shirt”, price : 45.0 } ], ... }
  • 41. Driver R per MongoDB Driver R di MongoDB raccomandato per data scientist, sviluppatori e statistici • Accesso in linguaggio naturale al database • Read e write concern di MongoDB per controllare la coerenza • Protezione dei dati con meccanismi di autenticazione enterprise • Tipi di dati avanzati BSON, ad es. decimale 128 per analisi scientifiche e finanziarie ad alta precisione
  • 42. Cloud ManagerOps Manager MongoDB Atlas DBaaS privato: in locale Esecuzione ovunque Eliminating Lock-In DBaaS ibrido DBaaS pubblico: totalmente gestito Same Code Base, Same API, Same Management UStesso codice di base, stessa API, stessa UI di gestioneI
  • 43. MongoDB Atlas: Database-as-a-Service Self-service, elastico e automatizzato Sicuro in modalità predefinita Globale e altamente disponibile Backup continui Monitoraggio e ottimizzazione in tempo reale Per qualsiasi cloud
  • 44. Novità di Atlas ● Disponibilità di MongoDB 3.6 in MongoDB Atlas (versione GA) ● Replicazione in diverse regioni ● Ridimensionamento automatico dello storage ● Pause Cluster ● Cluster in pausa ● Ripristino da progetti diversi Ridimensioname nto automatico dello storage
  • 46. MongoDB 3.6 Muoviti alla stessa velocità dei tuoi dati Velocità di sviluppo ● Change Streams ● Retryable Writes ● Controlli di coerenza regolabili ● Compass ● Espressività delle query Velocità per scalare ● Ops Manager ● Validazione dello schema ● EEstensione dei controlli ● Compressione E2E ● Gestione Management Elocità per estrarre informazioni ● BI Connector ● Pipeline di aggregazione più ricca ● R Driver
  • 48. Per iniziare con MongoDB 3.6 • Scarica la release candidate e leggi le note sulla versione • Leggi le novità sul white paper • Formazione gratuita con la MongoDB University • Possiamo aiutarti: servizio di aggiornamento per le versioni principali