Du Relationel au NoSQL

1 073 vues

Publié le

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

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

Aucun téléchargement
Vues
Nombre de vues
1 073
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
85
Commentaires
0
J’aime
1
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

×