SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
{“Developpeur” : “Découvre Mongo”}
@dwursteisen : David (SOAT)
@karesti : Katia (Freelance)
@tgrall : Tug (MongoDB)
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Hand’s On Lab
•Introduction
•MongoDB : Kesako?
•L’atelier
•Contenu
•Code
•Application
•A vous de jouer!
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
{“about” : “us”}
Katia Aresti
•@karesti
•Freelance
David Wursteisen
•@dwursteisen
•So@t
Tugdual Grall
•@tgrall
•MongoDB
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
MongoDB
Document Database Open-SourceGeneral Purpose
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
MongoDB
•Document : JSON / Flexibilité
•Open Source : tout est sur GitHub
•Written in C++
•Sérialisation en BSON : efficacité / tapage
•Montée en charge horizontale : Sharding
•Haute Disponibilité : Réplication
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
De nombreux drivers
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Cet Atelier
Mongo Shell Java Code/App
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Vocabulaire
RDBMS MongoDB
Table, View ➜ Collection
Row ➜ Document
Index ➜ Index
Join ➜ Embedded Document
Foreign Key ➜ Reference
Partition ➜ Shard
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Document?
Modèle Relationnel Modèle Document
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
{
"title" : "Hello World",
"body" : "This is my first blog post",
"date" : ISODate("2014-03-20T00:00:00Z"),
"author" : {"id" : “jdoe","name" : "John Doe"},
"tags" : [ “adventure”, "mongodb"
],
"comments" : [
{
"date" : ISODate("2013-03-22T00:00:00Z"),
"by" : {
"id" : "csmith",
"name" : "Charles Smith"
},
"text" : "this is the comment"
}
]
}
Document
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Ce que nous allons voir
•Installation
•CRUD
•Recherche Full Text
•Requêtes Geospatiales
•Aggregation Framework
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Ce que nous ne verrons pas
•Haute Disponibilité / Réplication
•Sharding
•Administration
•Management/Monitoring
•Sauvegarde/Restauration
•Sécurité
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
MongoDB Architecture
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
MMS : MongoDB Management Service
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Etape 1 : Atelier
•Copier le contenu de la clé sur votre disque
•Ouvrir:
•/devoxx-2014/tutorial.html
•Suivre les étapes de l’atelier
!
!
•Note: toutes les sources sont disponibles sur GitHub
•https://github.com/dwursteisen/atelier-mongodb-devoxx
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Etape 2 : Installation
$ tar -xvf mongodb-osx-x86_64-2.6.0.tgz!
$ cd mongodb-osx-x86_64-2.6.0/bin!
$ mkdir –p /data/db!
$ ./mongod
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Etape 2 : Tester
:~ $ mongo!
MongoDB shell version: 2.6.0!
connecting to: test!
> db.test.insert({text: 'Welcome to MongoDB'})!
> db.test.find().pretty()!
{!
! "_id" : ObjectId("51c34130fbd5d7261b4cdb55"),!
! "text" : "Welcome to MongoDB"!
}
@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Etape 3: Découvrir et Coder
•Suivre l’atelier
•Créer des Services REST
•Les Consommer dans une application
@YourTwitterHandle@dwursteisen | @karesti | @tgrall#DevoxxMongoDB
D
em
o
@YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Com
prendre
Comprendre ce qu’est MongoDB…
@YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Apprendre
Apprendre à utiliser MongoDB
@YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Deployer
Deployer MongoDB chez vous!!!
@YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB
Q
&
A

Weitere ähnliche Inhalte

Ähnlich wie Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6

Ähnlich wie Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6 (20)

Lausanne JUG - Elasticsearch
Lausanne JUG - ElasticsearchLausanne JUG - Elasticsearch
Lausanne JUG - Elasticsearch
 
Poitou charentes JUG - Elasticsearch
Poitou charentes JUG - ElasticsearchPoitou charentes JUG - Elasticsearch
Poitou charentes JUG - Elasticsearch
 
Lyon JUG - Elasticsearch
Lyon JUG - ElasticsearchLyon JUG - Elasticsearch
Lyon JUG - Elasticsearch
 
Comment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec dockerComment développer un PaaS Java en 30 minutes avec docker
Comment développer un PaaS Java en 30 minutes avec docker
 
Elasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUGElasticsearch - Montpellier JUG
Elasticsearch - Montpellier JUG
 
Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012Elasticsearch - OSDC France 2012
Elasticsearch - OSDC France 2012
 
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. ...
 
Finist JUG - Elasticsearch
Finist JUG - ElasticsearchFinist JUG - Elasticsearch
Finist JUG - Elasticsearch
 
Nantes JUG - Elasticsearch
Nantes JUG - ElasticsearchNantes JUG - Elasticsearch
Nantes JUG - Elasticsearch
 
Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
Container Day 2016 - De la construction au déploiement d’applications avec de...
Container Day 2016 - De la construction au déploiement d’applications avec de...Container Day 2016 - De la construction au déploiement d’applications avec de...
Container Day 2016 - De la construction au déploiement d’applications avec de...
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
Paris Container Day 2016 : De la construction au déploiement d’applications...
Paris Container Day 2016 :  De la construction au déploiement d’applications...Paris Container Day 2016 :  De la construction au déploiement d’applications...
Paris Container Day 2016 : De la construction au déploiement d’applications...
 
Normandy JUG - Elasticsearch
Normandy JUG - ElasticsearchNormandy JUG - Elasticsearch
Normandy JUG - Elasticsearch
 
Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...Paris Container Day 2016 : Architecture microservices hautement disponible au...
Paris Container Day 2016 : Architecture microservices hautement disponible au...
 
NodeJs in real life
NodeJs in real lifeNodeJs in real life
NodeJs in real life
 
Paris data geek - Elasticsearch
Paris data geek - ElasticsearchParis data geek - Elasticsearch
Paris data geek - Elasticsearch
 
Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2
 
Back from MS Ignite 2019 content service projet cortex
Back from MS Ignite 2019 content service projet cortexBack from MS Ignite 2019 content service projet cortex
Back from MS Ignite 2019 content service projet cortex
 

Mehr von Tugdual Grall

Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
Tugdual Grall
 

Mehr von Tugdual Grall (20)

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
 
Big Data Journey
Big Data JourneyBig Data Journey
Big Data Journey
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi Workshop
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
MongoDB and Hadoop
MongoDB and HadoopMongoDB and Hadoop
MongoDB and Hadoop
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglot
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema Design
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDB
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB Application
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
 
Neotys conference
Neotys conferenceNeotys conference
Neotys conference
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
 
Big Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQLBig Data Paris : Hadoop and NoSQL
Big Data Paris : Hadoop and NoSQL
 

Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6

  • 1. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB {“Developpeur” : “Découvre Mongo”} @dwursteisen : David (SOAT) @karesti : Katia (Freelance) @tgrall : Tug (MongoDB)
  • 2. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Hand’s On Lab •Introduction •MongoDB : Kesako? •L’atelier •Contenu •Code •Application •A vous de jouer!
  • 3. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB {“about” : “us”} Katia Aresti •@karesti •Freelance David Wursteisen •@dwursteisen •So@t Tugdual Grall •@tgrall •MongoDB
  • 4. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB MongoDB Document Database Open-SourceGeneral Purpose
  • 5. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB MongoDB •Document : JSON / Flexibilité •Open Source : tout est sur GitHub •Written in C++ •Sérialisation en BSON : efficacité / tapage •Montée en charge horizontale : Sharding •Haute Disponibilité : Réplication
  • 6. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB De nombreux drivers
  • 7. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Cet Atelier Mongo Shell Java Code/App
  • 8. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Vocabulaire RDBMS MongoDB Table, View ➜ Collection Row ➜ Document Index ➜ Index Join ➜ Embedded Document Foreign Key ➜ Reference Partition ➜ Shard
  • 9. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Document? Modèle Relationnel Modèle Document
  • 10. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB { "title" : "Hello World", "body" : "This is my first blog post", "date" : ISODate("2014-03-20T00:00:00Z"), "author" : {"id" : “jdoe","name" : "John Doe"}, "tags" : [ “adventure”, "mongodb" ], "comments" : [ { "date" : ISODate("2013-03-22T00:00:00Z"), "by" : { "id" : "csmith", "name" : "Charles Smith" }, "text" : "this is the comment" } ] } Document
  • 11. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Ce que nous allons voir •Installation •CRUD •Recherche Full Text •Requêtes Geospatiales •Aggregation Framework
  • 12. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Ce que nous ne verrons pas •Haute Disponibilité / Réplication •Sharding •Administration •Management/Monitoring •Sauvegarde/Restauration •Sécurité
  • 13. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB MongoDB Architecture
  • 14. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB MMS : MongoDB Management Service
  • 15. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Etape 1 : Atelier •Copier le contenu de la clé sur votre disque •Ouvrir: •/devoxx-2014/tutorial.html •Suivre les étapes de l’atelier ! ! •Note: toutes les sources sont disponibles sur GitHub •https://github.com/dwursteisen/atelier-mongodb-devoxx
  • 16. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Etape 2 : Installation $ tar -xvf mongodb-osx-x86_64-2.6.0.tgz! $ cd mongodb-osx-x86_64-2.6.0/bin! $ mkdir –p /data/db! $ ./mongod
  • 17. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Etape 2 : Tester :~ $ mongo! MongoDB shell version: 2.6.0! connecting to: test! > db.test.insert({text: 'Welcome to MongoDB'})! > db.test.find().pretty()! {! ! "_id" : ObjectId("51c34130fbd5d7261b4cdb55"),! ! "text" : "Welcome to MongoDB"! }
  • 18. @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Etape 3: Découvrir et Coder •Suivre l’atelier •Créer des Services REST •Les Consommer dans une application
  • 19. @YourTwitterHandle@dwursteisen | @karesti | @tgrall#DevoxxMongoDB D em o
  • 20. @YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Com prendre Comprendre ce qu’est MongoDB…
  • 21. @YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Apprendre Apprendre à utiliser MongoDB
  • 22. @YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Deployer Deployer MongoDB chez vous!!!
  • 23. @YourTwitterHandle#DVXFR14{session hashtag} @dwursteisen | @karesti | @tgrall#DevoxxMongoDB Q & A