SlideShare a Scribd company logo
1 of 100
@stefanodindo
Stefano Dindo
Deploy di MongoDB su infrastruttura AWS
Agenda:
• Introduzione a MongoDB
• MongoDB 3.0
• Deploy MongoDB su AWS
• Architetture MongoDB su AWS
• Backup
• Esempio architettura su AWS
• Schema Design
• Integrazione MongoDB su EMR
Capitolo 1
Introduzione a MongoDB
MongoDB è un database non relazione,
orientato ai documento, classificato come un
database NoSQL. MongoDB si allontana dalla
struttura tradizionale basata su tabelle dei
database relazionali in favore di documenti in
stile JSON con schema flessibile.

Cos’è MongoDB ?
General Purpose Document Database Open Source
MongoDB
Cos’è un documento per MongoDB?
{

	 “nome”: “Giorgio”,

	 “cognome”: “Rossi”,

	 “email”: “giorgio.rossi@gmail.com”,

	 “cell”: 3281432896,

	 “sport”: [“nuoto”, “calcio”]

}
	 MongoDB salva i documenti su disco in formato BSON (http://
bsonspec.org).
	 La dimensione massima di un documento BSON è 16MB.
Un documento è una struttura dati in stile JSON formata da
un numero variabile di coppie campo - valore
Agilità & Flessibilità
• Evoluzione semplice del modello di dati
• Adattamento e cambi rapidi sulla struttura dati
Rappresentazione dati intuitiva e naturale
• Sviluppatori sono più produttivi
• Le applicazioni risultano più semplici da gestire
Riduzione di operazioni di join e disk seek
• La programmazione è più semplice
• Maggiori performance
Benefici del modello a documenti
Better data locality Caching In-Place Updates
Performance
( solo per MMAPv1 )
SQL - Like Corrispettivo in MongoDB
Database Database
Tabella Collections
Riga Documents
Colonna Field
Terminologia
{
_id: ‘Objectid(“4b2b9…”)’,
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location: [45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
]
}
MongoDB: Modello a Documenti
Document
{
_id: ‘Objectid(“4b2b9…”)’,
first_name: ‘Paul’,
surname: ‘Miller’,
city: ‘London’,
location: [45.123,47.232],
cars: [
{ model: ‘Bentley’,
year: 1973,
value: 100000, … },
{ model: ‘Rolls Royce’,
year: 1965,
value: 330000, … }
]
}
Esempio Tipi di dati
Null
Boolean
Number
String
Date
Array
Embedded documents
{ x: null }
{ x: true }
{ x: 3.14 } { x: 3 }
{ x: “zero12” }
{ x: new Date() }
{ x: [“a”,”b”, “c”] }
{ x: {y: “a” } }
Object id
0 1 2 3 4 5 6 7 8 9 10 11
Timestamp Machine PID Increment
Query Language
use <nome db>
show collections
db.<nomeCollection>.insert({…})
db.<nomeCollection>.findOne()
db.<nomeCollection>.update(<query>, <update>)
db.<nomeCollection>.remove(<query>)
db.<nomeCollection>.update(<query>, {$set: <update>})
Capitolo 2
MONGODB 3.0
Riduzione del carico fino a
Distribuzione globale fino a
nodi Replica Set
Fino a
occupazione di spazio
di storage con la compressione
miglioramento generale 

