mongodb et elasticsearch, meilleurs ennemis ?
TRANSCRIPT
![Page 1: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/1.jpg)
MongoDB et Elasticsearch,
meilleurs ennemis ?
![Page 2: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/2.jpg)
<Nous />
![Page 3: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/3.jpg)
<Serli />
![Page 4: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/4.jpg)
Petit sondage ...
![Page 5: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/5.jpg)
MongoDB
![Page 6: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/6.jpg)
Elasticsearch
![Page 7: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/7.jpg)
Projets types Mongo et Elasticsearch
![Page 8: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/8.jpg)
Beaucoup de points communs
![Page 9: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/9.jpg)
Mongo ou Elasticsearch ?
![Page 10: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/10.jpg)
Comment choisir ?
![Page 11: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/11.jpg)
Popularité ?
![Page 12: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/12.jpg)
db-engines.com
![Page 13: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/13.jpg)
db-engines.com
![Page 14: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/14.jpg)
db-engines.com
![Page 15: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/15.jpg)
Pas très fiable ...
![Page 16: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/16.jpg)
Démarrage rapide
![Page 17: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/17.jpg)
Developer friendly
![Page 18: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/18.jpg)
Vers le Minimum Viable Product
![Page 19: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/19.jpg)
Installation d’un cluster Elasticsearch
2 minutes
cluster.name: my_cluster
$ ./elasticsearch$ ./elasticsearch
config/elasticsearch.yml
![Page 20: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/20.jpg)
Installation d’un replicaset Mongo
$ mongod --dbpath=~/mongo-data/0 --replSet rs0$ mongod --dbpath=~/mongo-data/1 --replSet rs0 --port 27018$ mongod --dbpath=~/mongo-data/2 --replSet rs0 --port 27019
rs.initiate()rs.add("<hostname>:27018")rs.add("<hostname>:27019")
mongo shell
2 minutes + 30 sec
![Page 21: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/21.jpg)
Démarrer un noeud Elasticsearch en Java
Settings settings = Settings. builder() .put("http.port", "9200") .put("network.host", "localhost") .put("path.home", "/tmp/es-unit-tests" ) .put("path.data", "/tmp/es-unit-tests-data" ) .build();
Node node = NodeBuilder. nodeBuilder() .local(true) .data(true) .clusterName( "elasticsearch-unit-tests" ) .settings(settings) .build();
node.start();
![Page 22: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/22.jpg)
Data INData OUT
![Page 23: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/23.jpg)
MongoDB
![Page 24: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/24.jpg)
MongoDB
![Page 25: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/25.jpg)
Index dans MongoDB
![Page 26: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/26.jpg)
Storage Engines (Mongo > 3.0)
![Page 27: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/27.jpg)
Ecriture dans Elasticsearch
![Page 28: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/28.jpg)
Near real-time ?
![Page 29: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/29.jpg)
Index Inversé
⇒
Terme Documents
brian #1
sens #2
vie #2 #1
![Page 30: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/30.jpg)
Mise à jour dans Elastic
![Page 31: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/31.jpg)
Relations
![Page 32: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/32.jpg)
Disclaimer
![Page 33: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/33.jpg)
Relations dans MongoDB
⇒
![Page 34: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/34.jpg)
Relations dans MongoDB
![Page 35: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/35.jpg)
⇒
Relations dans Elasticsearch
![Page 36: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/36.jpg)
Full Text Search
![Page 37: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/37.jpg)
Je veu fair du fotbal
![Page 38: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/38.jpg)
MongoDB Full Text Search
![Page 39: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/39.jpg)
Full Text Search
![Page 40: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/40.jpg)
Agrégations
![Page 41: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/41.jpg)
Les agrégations
![Page 42: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/42.jpg)
MongoDB aggregation pipeline
jsonjson
json
json
$match $unwind $group
$sum $avg $min $max
$addToSet$year $month$week
![Page 43: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/43.jpg)
Les agrégations dans Elasticsearch
2015
1974jsonjson
jsonjson
jsonjson
2015
batte sabre
1974
gun sabre
2015
sabre145.3
1974
gun2.4
sabre0.34
batte245.3
![Page 44: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/44.jpg)
Stockage de fichiers
![Page 45: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/45.jpg)
GridFS
![Page 46: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/46.jpg)
Attachment Type
![Page 47: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/47.jpg)
GridFS / Attachment Type
![Page 48: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/48.jpg)
Pour stocker des fichiers...
![Page 49: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/49.jpg)
Modèle distribué
![Page 50: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/50.jpg)
Modèle distribué
⇒
![Page 51: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/51.jpg)
Modèle distribué
![Page 52: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/52.jpg)
Write Consistency
![Page 53: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/53.jpg)
Modèle distribué
⇒
![Page 54: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/54.jpg)
Sharding
![Page 55: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/55.jpg)
CAP
⇒
![Page 56: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/56.jpg)
Call me maybe : Kyle Kingsbury
https://aphyr.com/tags/jepsen
![Page 58: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/58.jpg)
Call me maybe - MongoDB
![Page 59: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/59.jpg)
Performances
![Page 60: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/60.jpg)
Benchmark
![Page 61: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/61.jpg)
Benchmark
![Page 62: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/62.jpg)
Benchmarks sucks !
![Page 63: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/63.jpg)
Production
![Page 64: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/64.jpg)
Allez, on passe en Prod !
![Page 65: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/65.jpg)
Systèmes vivants !
![Page 66: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/66.jpg)
Ecosystème
![Page 67: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/67.jpg)
Ecosystème MongoDB
![Page 68: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/68.jpg)
Ecosystème MongoDB
![Page 69: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/69.jpg)
Client Elastic
![Page 70: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/70.jpg)
Ecosystème Elastic
![Page 71: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/71.jpg)
Cloud
![Page 72: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/72.jpg)
Alors, Mongo ou Elasticsearch ?
![Page 73: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/73.jpg)
Alors ? MongoDB ou ElasticSearch ?
![Page 74: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/74.jpg)
Les deux ?
![Page 75: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/75.jpg)
Même paradigme
![Page 76: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/76.jpg)
Une solution
write read
![Page 77: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/77.jpg)
Mais ...
write read
?
![Page 78: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/78.jpg)
Teeing
write read
write
![Page 79: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/79.jpg)
Batch Maison
write read
![Page 80: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/80.jpg)
Message Queue
write read
read write
Write
Push
![Page 81: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/81.jpg)
Rôle de l’Indexer
![Page 82: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/82.jpg)
Dénormaliser
![Page 83: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/83.jpg)
Exemple (sans Parent Child)
Tweets
Users
Tweets
![Page 84: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/84.jpg)
Exemple update
Tweets
Users
Tweets
![Page 85: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/85.jpg)
Précalculer
![Page 86: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/86.jpg)
Exemple pré-calcul : nbTweets
Tweets
Users
Tweets
![Page 87: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/87.jpg)
Exemple pré-calcul
Tweets
Users
Tweets
![Page 88: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/88.jpg)
Pour conclure
![Page 89: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/89.jpg)
Conclusion
![Page 90: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/90.jpg)
Conclusion
![Page 91: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/91.jpg)
Storage Mashup ;-)
![Page 92: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/92.jpg)
Merci !
![Page 93: MongoDB et Elasticsearch, meilleurs ennemis ?](https://reader034.vdocuments.site/reader034/viewer/2022042610/58a3c2a61a28ab62218b6e0f/html5/thumbnails/93.jpg)
Drink & Food Time