Du relationnel au NoSql
SQL & SGBDR
Système de gestion de
base de données
Relationnel
Modèle relationnel
SQL & SGBDR
➢ Algèbre Relationnelle
➢ Théorie des ensembles
➢ +40 ans d’optimisations
Ceux qui ne
comprennent
pas la théor...
ACID
➢ Transaction ACID
Atomic: Everything in a transaction succeeds or the entire
transaction is rolled back.
Consistent:...
Limites
➢ Difficilement distribuable
➢ Schéma contraignant
➢ Object Relational Mapper
■ Impedance mismatch
➢ Performances
...
Problème de lenteurs ?
Conception
➢ Lenteurs
○ Souvent un problème de conception
○ Tout modèle est optimisé pour
un cas d’utilisation
➢ SQL ou No...
Index
➢ Un index est une structure de données
redondante organisée de manière à accélérer
certaines recherches.
Normalisation / Dénormalisation
Monté en charge verticale
n1-standard-1
1 CPU
3,75Go RAM
51$/mois
n1-highmem-32
32 CPU
208Go RAM
1900$/mois
Réplication pour la lecture
master
slave
slave
write
read
read
write
Sharding pour augmenter les capacités d’écriture
A B C
read
write
read
write
read
write
Concepts
➢ Monté en charge horizontale/verticale
➢ Dénormalisation
➢ Sharding/partitionning
➢ Réplication
NoSQL
Qui ?
Google Big table map/reduce (2006)
Amazon Dynamo (2007)
Facebook Cassandra (2008)
=> Changement d’échelle
Comment ?
Distribution on commodity hardware
It will fail
Abandon des principes ACID
En particulier la Consistance
➢ BASE
○ Basic Availability
○ Soft-state
○ Eventual consistency
C...
ACID
➢ Strong consistency
➢ Isolation
➢ Focus on “commit”
➢ Nested transactions
Availability?
➢ Conservative (pessimistic)...
CAP Theorem
Consistency
Availibity
SGBDR
1. The network is reliable.
2. Latency is zero.
3. Bandwidth is infinite.
4. The network is secure.
5. Topology doesn't ch...
CAP Theorem
Consistency
Availibity
SGBDR
CAP Theorem
Consistency
Partition
Tolerance
Bigtable
MongoDb
Redis
CAP Theorem
Partition
Tolerance
Availibity
Dynamo
Cassandra
CAP Theorem
Consistency
Partition
Tolerance
Availibity
No
Pick two !
Eric A. Brewer 2000
Towards Robust Towards Robust Dis...
Cas d’usages
➢ Performance & réduction des coûts
○ Distribution
○ élasticité (cloud)
➢ Agilité des développements
○ NoORM
...
NoSQL database type
One More Thing...
One More Thing...
?
La base de donnée NoSQL la plus utilisée est
One More Thing...
Lucene !
Solr / ElasticSearch
Ressources
➢ Presentations
○ Dynamo and BigTable in light of the CAP theorem
○ Towards Robust Towards Robust Distributed S...
Du Relationel au NoSQL
Prochain SlideShare
Chargement dans…5
×

Du Relationel au NoSQL

1 001 vues

Publié le

Aurélien Pelletier nous partage les slides de sa présentation "Du Relationel au NoSQL"

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 001
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
81
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Du Relationel au NoSQL

  1. 1. Du relationnel au NoSql
  2. 2. SQL & SGBDR Système de gestion de base de données Relationnel
  3. 3. Modèle relationnel
  4. 4. SQL & SGBDR ➢ Algèbre Relationnelle ➢ Théorie des ensembles ➢ +40 ans d’optimisations Ceux qui ne comprennent pas la théorie des ensembles ???? Ceux qui comprennent la théorie des ensembles venn diagram sql
  5. 5. ACID ➢ Transaction ACID Atomic: Everything in a transaction succeeds or the entire transaction is rolled back. Consistent: A transaction cannot leave the database in an inconsistent state. Isolated: Transactions cannot interfere with each other. Durable: Completed transactions persist, even when servers restart etc.
  6. 6. Limites ➢ Difficilement distribuable ➢ Schéma contraignant ➢ Object Relational Mapper ■ Impedance mismatch ➢ Performances ➢ Coûts
  7. 7. Problème de lenteurs ?
  8. 8. Conception ➢ Lenteurs ○ Souvent un problème de conception ○ Tout modèle est optimisé pour un cas d’utilisation ➢ SQL ou NoSQL ne change rien à ce problème
  9. 9. Index ➢ Un index est une structure de données redondante organisée de manière à accélérer certaines recherches.
  10. 10. Normalisation / Dénormalisation
  11. 11. Monté en charge verticale n1-standard-1 1 CPU 3,75Go RAM 51$/mois n1-highmem-32 32 CPU 208Go RAM 1900$/mois
  12. 12. Réplication pour la lecture master slave slave write read read write
  13. 13. Sharding pour augmenter les capacités d’écriture A B C read write read write read write
  14. 14. Concepts ➢ Monté en charge horizontale/verticale ➢ Dénormalisation ➢ Sharding/partitionning ➢ Réplication
  15. 15. NoSQL
  16. 16. Qui ? Google Big table map/reduce (2006) Amazon Dynamo (2007) Facebook Cassandra (2008) => Changement d’échelle
  17. 17. Comment ? Distribution on commodity hardware It will fail
  18. 18. Abandon des principes ACID En particulier la Consistance ➢ BASE ○ Basic Availability ○ Soft-state ○ Eventual consistency Comment ?
  19. 19. ACID ➢ Strong consistency ➢ Isolation ➢ Focus on “commit” ➢ Nested transactions Availability? ➢ Conservative (pessimistic) ➢ Difficult evolution (e.g. schema) BASE ➢ Weak consistency ○ stale data OK ➢ Availability first ➢ Best effort ➢ Approximate answers OK ➢ Aggressive (optimistic) ➢ Simpler ➢ Faster ➢ Easier evolution NoSQL ACID vs BASE continuum
  20. 20. CAP Theorem Consistency Availibity SGBDR
  21. 21. 1. The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. Topology doesn't change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. Fallacies of distributed computing
  22. 22. CAP Theorem Consistency Availibity SGBDR
  23. 23. CAP Theorem Consistency Partition Tolerance Bigtable MongoDb Redis
  24. 24. CAP Theorem Partition Tolerance Availibity Dynamo Cassandra
  25. 25. CAP Theorem Consistency Partition Tolerance Availibity No Pick two ! Eric A. Brewer 2000 Towards Robust Towards Robust Distributed Systems
  26. 26. Cas d’usages ➢ Performance & réduction des coûts ○ Distribution ○ élasticité (cloud) ➢ Agilité des développements ○ NoORM ○ NoSchema ➢ Modélisations alternatives ○ Graph
  27. 27. NoSQL database type
  28. 28. One More Thing...
  29. 29. One More Thing... ? La base de donnée NoSQL la plus utilisée est
  30. 30. One More Thing... Lucene ! Solr / ElasticSearch
  31. 31. Ressources ➢ Presentations ○ Dynamo and BigTable in light of the CAP theorem ○ Towards Robust Towards Robust Distributed Systems ➢ Papers ○ Dynamo: Amazon’s Highly Available Key-value Store ○ Bigtable: A Distributed Storage System for Structured Data ➢ Videos ○ Introduction to NoSQL by Martin Fowler ➢ Books ○ NoSQL Distilled ○ Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement

×