delle performance
3.0
95%
50
80%
7 - 10x
Nuovo storage engine
WiredTiger
MongoDB Query Language + Native Drivers
MongoDB Document Data Model
MMAP v1 WiredTiger Altri
Sicurezza
Management
Repository
data
IoT Sensori
e servizi
Servizi
di
Advertising
Analisi dati Archiviazione
Storage Engine
Perché WiredTiger è interessante
• Concorrenza a livello di documento
• Compressione
• Consistenza senza journaling
• Performance migliori in determinate condizioni
• Operazioni di scrittura pesante
• Scalabilità verticale
• Migliore utilizzo delle risorse hardware
• Più possibilità di fare tuning
Notevole ottimizzazione dello spazio di storage
• Migliore utilizzazione dello spazio di storage
• Alta scalabilità di I/O
• Più opzioni di compressione
• Snappy ( default )
• zlib
• None
• Dati e file Journal compressi su disco
• Indici compressi su disco e in memoria
SpaziodiStorageinMB
0
650
1300
1950
2600
Enron E-Mail Dataset
MMAPv1 WiredTiger ( senza Compressione )
WiredTiger ( Snappy ) WiredTiger ( zlib )
Esempio compressione
Capitolo 3
Deploy MongoDB su AWS
M3
General Purpose
C3
Compute Optimized
R3
Memory Optimized
G2
GPU PurposeStorage Optimized
I2 HS1
Offerta Istanze EC2 AWS
T2
Micro
M3
General Purpose
C3
Compute Optimized
R3
Memory Optimized
G2
GPU PurposeStorage Optimized
I2 HS1
Offerta Istanze EC2 AWS
T2
Micro
X
X
S3#
Blob#storage#
Sta.c#
content#
EBS#
Magne.c#
SSD,#burst#
IOPS#
OS#root#
volume#
PIOPS#EBS#
SSD;backed,#
predictable#
performance#
Cost#scales#
up#with#size#
and#IOPS#
Instance#Store#
SSD;backed#
Blazing,#
ephemeral#
Included#in#
instance#cost#
Configurazione di Storage
S3#
Blob#storage#
Sta.c#
content#
EBS#
Magne.c#
SSD,#burst#
IOPS#
OS#root#
volume#
PIOPS#EBS#
SSD;backed,#
predictable#
performance#
Cost#scales#
up#with#size#
and#IOPS#
Instance#Store#
SSD;backed#
Blazing,#
ephemeral#
Included#in#
instance#cost#
Configurazione di Storage
X
Ideale per
ambiente di
produzione
Ideale fase
di test e sviluppo
Ottimo Rapporto
$/IOPS
Mongod:
Mongos:
Mongo:
E’ il processo server che esegue il database e che rende disponibile tutte i servizi
per la creazione di database, collections, l’inserimento di documenti e le relative
funzioni di interrogazione
E’ il servizio di routing per processare le query provenienti dallo strato applicativo e che
determina la locazione dei dati richiesti in una configurazione Sharding.
Rappresenta l’eseguibile per avviare la shell Javascript per interagire con database,
collezioni e documenti che possono essere interrogati e manipolati da riga di comando.
Terminologia
Pacchetti
Mongod-org:
Pacchetto principale che contiene tutte e quattro le componenti
MongoDB necessarie.
Mongod-org-Server:
Questo pacchetto contiene il demone Mongod ed i relativi
servizi e script di inizializzazione
Mongod-org-mongos: Contiene il pacchetto del demone Mongos
Mongod-org-shell: Contiene la shell mongo per il controllo del database
Mongod-org-tools:
Questo pacchetto contiene tutti gli strumenti di gestione del
database come mongoimport, mongoexport, mongodump etc
Installazione
“Manuale” “MMS”
Capitolo 3a
Installazione Manuale
Avvia MongoDB
1
2
3
4
Import della public key usata dal gestore di pacchetti
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
Creare il “List File” per MongoDB
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-
org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
Aggiornare il gestore di pacchetti di Ubuntu
sudo apt-get update
Installare il pacchetto di MongoDB
sudo apt-get install mongodb-org
sudo apt-get install mongodb-org=2.6.8
Capitolo 3b
Installazione tramite MMS
MongoDB Management Service
Automation
Cosa significa automation?
Richiedere
le risorse in
AWS
Deploy di
qualsiasi versione
di mongodb
Inserimento
di repliche e
shard
Aggiornamento
della
configurazione in
ogni momento
Premere un
pulsante per
aggiornare
MongoDB
Automation
Automation
Monitoring
Capitolo 4
Architetture MongoDB su AWS
Capitolo 4a
Replica Set
Nodo 1 Nodo 2
Nodo 3
Creazione Replica-Set
> conf = {
_id : "zero12rs”,
members : [
{_id : 0, host : "A”},
{_id : 1, host : "B"},
{_id : 2, host : "C”},
	 ]
}
> rs.initiate(conf)
Configurazione Replica-Set
Nodo 1
Secondary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
Replica Replica
Replica-Set - 1 di 4
Nodo 1
Secondary
Nodo 2
Secondary
Nodo 3
Primary
Elezione primary
XFAIL !
Replica-Set - 2 di 4
Nodo 1
Primary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
XFAIL !
Replica
Replica-Set - 3 di 4
Nodo 1
Secondary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
Sync
/
Replica
Replica
Replica-Set - 4 di 4
Nodo 1
Primary
Nodo 3
Secondary
Importante
Come funziona la replica
Come funziona la replica ?
oplog: contiene la lista di tutte le operazioni di scrittura e aggiornamenti fatti nel nodo primario
Primary
Secondary #1
Secondary #2
query per oplogs {$gt: 10}
query per oplogs {$gt: 7}
6 7 8 9 10 11 12 13
6 7 8 9 10
6 7
Alta disponibilità - Cross Zones
Nodo 1
Secondary
Nodo 2
Secondary
Heartbeat
Replica
Nodo 1
Primary
Nodo 3
Secondary
AZ-1 AZ-2
Nodo 1
Secondary
Nodo 2
Secondary
Heartbeat
Replica
Nodo 1
Primary
Nodo 3
Secondary
Region 1 Region 2
Alta disponibilità - Cross Regions
Capitolo 4b
Sharding
Il set di dati supera la capacità di storage di un
singolo mongod
First Edition (1771)
3 Volumes
Fifteenth Edition (2010)
32 Volumes
Sharding permette scalabilità orizzontale
Capitolo 4c
L’approccio di MongoDB
Shard
Shard key
range
Elementi necessari per creare uno sharding
Mongod:
Mongos:
Mongo:
E’ il processo server che esegue il database e che rende disponibile tutte i servizi
per la creazione di database, collections, l’inserimento di documenti e le relative
funzioni di interrogazione
E’ il servizio di routing per processare le query provenienti dallo strato applicativo e che
determina la locazione dei dati richiesti in una configurazione Sharding.
Rappresenta l’eseguibile per avviare la shell Javascript per interagire con database,
collezioni e documenti che possono essere interrogati e manipolati da riga di comando.
Config Server:
Rappresenta i server contenenti i metadati relativi alle chiavi di sharding e alla
distribuzione delle informazioni.
Distribuzione dei dati
( Sharding )
Shard
Primary
Secondary
Secondary
Shard
orMongod
• E’ un nodo di un cluster
• Può essere un singolo mongod oppure un Replica Set
orNode 1
Secondary
Config
Server
Node 1
Secondary
Config
Server
Node 1
Secondary
Config
Server
Node 1
Secondary
Config
Server
Config Server
• Conserva il range di chunck e la loro localizzazione
• In un’architettura possono essere da 1 a 3 Nodi di server
Config
• Non possono essere configurati come Replica-Set
Mongos
• Funge da router / balancer
• Non ci sono dati presenti localmente (Informazioni utili sono conservati nel
configgi server)
• Un’architettura può essere composta da 1 o più Mongos
App Server App Server App Server App Server
Mongos Mongos Mongos
Oppure
Esempio architettura Sharding
App Server
Mongos
App Server
Mongos
App Server
Mongos
Config
Server
Config
Server
Config
Server
Shard 1 Shard 2 Shard 3
Sharding: Alta disponibilità Cross AZ
App Server
Mongos
App Server
Mongos
App Server
Mongos
Config
Server
Config
Server
Config
Server
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
Secondary
AZ -1
AZ -2
Shard1 Shard2 Shard3
App Server
Mongos
Sharding: Alta disponibilità Cross Region
App Server
Mongos
App Server
Mongos
App Server
Mongos
Config
Server
Config
Server
Config
Server
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
Secondary
Region 1
Shard1 Shard2 Shard3
App Server
Mongos
Region 2
Capitolo 4d
Sharding Key
• La chiave di Shard è immutabile
• I valori della chiave di Shard sono immutabile
• La chiave di Shard deve essere indicizzata
• La chiave di Shard è limitata ad una dimensione di 512 bytes
• La chiave di Shard è usata per definire il routing delle query
	 - Usare un campo usato nelle query
• Solamente la shard key può essere unica tra tutti gli shards
	 - `_id` è unico all’interno del singolo shard
Sharding Key
Capitolo 4e
Sharding Key - Funzionamento
Partitioning
E’ importante ricordare che il partizionamento degli oggetti
è basato su un range
I chunk sono una partizione di questo range
Divisione Chunk
• Un chunk viene suddiviso quando supera la dimensione massima

• Non ci sono punti di divisione se i documenti hanno la stessa
shared key

• Lo split di un chunk è un’operazione logica (nessun dato viene
spostato)
Balancing
• Il Balancer è eseguito all’interno di Mongos
• Quando la differenza tra lo shard più denso e la densità degli altri shard
supera la soglia di migrazione, il processo di bilanciamento viene avviato
Cleanup
• Lo shard sorgente cancella i dati

• Mongos rimuove il lock dal balancer dopo che l’operazione di
rimozione dei chunk è stata completata.
Capitolo 5
Backup
MMS Backup
MMS & Backup Agent
MMS
Shard 1 Shard 2 Shard 3
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Snapshot Backup
EC2 EBS EBS Snapshot
Lo snapshot del volume EBS con journaling attivato è possibile
se e solo se il file di journal risiede nello stesso volume EBS dei dati MongoDB
db.runCommand({fsync:1,lock:1})
Capitolo 6
Esempio di Architettura su AWS
Config
Server
AZ-1
Shard1 Shard2 Shard3
AZ-2
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Mongod
primary
Mongod
Secondary
Mongod
Secondary
Config
Server
Config
Server
MMS & Backup Agent
Autoscaling
App Server
+ Mongos
CloudWatch
SNS
MMS
Monitoring
Monitoring&Backup
Users
Tecnici
Capitolo 7
Schema Design
Contacts

{

“_id”: 2,

“name”: “Steven Jobs”,

“title”: “VP, New Product Development”,

“company”: “Apple Computer”,

“phone”: “408-996-1010”,

“address_id”: 1
}

Addresses

{

	 “_id”: 1,

	 “street”: “10260 Bandley Dr”,

	 “city”: “Cupertino”,

	 “state”: “CA”,

	 “zip_code”: ”95014”,

	 “country”: “USA”

}

References
Embedding
Contacts
{
“_id”: 2,
“name”: “Steven Jobs”,
“title”: “VP, New Product Development”,
“company”: “Apple Computer”,
“address”: {
	 “street”: “10260 Bandley Dr”,
	 “city”: “Cupertino”,
	 “state”: “CA”,
	 “zip_code”: ”95014”,
	 “country”: “USA”
},
“phone”: “408-996-1010”
}
Relazionale vs Documents
Quali sono le differenze e perché?
Contact Address
Contact
• Name

• Company

• Title

• Phone
• Street

• City

• State

• Zip_code
• Name

• Company

• Title

• Address

• Street

• City

• State

• Zip_Code

• Phone
Flessibilità
{
“name”: “Steven Jobs”,
“title”: “VP, New Product Development”,
“company”: “Apple Computer”,
“address”: {
	 “street”: “10260 Bandley Dr”,
	 “city”: “Cupertino”,
	 “state”: “CA”,
	 “zip_code”: ”95014”
},
“phone”: “408-996-1010”
}
{
“name”: “Larry Page”,
“url”: “http://google.com/”,
“title”: “CEO”,
“company”: “Google!”,
“email”: “larry@google.com”,
“address”: {
“street”: “555 Bryant, #106”,
“city”: “Palo Alto”,
“state”: “CA”,
“zip_code”: “94301”
}
“phone”: “650-618-1499”,
“fax”: “650-330-0100”
}
Capitolo 7a
1:1
Contact
Groups
Twitter
• Name

• Location

• Web

• Bio
11 • Name

• Company

• Title
1:1 Schema Design
1:1 Schema Design
Contact Twitter
Contact Twitter
Twitter_id
Contact_id
1 1
1 1
Contact
• Name

• Company

• Title

• Twitter
Twitter
Può ridurre le operazioni di reperimento dell’informazione?
Raccomandazioni:
• Tutte le informazioni del contatto reperibili con un’unica
operazione
• Contatto Twitter Embedded nel documento principale
• Relazione padre - figlio ( contenute )
• Non ci sono dati duplicati
• Sono possibili query e creazione di indici anche in campi
embedded

Casi eccezionali
• Valutare la decisione dell’embedding quando ci sono
grandi volumi di informazioni
Contact
• Name

• Company

• Title

• Twitter
Twitter
1:1 Schema Design
Capitolo 7b
1:N
Contact Phones
• Type

• Number
N1• Name

• Company

• Title
1:N Schema Design
Contact Phones
Contact Phones
Phones_id: [ ]
Contact_id
1 N
1 N
Contact
• Name

• Company

• Title

• Phones
Phones
1:N Schema Design
Raccomandazioni:
• Tutte le informazioni del contatto reperibili con un’unica
operazione
• Il documento “Contact” può contenere multipli numeri di
telefono
• Relazione padre - figlio ( contenute )
• Sono possibili query e creazione di indici anche in campi
embedded ( Esempio {“phone.type”: “Mobile”}

Casi eccezionali
• Valutare la decisione dell’embedding quando ci sono
grandi volumi di informazioni
ContactContact
• Name

• Company

• Title

• Phones
Phones
1:N Schema Design
Capitolo 7b
N:N
Contact
• Name

• Company

• Title
Groups
• Name
NN
N:N Schema Design
Groups
• Name
GroupsContacts
• group_id

• contact_id
• Name

• Company

• Title
Contact
Join Table
N:N Schema Design
Groups
• Name
GroupsContacts
• group_id

• contact_id
• Name

• Company

• Title
Contact
Join Table
Conviene usare gli Array
N:N Schema Design
Group Contact
Group Contact
contacts_id: [ ]
Contact_id
N N
N N
Group
• Contact
Contact N N
Contact
• Groups
Groups N
Informazioni ridondanti in entrambi i casi per
mantenere le relazioni
Entrambe le referenze richiedono di essere aggiornate
per mantenere la consistenza
Informazioni ridondanti in entrambi i casi per
mantenere le relazioni
Entrambe le referenze richiedono di essere aggiornate
per mantenere la consistenza
N:N Schema Design
Raccomandazioni:
• Dipende dai casi:
• Semplice Address Book
• Contatti referenziano ai gruppi
• Corporate e-mail Group
• Gruppi embeddano i contatti per performance

Casi eccezionali
• Attenzione al limite di 16MB di un documento
• La crescita del volume di dati può avere impatti sulle
performance e nell’organizzazione dei dati
Group
• Contact
Contact N
Contact
• Groups
Groups
N:N Schema Design
Capitolo 8
MongoDB & EMR
Elastic Map-Reduce
Veloce deploy ed esecuzione di 

Hadoop su AWS
Supporta istanze Spot e Reserved
per ottimizzazione dei costi
Deploy su qualsiasi numero di nodi
del cluster Hadoop
Provision deployment su un numero
qualsiasi di nodi del cluster
Easy to Use
Basso costo
Sicuro
Affidabile
Scalabile
Flessibile
EMR & MongoDB
• Connettore MongoDB - Hadoop

• Accesso bidirezionale con MongoDB e Hadoop

• Supporta MapReduce, Hive, Pig e Streaming

• Read / Write da:

• MongoDB 

• BSON File backup
https://github.com/mongodb/mongo-hadoop
EMR & MongoDB
BSONBSON
Riferimenti utili
• https://aws.amazon.com/it/blogs/aws/mongodb-on-the-aws-cloud-new-
quick-start-reference-deployment/

• https://media.amazonwebservices.com/AWS_NoSQL_MongoDB.pdf

• http://docs.mongodb.org/manual/

• http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/
emr-what-is-emr.html

• http://www.zero12.it/integrare-mms-con-soluzioni-enterprise-di-
archiviazione-dati/
Grazie!
@stefanodindo
Stefano Dindo

More Related Content

What's hot

Database NoSql Document Oriented - MongoDB
Database NoSql Document Oriented - MongoDBDatabase NoSql Document Oriented - MongoDB
Database NoSql Document Oriented - MongoDBMatteo Merola
 
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 MongoDBStefano Dindo
 
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meetingguest67beeb9
 
How to develop modern web application - With no money and no Javascript
How to develop modern web application - With no money and no JavascriptHow to develop modern web application - With no money and no Javascript
How to develop modern web application - With no money and no JavascriptAndrea Tosato
 
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance Tuning
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningWebinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance Tuning
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningMongoDB
 
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...MongoDB
 
MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009Massimiliano Dessì
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009Massimiliano Dessì
 
Ricerche performanti con ElasticSearch
Ricerche performanti con ElasticSearchRicerche performanti con ElasticSearch
Ricerche performanti con ElasticSearchseeweb
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazioneEnrico Pirozzi
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileIvan Rossi
 
Presentazione Emc Data Domain Remota
Presentazione Emc Data Domain RemotaPresentazione Emc Data Domain Remota
Presentazione Emc Data Domain Remotamodestini
 
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDB
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDBAdvanced Database Models and Architectures: Big Data: MySQL VS MongoDB
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDBLuca Marignati
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewFabio Cozzolino
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterPar-Tec S.p.A.
 

What's hot (18)

Database NoSql Document Oriented - MongoDB
Database NoSql Document Oriented - MongoDBDatabase NoSql Document Oriented - MongoDB
Database NoSql Document Oriented - MongoDB
 
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
 
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meeting
 
How to develop modern web application - With no money and no Javascript
How to develop modern web application - With no money and no JavascriptHow to develop modern web application - With no money and no Javascript
How to develop modern web application - With no money and no Javascript
 
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance Tuning
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance TuningWebinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance Tuning
Webinar Italiano: Back-to-Basics: Sessione 8 - Monitoraggio e Performance Tuning
 
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
Creating Highly-Available MongoDB Microservices with Docker Containers and Ku...
 
MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 
Ricerche performanti con ElasticSearch
Ricerche performanti con ElasticSearchRicerche performanti con ElasticSearch
Ricerche performanti con ElasticSearch
 
PostgreSQL: Prima configurazione
PostgreSQL: Prima configurazionePostgreSQL: Prima configurazione
PostgreSQL: Prima configurazione
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Presentazione Emc Data Domain Remota
Presentazione Emc Data Domain RemotaPresentazione Emc Data Domain Remota
Presentazione Emc Data Domain Remota
 
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDB
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDBAdvanced Database Models and Architectures: Big Data: MySQL VS MongoDB
Advanced Database Models and Architectures: Big Data: MySQL VS MongoDB
 
Bitcoin &amp; blockchain
Bitcoin &amp; blockchainBitcoin &amp; blockchain
Bitcoin &amp; blockchain
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure Overview
 
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL ClusterMySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
MySQL Tech Tour 2015 - Progettare, installare e configurare MySQL Cluster
 
Apache Parte 1
Apache Parte 1Apache Parte 1
Apache Parte 1
 
Apache Parte 2
Apache Parte 2Apache Parte 2
Apache Parte 2
 

Viewers also liked

Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Amazon Web Services
 
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendale
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendaleGoogle Glass e le tecnologie indossabili: alcuni esempi in ambito aziendale
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendaleStefano Dindo
 
Land & bits un terreno comune per l’innovazione sociale
Land & bits un terreno comune per l’innovazione socialeLand & bits un terreno comune per l’innovazione sociale
Land & bits un terreno comune per l’innovazione socialeFlavio Fabiani
 
Il Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupIl Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupRobin Good
 
Mobile application il caso barilla i pasta
Mobile application   il caso barilla i pastaMobile application   il caso barilla i pasta
Mobile application il caso barilla i pastaKettydo
 
Cloud App: Vantaggi per il Business
Cloud App: Vantaggi per il BusinessCloud App: Vantaggi per il Business
Cloud App: Vantaggi per il BusinessStefano Dindo
 
Social Media ROI: Return On Influence
Social Media ROI: Return On InfluenceSocial Media ROI: Return On Influence
Social Media ROI: Return On InfluenceStefania Fussi
 
Digital Strategic Planner Manifesto
Digital Strategic Planner ManifestoDigital Strategic Planner Manifesto
Digital Strategic Planner ManifestoStefania Fussi
 
Ennova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectEnnova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectStefano Grigoletti
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentStefano Dindo
 
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.Mobile Marketing Workshop 2015 | Perché. Cosa. Come.
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.Stefano Grigoletti
 
Marketing business to business and Mobile marketing
Marketing business to business and Mobile marketingMarketing business to business and Mobile marketing
Marketing business to business and Mobile marketingStefano Grigoletti
 
Coworking al Box 85 - 120 Euro/mese
Coworking al Box 85 - 120 Euro/meseCoworking al Box 85 - 120 Euro/mese
Coworking al Box 85 - 120 Euro/meseTamarìn Development
 
Business Agility - come competere nell'Era Digitale
Business Agility - come competere nell'Era DigitaleBusiness Agility - come competere nell'Era Digitale
Business Agility - come competere nell'Era DigitaleStefano Dindo
 
Introduzione all'Agile Coaching
Introduzione all'Agile CoachingIntroduzione all'Agile Coaching
Introduzione all'Agile CoachingStefano Dindo
 

Viewers also liked (20)

Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?
 
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendale
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendaleGoogle Glass e le tecnologie indossabili: alcuni esempi in ambito aziendale
Google Glass e le tecnologie indossabili: alcuni esempi in ambito aziendale
 
Land & bits un terreno comune per l’innovazione sociale
Land & bits un terreno comune per l’innovazione socialeLand & bits un terreno comune per l’innovazione sociale
Land & bits un terreno comune per l’innovazione sociale
 
Il Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupIl Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information Startup
 
Mobile application il caso barilla i pasta
Mobile application   il caso barilla i pastaMobile application   il caso barilla i pasta
Mobile application il caso barilla i pasta
 
Cloud App: Vantaggi per il Business
Cloud App: Vantaggi per il BusinessCloud App: Vantaggi per il Business
Cloud App: Vantaggi per il Business
 
Social Media ROI: Return On Influence
Social Media ROI: Return On InfluenceSocial Media ROI: Return On Influence
Social Media ROI: Return On Influence
 
Digital Strategic Planner Manifesto
Digital Strategic Planner ManifestoDigital Strategic Planner Manifesto
Digital Strategic Planner Manifesto
 
Ennova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectEnnova_Digital Signage_Market_project
Ennova_Digital Signage_Market_project
 
Envisioning web
Envisioning webEnvisioning web
Envisioning web
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & Development
 
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.Mobile Marketing Workshop 2015 | Perché. Cosa. Come.
Mobile Marketing Workshop 2015 | Perché. Cosa. Come.
 
Web marketing turistico internazionale: 5 strategie con consigli pratici
Web marketing turistico internazionale: 5 strategie con consigli praticiWeb marketing turistico internazionale: 5 strategie con consigli pratici
Web marketing turistico internazionale: 5 strategie con consigli pratici
 
Marketing business to business and Mobile marketing
Marketing business to business and Mobile marketingMarketing business to business and Mobile marketing
Marketing business to business and Mobile marketing
 
Coworking al Box 85 - 120 Euro/mese
Coworking al Box 85 - 120 Euro/meseCoworking al Box 85 - 120 Euro/mese
Coworking al Box 85 - 120 Euro/mese
 
Digital trends
Digital trendsDigital trends
Digital trends
 
Business Agility - come competere nell'Era Digitale
Business Agility - come competere nell'Era DigitaleBusiness Agility - come competere nell'Era Digitale
Business Agility - come competere nell'Era Digitale
 
findmyfab_project chart 2016
findmyfab_project chart 2016findmyfab_project chart 2016
findmyfab_project chart 2016
 
Introduzione all'Agile Coaching
Introduzione all'Agile CoachingIntroduzione all'Agile Coaching
Introduzione all'Agile Coaching
 
Storytelling & Gaming
Storytelling & GamingStorytelling & Gaming
Storytelling & Gaming
 

Similar to Deploy MongoDB su Infrastruttura Amazon Web Services

Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]gioacchinolonardo
 
Techbar nodejs+mongodb+mongoose
Techbar nodejs+mongodb+mongooseTechbar nodejs+mongodb+mongoose
Techbar nodejs+mongodb+mongooseMassimo Biagioli
 
Elasticsearch a quick introduction
Elasticsearch a quick introductionElasticsearch a quick introduction
Elasticsearch a quick introductionFederico Panini
 
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 2MongoDB
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkAlessio Biasiutti
 
MongoDB
MongoDBMongoDB
MongoDBNaLUG
 
Drupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupalDay
 
Session 02 - schema design e architettura
Session 02 - schema design e architetturaSession 02 - schema design e architettura
Session 02 - schema design e architetturaMongoDB
 
Code Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryCode Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryAndrea Saltarello
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side JavascriptMatteo Napolitano
 
2014 it - app dev series - 04 - indicizzazione
2014   it - app dev series - 04 - indicizzazione2014   it - app dev series - 04 - indicizzazione
2014 it - app dev series - 04 - indicizzazioneMongoDB
 
MongoDB - Back to Basics 2017 - Introduzione a NoSQL
MongoDB - Back to Basics 2017 - Introduzione a NoSQLMongoDB - Back to Basics 2017 - Introduzione a NoSQL
MongoDB - Back to Basics 2017 - Introduzione a NoSQLMassimo Brignoli
 

Similar to Deploy MongoDB su Infrastruttura Amazon Web Services (20)

Linuxday2013
Linuxday2013 Linuxday2013
Linuxday2013
 
Hadoop SAR
Hadoop SARHadoop SAR
Hadoop SAR
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
MyTask
MyTaskMyTask
MyTask
 
Techbar nodejs+mongodb+mongoose
Techbar nodejs+mongodb+mongooseTechbar nodejs+mongodb+mongoose
Techbar nodejs+mongodb+mongoose
 
Excel development e sql 2.1
Excel development e sql   2.1Excel development e sql   2.1
Excel development e sql 2.1
 
Elasticsearch a quick introduction
Elasticsearch a quick introductionElasticsearch a quick introduction
Elasticsearch a quick introduction
 
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
 
SQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with SparkSQL Saturday 2019 - Event Processing with Spark
SQL Saturday 2019 - Event Processing with Spark
 
MongoDB
MongoDBMongoDB
MongoDB
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Drupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e DrupalDrupal Day 2011 - Node.js e Drupal
Drupal Day 2011 - Node.js e Drupal
 
Session 02 - schema design e architettura
Session 02 - schema design e architetturaSession 02 - schema design e architettura
Session 02 - schema design e architettura
 
couchbase mobile
couchbase mobilecouchbase mobile
couchbase mobile
 
Code Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryCode Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled Repository
 
Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side Javascript
 
Scala e i database
Scala e i databaseScala e i database
Scala e i database
 
2014 it - app dev series - 04 - indicizzazione
2014   it - app dev series - 04 - indicizzazione2014   it - app dev series - 04 - indicizzazione
2014 it - app dev series - 04 - indicizzazione
 
MongoDB - Back to Basics 2017 - Introduzione a NoSQL
MongoDB - Back to Basics 2017 - Introduzione a NoSQLMongoDB - Back to Basics 2017 - Introduzione a NoSQL
MongoDB - Back to Basics 2017 - Introduzione a NoSQL
 

More from Stefano Dindo

Big Data: Come usare le Machine Learning per migliorare il business
Big Data: Come usare le Machine Learning per migliorare il businessBig Data: Come usare le Machine Learning per migliorare il business
Big Data: Come usare le Machine Learning per migliorare il businessStefano Dindo
 
Business Agility - Come competere nell'Era Digitale
Business Agility - Come competere nell'Era DigitaleBusiness Agility - Come competere nell'Era Digitale
Business Agility - Come competere nell'Era DigitaleStefano Dindo
 
MongoDB Solution for Internet of Things and Big Data
MongoDB Solution for Internet of Things and Big DataMongoDB Solution for Internet of Things and Big Data
MongoDB Solution for Internet of Things and Big DataStefano Dindo
 
Come creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureCome creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureStefano Dindo
 
Proximity marketing
Proximity marketing Proximity marketing
Proximity marketing Stefano Dindo
 
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...Stefano Dindo
 
Cultura Digitale e Data Design
Cultura Digitale e Data DesignCultura Digitale e Data Design
Cultura Digitale e Data DesignStefano Dindo
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Stefano Dindo
 
Business attraverso i Big Data
Business attraverso i Big DataBusiness attraverso i Big Data
Business attraverso i Big DataStefano Dindo
 
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...Stefano Dindo
 
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...Stefano Dindo
 
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglio
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglioMobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglio
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglioStefano Dindo
 
Better Software 2012 - Dall'Idea all'App
Better Software 2012  - Dall'Idea all'AppBetter Software 2012  - Dall'Idea all'App
Better Software 2012 - Dall'Idea all'AppStefano Dindo
 
Google Wave il nuovo modo di comunicare
Google Wave il nuovo modo di comunicareGoogle Wave il nuovo modo di comunicare
Google Wave il nuovo modo di comunicareStefano Dindo
 

More from Stefano Dindo (15)

Big Data: Come usare le Machine Learning per migliorare il business
Big Data: Come usare le Machine Learning per migliorare il businessBig Data: Come usare le Machine Learning per migliorare il business
Big Data: Come usare le Machine Learning per migliorare il business
 
Business Agility - Come competere nell'Era Digitale
Business Agility - Come competere nell'Era DigitaleBusiness Agility - Come competere nell'Era Digitale
Business Agility - Come competere nell'Era Digitale
 
MongoDB Solution for Internet of Things and Big Data
MongoDB Solution for Internet of Things and Big DataMongoDB Solution for Internet of Things and Big Data
MongoDB Solution for Internet of Things and Big Data
 
Come creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud SicureCome creare infrastrutture Cloud Sicure
Come creare infrastrutture Cloud Sicure
 
Proximity marketing
Proximity marketing Proximity marketing
Proximity marketing
 
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...
Proximity Marketing - che cos'è, come funziona e come realizzarlo tecnologica...
 
Cultura Digitale e Data Design
Cultura Digitale e Data DesignCultura Digitale e Data Design
Cultura Digitale e Data Design
 
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
Internet of Things e manutenzione a distanza: 
disponibilità di nuove tecnolo...
 
Business attraverso i Big Data
Business attraverso i Big DataBusiness attraverso i Big Data
Business attraverso i Big Data
 
Overview di MongoDB
Overview di MongoDBOverview di MongoDB
Overview di MongoDB
 
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...
Keep Calm & dai uno sguardo al futuro con nuove strategie di relazione con gl...
 
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...
Logstash: Progetto open per l'analisi dei log in tempo reale di architetture ...
 
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglio
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglioMobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglio
Mobile & Cloud: quali servizi sono disponibili e come sfruttarli al meglio
 
Better Software 2012 - Dall'Idea all'App
Better Software 2012  - Dall'Idea all'AppBetter Software 2012  - Dall'Idea all'App
Better Software 2012 - Dall'Idea all'App
 
Google Wave il nuovo modo di comunicare
Google Wave il nuovo modo di comunicareGoogle Wave il nuovo modo di comunicare
Google Wave il nuovo modo di comunicare
 

Deploy MongoDB su Infrastruttura Amazon Web Services