Support de présentation présentée au Connected Week d'Angers lors de la data day.
Le thème abordé est le suivant: "comparatifs des familles NoSQL & concepts de modélisation"
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
comparatifs des familles NoSQL & concepts de modélisation
1. 27/11/2019 1
Comparatifs des familles NoSQL & concepts de modélisation
ConnectedWeek Angers 2019 - Alexandre Bergere
2. 2
Avanade
2016 - 2019
Sr Anls, Data Engineering
Data Analyst & Data Architect
Freelance
ESAIP
Teacher
2016 - x
Data Freelance
2019 - x
OpenClassroom
Mentor
2019 - x
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere
Alexandre BERGERE
3. Le monde RGBD …
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 3
1970 1980 1990 2000 2010
Oracle
DB2
SQL Server
Access
MySQL
PostgreSQL
OLTP OLAP
Transaction Analytical
4. … connait ses limites
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 4
De plus en plus de données
Données très variées (iot, réseaux sociaux,
temporaire, schémas évolutifs, séries
temporaires …)
0101010100101010101010101010100101010111101010
1010000101010010100101010101000101010010100100
1010010010101001001010010101010101001010101010
1010101010010101011110101010100001010100101001
0101010100010101001010010010100100101010010010
1001010101010100101010101010101010100101010111
1010101010000101010010100101010101000101010010
1001001010010010101001001010010101010101001010
1010101010101010010101011110101010100001010100
1010010101010100010101001010010010100100101010
0100101001010101010100101010101010101010100101
0101111010101010000101010010100101010101000101
0100101001001010010010101001001010010101010101
0010101010101010101010010101011110101010100001
0101001010010101010100010101001010010010100100
1010100100101001010101010100101010101010101010
1001010101111010101010000101010010100101010101
0001010100101001001010010010101001001010010101
0101010010101010101010101010010101011110101010
1000010101001010010101010100010101001010010010
1001001010100100101001010101010100101010101010
1010101001010101111010110100101010111101001010
1011110100101010111101001010101111010010101011
1101001010101111010010101011110100101010111101
0000000001010101111010010101011110100101010111
5. No SQL
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 5
No SQL couvre plusieurs concepts:
o Non relational databases
o Not Only SQL
o NoSQL
6. Pourquoi?
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 6
o Gestion de grands volumes de données structurées, semi-structurées et non structurées qui
changent rapidement.
o Adaptés aux sprints agiles, itérations rapides de schémas et push fréquents (CI/CD)
o Orienté API & programmation objet permettant une utilisation plus flexible et plus simple
o Technologie distribuée
7. De nombreuses bases de données …
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 7
1970 1980 1990 2000 2010
Oracle
DB2
SQL Server
Access
MySQL
PostgreSQL
Cassandra
HBase
MongoDB
Redis
Elasticsearch
Dynamo DB
Neo4j
CouchDB
Cosmos DB
BigQuery
8. … et différents modèles
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 8
Relational data store HDFS Key Value data store Columnar data store
Search data store Graph data store Document data store
9. 27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 9
Démystifier les bases NoSQL Avoir quelques technologies
à « essayer à la maison »
Comprendre les différentes
modélisation et leurs cas
d’usage
Objectifs de la présentation
12. File System
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 12
o Gratuit & Open Source (Apache)
o Compression efficace des données
o Conçu pour la performance sur de grands
ensembles de données
o Fichiers divisibles par bloc, permettant une
meilleur optimisation des fichiers
o Performances d'interrogation accrues par
rapport aux magasins de données basés sur
les lignes (python, R, Power BI …)
Pers_ID Surname First_Name City
0 Miller Paul London
1 Ortega Alvaro Valencia
0 Miller Paul London 1 Ortega Alvaro Valencia
0 1 Miller Ortega Paul Alvaro London Valencia
Format ligne
Format colonne
17. Mongo DB
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 18
Leader in The Forrester Wave™: Big Data NoSQL, Q1 2019
Created in 2007 & first release
in 2010.
21. > update
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 22
# UPDATE()
> db.<collection>.update ({<conditions>},{<champs>}
,{upsert:true/false}
,{multi:true/false}
)
> db.pageview.update({'_id':’/companies/users'},{$inc:{'views':1}},{upsert:true})
Upsert: Si valeur à vrai, créé un nouveau document, lorsque le document n’existe pas.
Multi: Si valeur à faux, met à jours uniquement le premier document.
22. démo
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 23
Visualize, understand, and work with your geospatial data
Point and click to construct sophisticated queries, execute
them with the push of a button and Compass will display your
results both graphically and as sets of JSON documents.
A better approach to CRUD makes it easier to interact with your
data
Modify existing documents with greater confidence using the
intuitive visual editor, or insert new documents and clone or
delete existing ones in just a few clicks.
25. Cas d’usage
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 26
o Application Web
o Schémas évolutif ou discontinue
o Développement Agile
o Analytics et logs
26. 27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 27
https://console.firebase.google.com/
o Temps réel & base document
o Base à froid
o Identification
o Machine Learning
o Hébergement
Firebase
28. Qu’est ce qu’un graph ?
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 29
Un graph est une collection de noeud (vertices) et de relations (edges), soit un ensemble de noeuds et de
relations qui se connectent les unes aux autres.
29. RDBMS vs graph
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 30
Movie
Review
Person
1..n
1..1
1..1
1..n
31. Cypher
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 32
MATCH (variable:Label {propertyKey: propertyValue, propertyKey2: propertyValue2})
RETURN variable
MATCH (m:Movie {released: 2003, tagline: 'Free your mind'})
RETURN m
32. Cypher
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 33
Using a relationship in a query:
MATCH (p:Person)-[rel:ACTED_IN]->(m:Movie {title: 'The Matrix'})
RETURN p, rel, m
Variables:
o p to represent the Person nodes during the query, the
variable
o m to represent the Movie node retrieved
o rel to represent the relationship for the relationship
type, ACTED_IN
36. Cas d’usage
27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 37
o Détection de fraudes
o Réseaux sociaux
o Recommandation de produits
o Géolocalisation & recherche de chemin le plus court
39. 27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 40
o Moteur de stockage et de recherche de données
o Recherche par poids de mot :
o Fréquence dans le document
o Taille du document
o Fréquence dans tous les documents
o Moteur de recherche distribué avec de l’analyse en temps réel
43. 27/11/2019 ConnectedWeek Angers 2019 - Alexandre Bergere 44
Hackolade is a visual data modeling software for the leading NoSQL databases, Hadoop, and for Swagger API
design:
https://hackolade.com/