SlideShare une entreprise Scribd logo
1  sur  70
Stefano Dindo
@stefanodindo
7,000,000+
MongoDB Downloads
150,000+
Online Education Registrants
25,000+
MongoDB User Group Members
25,000+
MongoDB Days Attendees
20,000+
MongoDB Management Service (MMS) Users
General Purpose Document Database Open Source
MongoDB
Valore di MongoDB
Strumento per
l’innovazione di nuove app
Migliore esperienza
utente
Time to market più
veloce
Riduzione del TCO
{ !
_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
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
Installazione e primo database
Terminologia
SQL - Like Corrispettivo in MongoDB
Database Database
Tabella Collections
Riga Documents
Colonna Field
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
Terminologia
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.
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://downloads-distro.mongodb.org/repo/ubuntu-upstart dist
10gen' | sudo tee /etc/apt/sources.list.d/mongodb.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.4.3
Semplici comandi per gestire MongoDB
sudo service mongod start
sudo chkconfig mongod on
sudo service mongod stop
1
2
3
dopo l’avvio del server mongoDB verificare lo stato di avvio consultando il log
!
!
/var/log/mongodb/mongod.log
MongoDB progettato per il Cloud
AWS Marketplace fornisce delle AMI con MongoDB già configurato
Perchè questo?
Principali Comandi:
use <nome db>
show collections
db.<nomeCollection>.insert({…})
db.<nomeCollection>.findOne()
db.<nomeCollection>.update(<criterio>, {…})
db.<nomeCollection>.remove(<criterio>, {…})
Tips & Tricks
mongorc.js
1 Eseguire Javascript direttamente in shell
2 mongorc.js : per l’esecuzione di script all’avvio della shell
Query
find({…})
db.<nomeCollection>.find({<criterio>},{return key})
{ !
custom_id: “A123”,!
amount: 300,!
status: “D”!
}!
productsold
db.productsold.find({status: “D”})
{ !
custom_id: “A123”,!
amount: 500,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 250,!
status: “A”!
}!
{ !
custom_id: “B212”,!
amount: 200,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 300,!
status: “D”!
}!
find({…})
db.<nomeCollection>.find({<criterio>},{return key})
{ !
custom_id: “A123”,!
amount: 300!
}!
productsold
db.productsold.find({status: “D”}, 

{customer_id: 1, amount: 1,_id: 0 })
{ !
custom_id: “A123”,!
amount: 500,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 250,!
status: “A”!
}!
{ !
custom_id: “B212”,!
amount: 200,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 300,!
status: “D”!
}!
Alcuni operatori per query condizionali
$lt: < $lte: <= $gt: > $gte: >= $or
{ !
custom_id: “A123”,!
amount: 500,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 250,!
status: “A”!
}!
{ !
custom_id: “B212”,!
amount: 200,!
status: “A”!
}!
{ !
custom_id: “A123”,!
amount: 300,!
status: “D”!
}!
db.productsold.find(

{amount: {“$gte”: 200,“$lte”: 250 }})
{ !
custom_id: “A123”,!
amount: 250,!
status: “A”!
}!
{ !
custom_id: “B212”,!
amount: 200,!
status: “A”!
}!
productsold
Query su embedded document
{ !
_id: ‘Objectid(“c75r4bb6…”)’,!
name: {

! ! first: ‘Stefano’!
!! last: ‘Dindo’},!
age: 30!
}!
db.user.find({name: {first: “Stefano”, last: “Dindo”}})
db.user.find({name.first: “Stefano”, name.last: “Dindo”})
oppure
Alta affidabilità e ridondanza dei dati
• Quanto punti di failure vuoi avere?
• Quanti sonni tranquilli vuoi dormire?
• Mai avuto problemi di connettività?
• Più nodi facilitano l’uso dei dati in modo diverso
Perchè replica dei dati
Replica Set
Nodo 1 Nodo 2
Nodo 3
Creazione ReplicaSet
Codice configurazione ReplicaSet - 1 di 2
1 Definire il nome del ReplicaSet
2 Avviare mongodb con l’opzione ReplicaSet nel 1° nodo
3 Avviare mongodb con l’opzione ReplicaSet nel 2° nodo
4 Avviare mongodb con l’opzione ReplicaSet nel 3° nodo
$mongod --replSet zero12rs -f mongod.conf --fork
$mongod --replSet zero12rs -f mongod.conf --fork
$mongod --replSet zero12rs -f mongod.conf --fork
4 Eseguire la configurazione effettiva dei nodi replicaSet
> conf = {
_id : "zero12rs”,
members : [
{_id : 0, host : "A”},
{_id : 1, host : "B"},
{_id : 2, host : "C”},
	 ]
}
!
> rs.initiate(conf)
Codice configurazione ReplicaSet - 2 di 2
Nodo 1
Secondary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
Replica Replica
ReplicaSet - 1 di 3
Nodo 1
Secondary
Nodo 2
Secondary
Nodo 3
Primary
Elezione primary
XFAIL !
ReplicaSet - 2 di 3
Nodo 1
Primary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
XFAIL !
Replica
ReplicaSet - 3 di 3
Nodo 1
Primary
Nodo 2
Secondary
Nodo 3
Primary
Heartbeat
XFAIL !
Replica
ReplicaSet - 3 di 3
Come funziona la replica
Come funziona la replica ?
oplog: contiene la lista di tutte le operazioni di scrittura e aggiornamenti fatti nel nodo primario
6 7 8 9 10 11 12 13
6 7 8 9 10
6 7
Primary
Secondary #1
Secondary #2
query per oplogs {$gt: 10}
query per oplogs {$gt: 7}
Sviluppare con replicaSet
Secondary Secondary
Primary
Client Application
Driver
Write
Read
ReplicaSet per gli sviluppatori
Secondary Secondary
Primary
Client Application
Driver
Write
Read
Read
ReplicaSet per gli sviluppatori
• Network acknowledgement
• Wait for error
• Wait for journal sync
• Wait for replication
Write Concern
Write concern è una configurazione del client usata per definire quanto sicuro deve essere
la scrittura prima che l’applicazione possa continuare le proprie attività.
Write Concern
acknowledged unacknowledged
Non funziona tramite shell
Possibile tramite librerie programm
write
Driver
Primary
apply in
memory
Write Concern: unaknoledged
getLastError
Driver
Primary
apply in
memory
Write Concern: aknoledged
( in attesa di errori)
Driver
Primary
write to
journal
apply in
memory
getLastError
write
j:true
Write Concern: journal Sync
Driver
Primary
Secondary
getLastError
write
w:2
replicate
apply in
memory
Write Concern: attesa per la replica
Tagging
• Controllare dove i dati vengono scritti e/o letti
• Ogni membro del RS può avere uno o più TAG
• tags: {dc: “ny”}
• tags: {dc: “ny”, rack: “zero12rack”}
• Permette di definire le regole di Write Concerns
• E’ possibile cambiare le politiche senza modificare il codice
{
_id : "zero12rs",
members : [
{_id : 0, host : "A", tags : {"dc": "ny"}},
{_id : 1, host : "B", tags : {"dc": "ny"}},
{_id : 2, host : "C", tags : {"dc": "sf"}},
{_id : 3, host : "D", tags : {"dc": "sf"}},
{_id : 4, host : "E", tags : {"dc": "cloud"}}],
settings : {
getLastErrorModes : {
allDCs : {"dc" : 3},
someDCs : {"dc" : 2}} }
}
> db.blogs.insert({...})
> db.runCommand({getLastError : 1, w : "someDCs"})
Esempio di Tagging
Driver
Primary (SF)
Secondary (NY)
getLastError
write
W:allDCs
Secondary (Cloud)
replicate
replicate
apply in
memory
Esempio di Tagging
Slave Delay
> conf = {
_id : "mySet”,
members : [
{_id : 0, host : "A”},
{_id : 1, host : "B"},
{_id : 2, host : "C”},
{_id : 3, host : "D", hidden : true},
{_id : 4, host : "E", hidden : true, slaveDelay : 3600}
	 ]
}
!
> rs.initiate(conf)
!
• Solamente il Primary ( conf. di default )
• Preferenza per il primario
• Solamente i secondari
• Preferenza ai secondari
• Il più vicino
Modalità di lettura da ReplicaSet
breve introduzione allo Sharding
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
Node 1
Secondary
Config
Server
Node 1
Secondary
Config
Server
Node 1
Secondary
Config
Server
Shard Shard Shard
Mongos
App Server
Mongos
App Server
Mongos
App Server
Esempio architettura Sharding
Scalabilità
• Aumento della capacità nel momento di necessità
!
• Distribuzione delle soluzioni su cloud, on-premises o miste
!
• Aumento delle performance semplice
replicaSet
e i #TAG
Distribuzione Globale
Primary:NYC
Secondary:NYC
Primary:LON
Primary:SYD
Secondary:LON
Secondary:NYC
Secondary:SYD
Secondary:LON
Secondary:SYD
MongoDB Management Service
MongoDB Management Service
Monitoraggio Collections & Reporting
Feed Attività
Monitoraggio risorse hardware
Monitoraggio database
1. Creare un account su mms.mongodb.com
2. Installare agent sui singoli nodi del database
3. Aggiungere gli hosts
4. Opzionale: aggiungere il monitoraggio risorse
hardware in ogni singolo nodo
5. Opzionale: abilitare funzioni di jogging e profilazione
!
Info: mms.mongodb.com/help/monitoring/install/
Setup
Perchè usarlo?
Trovare i colli di bottiglia
Cosa significa fare Tuning ?
• Identificare il problema e stabilire il comportamento accettabile
• Misurare le performance di componenti concorrenti
• Trovare il collo di bottiglia
• Rimuovere il collo di bottiglia
• Testare nuovamente e confermare le performance
- Uso della memoria
- Opcounters
- Lock %
- Queues
- Background flush average
- Replication stats
Metriche consigliate da controllare
Esempio utilità monitorare opscount
~1500 ops per minuto (opcounters)

0.1 MB per oggetto ( dimensione media )

!
~1500 ops/min / 60 secondi * 0.1 MB/op * 8b/B 



=~ 20 mbps banda richiesta
Stefano Dindo
@stefanodindoGRAZIE !!!

Contenu connexe

Tendances

Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side JavascriptMatteo Napolitano
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewFabio Cozzolino
 
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
 
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...MongoDB
 
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 Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009Massimiliano Dessì
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)jampslide
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009Massimiliano Dessì
 

Tendances (11)

Node.js - Server Side Javascript
Node.js - Server Side JavascriptNode.js - Server Side Javascript
Node.js - Server Side Javascript
 
Community Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure OverviewCommunity Tour 2009 Windows Azure Overview
Community Tour 2009 Windows Azure Overview
 
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
 
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
Back to Basics, webinar 3: Riflessioni sulla progettazione degli schemi nei d...
 
local::lib
local::liblocal::lib
local::lib
 
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 Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009MongoDB Scala Roma SpringFramework Meeting2009
MongoDB Scala Roma SpringFramework Meeting2009
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Perl Template Toolkit
Perl Template ToolkitPerl Template Toolkit
Perl Template Toolkit
 
MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009MongoDB SpringFramework Meeting september 2009
MongoDB SpringFramework Meeting september 2009
 

En vedette

Ennova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectEnnova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectStefano Grigoletti
 
Il Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupIl Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupRobin Good
 
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
 
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
 
Cloud App: Vantaggi per il Business
Cloud App: Vantaggi per il BusinessCloud App: Vantaggi per il Business
Cloud App: Vantaggi per 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
 
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
 
Digital Strategic Planner Manifesto
Digital Strategic Planner ManifestoDigital Strategic Planner Manifesto
Digital Strategic Planner ManifestoStefania Fussi
 
Social Media ROI: Return On Influence
Social Media ROI: Return On InfluenceSocial Media ROI: Return On Influence
Social Media ROI: Return On InfluenceStefania Fussi
 
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
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentStefano Dindo
 
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
 
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 a Caserta - Box85 da 120 Euro/mese
Coworking a Caserta - Box85 da 120 Euro/meseCoworking a Caserta - Box85 da 120 Euro/mese
Coworking a Caserta - Box85 da 120 Euro/meseTamarìn Development
 
Presentazione docenti sul web e l'introduzione digitale nel design didattico
Presentazione docenti sul web e l'introduzione digitale nel design didattico Presentazione docenti sul web e l'introduzione digitale nel design didattico
Presentazione docenti sul web e l'introduzione digitale nel design didattico Matteo Adamoli
 

En vedette (20)

Ennova_Digital Signage_Market_project
Ennova_Digital Signage_Market_projectEnnova_Digital Signage_Market_project
Ennova_Digital Signage_Market_project
 
Il Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information StartupIl Nuovo Giornalista è Una Information Startup
Il Nuovo Giornalista è Una Information Startup
 
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
 
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.
 
Cloud App: Vantaggi per il Business
Cloud App: Vantaggi per il BusinessCloud App: Vantaggi per il Business
Cloud App: Vantaggi per 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
 
Envisioning web
Envisioning webEnvisioning web
Envisioning web
 
Digital trends
Digital trendsDigital trends
Digital trends
 
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
 
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 Strategic Planner Manifesto
Digital Strategic Planner ManifestoDigital Strategic Planner Manifesto
Digital Strategic Planner Manifesto
 
Social Media ROI: Return On Influence
Social Media ROI: Return On InfluenceSocial Media ROI: Return On Influence
Social Media ROI: Return On Influence
 
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
 
Aperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & DevelopmentAperitivo Innovativo: Mobile Strategy & Development
Aperitivo Innovativo: Mobile Strategy & Development
 
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
 
findmyfab_project chart 2016
findmyfab_project chart 2016findmyfab_project chart 2016
findmyfab_project chart 2016
 
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 a Caserta - Box85 da 120 Euro/mese
Coworking a Caserta - Box85 da 120 Euro/meseCoworking a Caserta - Box85 da 120 Euro/mese
Coworking a Caserta - Box85 da 120 Euro/mese
 
Presentazione docenti sul web e l'introduzione digitale nel design didattico
Presentazione docenti sul web e l'introduzione digitale nel design didattico Presentazione docenti sul web e l'introduzione digitale nel design didattico
Presentazione docenti sul web e l'introduzione digitale nel design didattico
 
Storytelling & Gaming
Storytelling & GamingStorytelling & Gaming
Storytelling & Gaming
 

Similaire à MongoDB User Group Padova - Overviews iniziale su MongoDB

Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.jsMichele Capra
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Gian Maria Ricci
 
Sviluppo web dall'antichità all'avanguardia e ritorno
Sviluppo web  dall'antichità all'avanguardia e ritornoSviluppo web  dall'antichità all'avanguardia e ritorno
Sviluppo web dall'antichità all'avanguardia e ritornolordarthas
 
Flavio atzeni smau mi 2013
Flavio atzeni smau  mi 2013Flavio atzeni smau  mi 2013
Flavio atzeni smau mi 2013Paradisi63
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
Simple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingSimple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingFrancesca1980
 
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meetingguest67beeb9
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client Sabino Labarile
 
Le novita di MongoDB 3.6
Le novita di MongoDB 3.6Le novita di MongoDB 3.6
Le novita di MongoDB 3.6MongoDB
 
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript Stefano Marchisio
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacyTommaso Torti
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Railsjekil
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...azuredayit
 

Similaire à MongoDB User Group Padova - Overviews iniziale su MongoDB (20)

Introduzione a Node.js
Introduzione a Node.jsIntroduzione a Node.js
Introduzione a Node.js
 
Linuxday2013
Linuxday2013 Linuxday2013
Linuxday2013
 
Logging
LoggingLogging
Logging
 
Database Project in Visual Studio 2010
Database Project in Visual Studio 2010Database Project in Visual Studio 2010
Database Project in Visual Studio 2010
 
Sviluppo web dall'antichità all'avanguardia e ritorno
Sviluppo web  dall'antichità all'avanguardia e ritornoSviluppo web  dall'antichità all'avanguardia e ritorno
Sviluppo web dall'antichità all'avanguardia e ritorno
 
Flavio atzeni smau mi 2013
Flavio atzeni smau  mi 2013Flavio atzeni smau  mi 2013
Flavio atzeni smau mi 2013
 
#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)#dd12 Applicazioni a tre voci (Android e Domino)
#dd12 Applicazioni a tre voci (Android e Domino)
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Novità di Asp.Net 4.0
Novità di Asp.Net 4.0Novità di Asp.Net 4.0
Novità di Asp.Net 4.0
 
Simple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computingSimple Cloud API: accesso semplificato al cloud computing
Simple Cloud API: accesso semplificato al cloud computing
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
MongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework MeetingMongoDb and Scala SpringFramework Meeting
MongoDb and Scala SpringFramework Meeting
 
E suap - tecnologie client
E suap - tecnologie client E suap - tecnologie client
E suap - tecnologie client
 
Le novita di MongoDB 3.6
Le novita di MongoDB 3.6Le novita di MongoDB 3.6
Le novita di MongoDB 3.6
 
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript
 
Dominare il codice legacy
Dominare il codice legacyDominare il codice legacy
Dominare il codice legacy
 
Sviluppo web con Ruby on Rails
Sviluppo web con Ruby on RailsSviluppo web con Ruby on Rails
Sviluppo web con Ruby on Rails
 
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
Azure Day Rome Reloaded 2019 - Ingestion nel datalake passando tramite API Ma...
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 

Plus de 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
 
Introduzione all'Agile Coaching
Introduzione all'Agile CoachingIntroduzione all'Agile Coaching
Introduzione all'Agile CoachingStefano 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
 

Plus de Stefano Dindo (16)

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
 
Introduzione all'Agile Coaching
Introduzione all'Agile CoachingIntroduzione all'Agile Coaching
Introduzione all'Agile Coaching
 
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
 

MongoDB User Group Padova - Overviews iniziale su MongoDB