SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Associé chez www.Lateral-Thoughts.com
Associé chez www.Hopwork.com
@hugolassiege
hlassiege at lateral-thoughts.com
Contact
Panorama
Des à priori ?
NoSQL
NotoSQL
NotonlySQL
“Polyglot Persistence, like polyglot programming, is all
about choosing the right persistence option for the task at
hand.
SCOTT LEBERKNIGHT - https://www.altamiracorp.com/blog/employee-
posts/polyglot-persistence
Donc, SQL c’est bien ?
Oui
La normalisation des
données
Le SQL
A bientôt 40 ans on peut dire qu’il est mature
Ou pas…
Select column from table limit 10
Select * from table where rownum > 10
Fonctions propriétaires, séquences etc…
ACID
Atomicité
Cohérence
Isolation
Durabilité
Alors pourquoi changer ?
Le volume a augmenté
“ 90% des données dans le monde ont été créées au
cours des deux dernières années seulement.
IBM - http://www-01.ibm.com/software/fr/data/bigdata/
L’usage à évolué
Recherche sémantique
Réseaux sociaux
Moteurs de recommandations
…
Les attentes ont évolué
“les interruptions de service informatique coûtent 440.000 € de
l’heure aux entreprises en Europe
Global Switch
“ Un coût de 6,5 milliards d'euros pour les entreprises françaises
JDN – http://www.journaldunet.com/solutions/dsi/couts-indisponibilite-
des-donnees-en-france.shtml
Et les architectures ?
Sans doute un peu…
Et le Nosql dans tout ça?
“ C’est l’enfer
Hugo Lassiège
150 bases de données listées sur
http://nosql-database.org/
Une définition
Next Generation Databases mostly addressing some of the
points: being non-relational, distributed, open-
source and horizontally scalable.
Scaling
Horizontal scalingVertical scaling
Quelques points communs
schema-free, easy replication support, simple API, a huge
amount of data, eventually consistent / BASE
BASE?
Basically Available, Soft state, Eventually consistent
not ACID
Quel est le problème avec
ACID ??
Comment garantissez-vous ACID et une disponibilité de 99%
Vous garantissez la
consistence ?
Dans ce cas, votre disponibilité est dépendante du taux de
panne de chaque composant
Vous garantissez la
disponibilité ?
(en répliquant vos données)
Dans ce cas, comment gérez vous la perte de réseaux entre
réplicas ?
Si vous autorisez les écritures, vous ne garantissez pas la
cohérence
CAP theorem
“It is impossible for a web service to provide following three guarantees :
 Consistency
 Availability
 Partition-tolerance
A distributed system can satisfy any two of these guarantees at the same
time but not all three
Eric Brewer
Note du formateur :
un système CA,
vous y croyez ?
Basically Available : le système fonctionne
Soft state : les données ne sont pas forcément consistantes
Eventually consistent : mais finiront par l’être
=> Système AP
Revenons à nos moutons
4 grandes familles
Key Value
Column oriented
Document oriented
Graph oriented
Key-Value
Key Value
Key-Value
 Id => objet
 Login:#id => unlogin
 Email:#id => test@gmail.com
 Skills#id => set(redis, mongodb, java)
Column oriented
Document oriented
Key
Document
{ field1 : value1,
Field2 : value2}
Graph oriented
Pour finir
Logs
Audit
Transactions
bancaires
10 ou 1M
d’utilisateurs ?
24/24 ?
RechercheReporting
Cache
00 panorama-nosql

Weitere ähnliche Inhalte

Ähnlich wie 00 panorama-nosql

SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs Microsoft
 
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...Nicolas Desachy
 
M365 virtualmarathon gestion des pc windows 10 - l gebeau - jy trarbach
M365 virtualmarathon   gestion des pc windows 10 - l gebeau - jy trarbachM365 virtualmarathon   gestion des pc windows 10 - l gebeau - jy trarbach
M365 virtualmarathon gestion des pc windows 10 - l gebeau - jy trarbachjean-yves Trarbach
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimLaurent Broudoux
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-endClément Dubois
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endFrançois Petitit
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 
Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Arnaud LEMAIRE
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015 ABC Systemes
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement webAmaury Bouchard
 
Hibernate vs le Cloud computing
Hibernate vs le Cloud computingHibernate vs le Cloud computing
Hibernate vs le Cloud computingJulien Dubois
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computingNormandy JUG
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computingIppon
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsOCTO Technology
 
Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Microsoft Technet France
 
Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Microsoft
 
Retour expérience détection fraude temps réel
Retour expérience détection fraude temps réelRetour expérience détection fraude temps réel
Retour expérience détection fraude temps réelMartin Menestret
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETJulien Chable
 
L' Open data vu du Cloud computing
L' Open data vu du Cloud computing L' Open data vu du Cloud computing
L' Open data vu du Cloud computing Jonathan Le Lous
 

Ähnlich wie 00 panorama-nosql (20)

SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6Paris Chaos Engineering Meetup #6
Paris Chaos Engineering Meetup #6
 
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
OSA02 - Pas de transactionnel haute performance sans un couple machine logici...
 
M365 virtualmarathon gestion des pc windows 10 - l gebeau - jy trarbach
M365 virtualmarathon   gestion des pc windows 10 - l gebeau - jy trarbachM365 virtualmarathon   gestion des pc windows 10 - l gebeau - jy trarbach
M365 virtualmarathon gestion des pc windows 10 - l gebeau - jy trarbach
 
Introduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - EnsimIntroduction NoSQL 201401 - Ensim
Introduction NoSQL 201401 - Ensim
 
Octo RefCard test front-end
Octo RefCard test front-endOcto RefCard test front-end
Octo RefCard test front-end
 
Octo Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-endOcto Technology - Refcard Tests Web front-end
Octo Technology - Refcard Tests Web front-end
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy Scalabilité et haute performance d'application PHP légacy
Scalabilité et haute performance d'application PHP légacy
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015
 
Architectures réparties en environnement web
Architectures réparties en environnement webArchitectures réparties en environnement web
Architectures réparties en environnement web
 
Hibernate vs le Cloud computing
Hibernate vs le Cloud computingHibernate vs le Cloud computing
Hibernate vs le Cloud computing
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computing
 
Hibernate vs le_cloud_computing
Hibernate vs le_cloud_computingHibernate vs le_cloud_computing
Hibernate vs le_cloud_computing
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)
 
Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)Construire des applications supportant la montée en charge avec SQL Azure (300)
Construire des applications supportant la montée en charge avec SQL Azure (300)
 
Retour expérience détection fraude temps réel
Retour expérience détection fraude temps réelRetour expérience détection fraude temps réel
Retour expérience détection fraude temps réel
 
Diginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NETDiginova - Session sur le machine learning avec ML.NET
Diginova - Session sur le machine learning avec ML.NET
 
L' Open data vu du Cloud computing
L' Open data vu du Cloud computing L' Open data vu du Cloud computing
L' Open data vu du Cloud computing
 

00 panorama-nosql