SlideShare une entreprise Scribd logo
Architectures Techniques
                             « noSQL »




© OCTO 2011
noSQL, c’est quoi?

 Ensemble de technologies alternatives aux RDBMS

 Un écosystème riche qui adresse des problématiques différentes
      Modélisation de la donnée (graphe…)
      « Data Analytics »
      « Transaction Processing »




© OCTO 2011                                                              2
La fin des bases de données relationnelles?




      NON…
© OCTO 2011                                                 3
40 années d’expérience.


              Compatible avec
              l’écosystème du SI.


              Viable dans la majorité
              des cas.


© OCTO 2011                             4
1970, premières bases de données relationnelles


                              Système
                             Centralisé



                                                              Atomicité
     Optimisation                             Modélisation
     du stockage                              relationnelle
                                                              Cohérence
                                                              Isolation
                                                              Durabilité
                                          Moteur &
              Stockage sur
                                          Langage
                 disque
                                            SQL




© OCTO 2011                                                                5
POURTANT
© OCTO 2011   6
Des évolutions « hardware ».
                                      Optimiser l’organisation de la donnée pour optimiser le stockage.




                      1965     1970     1975    1980     1985    1990      1995   2000   2005   2010   2015
         1,000,000.00

 100k $/GB



POURTANT
       100,000.00

              10,000.00

               1,000.00
                                                                                                              HDD
                100.00                                                                                        RAM
                 10.00

                   1.00

  0,10 $/GB
          0.10

                   0.01
                          Source :http://www.mkomo.com/cost-per-gigabyte

© OCTO 2011                                                                                                         7
Des évolutions « hardware ».
                                                 Utiliser le disque pour contourner la limite de RAM.




                   1965      1970    1975    1980    1985    1990      1995   2000   2005   2010   2015
        10 GB
         1 GB
           1,000.00




POURTANT
              100.00

               10.00

         1 MB
            1.00                                                                                          RAM
                0.10

                0.01

                0.00

                0.00
                       Source : http://www.jcmit.com/memoryprice.htm

© OCTO 2011                                                                                                     8
Vers du « commodities »...
              Des besoins qui dépassent la capacité d’une unique machine.
              Optimisation du coût de la transaction.




                                          $




POURTANT
                                          $

                                         Source : « Datacenter As A Computer »




© OCTO 2011                                                                      9
Vers plus de disponibilité des
              systèmes.
                Disponibilité (en écriture).
                Tolérance à des niveaux de pannes plus importants,
                à coût contraint.




POURTANT
© OCTO 2011                                                          10
« Capacity Planning » &
     administration simplifiée.
              Elasticité et prédictibilité pour absorber les saisonnalités.




POURTANT
© OCTO 2011                                                                   11
L’approche « plateforme ».
              et les enjeux de mutualisation sous jacent.




POURTANT
© OCTO 2011                                                 12
Un constat : « scaler » un RDBMS, « ça
 peut être complexe ».
       Trafic en lecture.



                                             W                              W
                                     R                 R                             R
                W/R




POURTANT
 - Modéliser en fonction des
 « patterns » d’accès.
 - Dénormalisation
                               - Topologie Master / Slave
                               - Décharge les lectures
                               - (peut) impacter l’OPEX
                               - (potentielle) fenêtre
                               d’incohérence
                                                            - Stratégie de cache
                                                            - Améliore les temps de
                                                            réponse / débits en lecture
                                                            - Nécessite des stratégies
                                                            -   De « rechargement »
                                                            -   Des tolérances à la perte du cache
                                                            - (potentielle) fenêtre
                                                            d’incohérence


© OCTO 2011                                                                                          13
Un constat : « scaler » un RDBMS, « ça
 peut être complexe ».
       Trafic en lecture.



                                             W                           W
                                     R                 R                         R
                W/R




POURTANT
 - Modéliser en fonction des
 « patterns » d’accès.
 - Dénormalisation
                               - Topologie Master / Slave
                               - Décharge les lectures
                               - (peut) impacter l’OPEX
                               - (potentielle) fenêtre
                               d’incohérence
                                                            - Partitionnement du cache
                                                            pour limiter l’impact en cas de
                                                            perte
                                                            - Impacts les « operations »




© OCTO 2011                                                                                   14
Un constat : « scaler » un RDBMS, « ça
 peut être complexe ».
       Trafic en écriture.



                                                                                  W/R
                W/R                                 W/R                           W/R




POURTANT
 - Modéliser en fonction des
 « patterns » d’accès.
 - Vers des modèles
 K/V, modélidation par
 évènements plutôt que
                               - Stratégie « scale up »
                               - (potentiellement) le coût
                               -

                               -
                                   Impact à migrer sur du
                                   « distribué »
                                   Coût réseau induit par la
                                                               -Stratégie de partitionnement
                                                               - Complexité
                                                               d’administration, d’opérabilité
                                                               - (potentiellement) le coût
                                                               -   Licence / infrastructure spécifique
                                   distribution
 stock, « append-only »




© OCTO 2011                                                                                              15
Evolution du hardware


 Vers du « commodities »
                              Un foisonnement
 « Capacity planning » et     de solutions
 administration simplifiée
                              émergentes…
                                Transactionnel, Décisionnel…
 Vers plus de disponibilité
 des systèmes

 L’approche
 « plateforme »


© OCTO 2011                                                    16
…construites sur
un ADN différent


© OCTO 2011        17
Distribution des données, de la
…construites sur
      charge.
          Mécanisme de partitionnement.
          Routage client ou serveur suivant les implémentations.
          Le partitionnement et l’association clé/serveur sont assurés via « consistent


un ADN différent
      hashing ».

                                     Client
                                 md5(key) = GUS


              JOE
                                                                                 #2
                                      JOE         BOB      GUS                  «3»

              BOB

              GUS




© OCTO 2011                                                                               18
…construites sur
  Tolérance à la panne.
         Réplication synchrone / asynchrone.
         « Fail-over » automatique.
         Gestion applicative (et non plus « hardware ») de la résilience.




un ADN différent
                                        JOE       BOB        GUS

                                                                        GUS

                                                             BOB

                                                  JOE




© OCTO 2011                                                                   19
…construites sur
              Elasticité de l’infrastructure.
                Administration « simplifiée ».
                Impact la modélisation



un ADN différent                                 $ bin/nodetool decommision –h 10.0.0.2

                                     JOE                 GUS                 BOB

                                                                   GUS

                                                         BOB

                                                                   JOE




© OCTO 2011                                                                               20
Challenge…
              Durabilité
              Atomicité
              Cohérence
© OCTO 2011                21
Durabilité.      Stockage sur disques standards voire en mémoire.



  Challenge…
                      Réplication applicative des données.
                      Mécanismes de « write-behind », « write-through », « overflow ».




                 ms        µs         ns

              0.000,000,000,000
                  Disque                   Cache L2, L1
                                Mémoire




© OCTO 2011                                                                              22
Relâchement de                        ACID.
              Modélisation de la donnée en fonction des patterns d’accès.
              Proche de ce qui est fait en relationnel sous contrainte de performance.
              Possibilité de colocalisation des données.



  Challenge…            INSERT INTO…




                                        JOE       BOB        GUS




© OCTO 2011                                                                              23
MapReduce ou l’art de distribuer le
   traitement.
         Traiter (plus rapidement) des volumes de données plus faibles.



  Challenge…
         Paralléliser ces traitements « plus unitaires ».
         Co-localiser traitements et données.



                                                              Requête




                                                                          Orchestrateur
                                     Tâches    Tâches




© OCTO 2011                                                                               24
A    CID comme variable d’ajustement.
  Challenge…
                                    « Partition
                                    Tolerant »

                                          ~ système distribué




      « Availability »                                             « Consistency »


    La donnée est                                                 Les nœuds proposent
    accessible                                                    la même donnée au
                                                                  même moment
                         Source : « CAP Theorem » - Eric Brewer

© OCTO 2011                                                                          25
A   CID vu du client.
              Compromis entre cohérence, temps de réponse, tolérance à la panne en
              fonction du type de la donnée.




  Challenge…
       Cohérence faible            « Cohérence à terme »
                                                                                                 Cohérence Forte
       Aucune garantie de               « Eventual                     « Read-your-write »
                                                                           cohérence         – garantie de récupérer
      récupérer la dernière           Consistency » &
                                                                                                la dernière version
            donnée                 Quorum-based protocol


                       Source : « Eventually Consistent » - Werner Vogels




      « Availability »                                                                            « Consistency »



© OCTO 2011                                                                                                            26
« Read your write » cohérence.
              Modèle Master/Slave (pour une partition donnée).
              Réplication synchrone ou asynchrone.




  Challenge…
              Lecture « round robin » sur les partitions.




                                     Client Write         Client Write    Client Read
                                     md5(key) = 3         md5(key) = 3   md5(key) = 3




                                         JOE




                                                    JOE       JOE



© OCTO 2011                                                                             27
Cohérence à terme & « Quorum based
      protocol »
              Approche Master / Master (sur une partition donnée).



  Challenge…
              Compromis entre cohérence, temps de réponse, tolérance à la panne en
              fonction du type de la donnée, du cas d’usage.
              Résolution des conflits : suivant les implémentations.


                                    Client Write         Client Write     Client Read
                                    md5(key) = 3         md5(key) = 3    md5(key) = 3




                                        JOE




                                                   JOE       JOE



© OCTO 2011                                                                             28
Un nouvel univers
    extrêmement riche.


  Challenge…
                                      « Partition
                                      Tolerant »



                                                    « Data Grid »
               noSQL
               Amazon Dynamo clones



      « Availability »                                          « Consistency »


                                 RDBMS

© OCTO 2011                                                                       29
« Data Grid : bridging the gap »
    Un modèle moins en rupture, des solutions configurables.
    Permet le stockage en mémoire pour privilégier la latence, le « near cache »...



  Challenge…
    « Distributed Event Driven Architecture » et mécanisme de notification.

              RDBMS                   « Data Grid »                         noSQL
              Client App                  Client App                       Client App
                                                    Near Cache




 - « Disk based »                - « throughput/latency oriented   - « throughput oriented
 - Stratégie « scale up »        architecture »                    architecture »
                                 - « Master/Slave » sur les        - « Master/Master » sur les
                                 partitions                        partitions
                                 - Partitionnement / réplication   - Partitionnement uniquement
                                 - Cohérence configurable          - « Eventually consistent »
                                 - Cache local                     - « Disk based »
                                 - « Disk / memory based »

© OCTO 2011                                                                                       30
ET (APRÈS)
 DEMAIN?
© OCTO 2011   31
« Big Memory » pour trouver l’équilibre
    entre scalabilité horizontale et opérabilité

ET (APRÈS)
        Modélisation indépendante du stockage.

 DEMAIN?
© OCTO 2011                                        32
« Auto-scaling ».



ET (APRÈS)
     Architectures élastiques (gérées au niveau
     applicatif).



 DEMAIN?
© OCTO 2011                                       33

Contenu connexe

PPTX
Etat de l art business intelligence
PDF
IT FUTURE 2011 - Présentation de Net app
PDF
Fuse source parisjug-10052011
PDF
200907 Petit Dejeuner Reduction Couts
PDF
H7116 vplex-hyper-v-sql-wp
PDF
200907 Petit Dejeuner Optimisation coûts 20m
PDF
Cloud & physique, mauvaises et bonnes solutions
PDF
Atelier Hitachi Information Forum 2012 - Les solutions « Cloud Optimized » de...
Etat de l art business intelligence
IT FUTURE 2011 - Présentation de Net app
Fuse source parisjug-10052011
200907 Petit Dejeuner Reduction Couts
H7116 vplex-hyper-v-sql-wp
200907 Petit Dejeuner Optimisation coûts 20m
Cloud & physique, mauvaises et bonnes solutions
Atelier Hitachi Information Forum 2012 - Les solutions « Cloud Optimized » de...

En vedette (20)

PDF
Introduction aux bases de données NoSQL
PPTX
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
PDF
NoSQL et Big Data
PPTX
Les modèles NoSQL
PPTX
Introduction to Cassandra (June 2010)
PDF
NoSQL: Introducción a las Bases de Datos no estructuradas
PDF
Techday Arrow Group: Hadoop & le Big Data
PPTX
Presentation Hadoop Québec
PDF
NoSQL databases
PDF
Big Data Analytics for connected home
PPTX
Présentation Big Data et REX Hadoop
PDF
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
PPTX
NoSql : conception des schémas, requêtage, et optimisation
PPTX
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
PDF
Bases de données NoSQL
PDF
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
PDF
Une introduction à MapReduce
PPTX
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
PDF
Hadoop Hbase - Introduction
PPT
Hadopp Vue d'ensemble
Introduction aux bases de données NoSQL
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
NoSQL et Big Data
Les modèles NoSQL
Introduction to Cassandra (June 2010)
NoSQL: Introducción a las Bases de Datos no estructuradas
Techday Arrow Group: Hadoop & le Big Data
Presentation Hadoop Québec
NoSQL databases
Big Data Analytics for connected home
Présentation Big Data et REX Hadoop
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
NoSql : conception des schémas, requêtage, et optimisation
Casablanca Hadoop & Big Data Meetup - Introduction à Hadoop
Bases de données NoSQL
Enquête RegionsJob : emploi et réseaux sociaux, deuxième édition
Une introduction à MapReduce
Présentation pfe Big Data Hachem SELMI et Ahmed DRIDI
Hadoop Hbase - Introduction
Hadopp Vue d'ensemble
Publicité

Similaire à Architectures techniques NoSQL (20)

PPTX
Etat de l art business intelligence
PPTX
Université du SI - 2011 - La fin des bases relationnelles?
PDF
Morning with MongoDB Paris 2012 - Octo
PDF
No Sql - Olivier Mallassi - September 2010
PDF
Article open-silicium-juin-juillet-aout-2013
PDF
Brocade - AG France IX - 30 Juin 2011
PPTX
Exchange Stockage : Mythes et Réalités
PPTX
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
PDF
NetApp PartnersTour 2011 à Lille, mon point de vue
PPTX
SQL Server et infrastructure
PPTX
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
PPTX
Lync, share point, sql
PDF
Persistance polyglotte avec Spring Data
PDF
Quelle stratégie Cloud pour SharePoint v1.0 ?
PDF
Lepton : Description succincte
PDF
La plateforme de services dynamiques OSGi
PPTX
IT Future 2012 - Fujitsu France solutions NetApp
PDF
Les pratiques des geants du web
PDF
Acronis VM protect
PDF
Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD
Etat de l art business intelligence
Université du SI - 2011 - La fin des bases relationnelles?
Morning with MongoDB Paris 2012 - Octo
No Sql - Olivier Mallassi - September 2010
Article open-silicium-juin-juillet-aout-2013
Brocade - AG France IX - 30 Juin 2011
Exchange Stockage : Mythes et Réalités
Découvrez les solutions de virtualisation de Stockage DataCore et sa platefor...
NetApp PartnersTour 2011 à Lille, mon point de vue
SQL Server et infrastructure
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Lync, share point, sql
Persistance polyglotte avec Spring Data
Quelle stratégie Cloud pour SharePoint v1.0 ?
Lepton : Description succincte
La plateforme de services dynamiques OSGi
IT Future 2012 - Fujitsu France solutions NetApp
Les pratiques des geants du web
Acronis VM protect
Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD
Publicité

Plus de OCTO Technology (20)

PDF
Comptoir OCTO - Agents IA : Tout ce qu'il faut savoir.
PDF
Comment l’IA générative peut-elle moderniser efficacement vos SI Brownfield ?
PPTX
La Grosse Conf - IA générative et mésinformation comprendre les mécanisme...
PPTX
La Grosse Conf - Data et Humanité, un bilan mitigé - Frédéric Duvivier
PPTX
La Grosse Conf - LLMOps, on s'y met tout de suite ? - Ali El Moussawi
PPTX
La Grosse Conf - Déployer des modèles d'IA à l'edge : live coding et bonne...
PDF
Le Comptoir OCTO - Transformer son organisation sans peur et sans douleur
PDF
Duck Conf 2025 - Déjouer les pièges de Conway dans l'agilité à l'échelle
PDF
Duck Conf 2025 - L’architecture continue par la pratique
PDF
Duck Conf 2025 - Des millisecondes contre des millions d'euros
PPTX
Duck Conf 2025 - Du chaos au flow : faut-il miser sur la DevEx ?
PDF
Duck Conf 2025 - Les pièges des plateformes : apprenez à les reconnaitre et à...
PDF
Duck Conf 2025 - Le micro-frontend décomplexé : les dessous d’une migration i...
PDF
Duck Conf 2025 - Tests Pragmatiques : Comment j'ai (presque) arrêté de faire...
PDF
Duck Conf 2025 - "Modern Software Engineering & Architecture" : Les Tech Tren...
PPTX
La Grosse Conf 2025 - Baptiste Courbe - Model Platform : industrialiser et go...
PPTX
La Grosse Conf 2025 - Jean-Baptiste Larraufie - 30% plus rapide : notre recet...
PPTX
La Grosse Conf 2025 - Yannick Drant - Prototyper l’innovation : framework et ...
PPTX
La Grosse Conf 2025 - Karim Sayadi - Construire une data plateforme : entre m...
PPTX
La Grosse Conf 2025 - Laure Constantinesco - Mettez de l’UX dans votre IA
Comptoir OCTO - Agents IA : Tout ce qu'il faut savoir.
Comment l’IA générative peut-elle moderniser efficacement vos SI Brownfield ?
La Grosse Conf - IA générative et mésinformation comprendre les mécanisme...
La Grosse Conf - Data et Humanité, un bilan mitigé - Frédéric Duvivier
La Grosse Conf - LLMOps, on s'y met tout de suite ? - Ali El Moussawi
La Grosse Conf - Déployer des modèles d'IA à l'edge : live coding et bonne...
Le Comptoir OCTO - Transformer son organisation sans peur et sans douleur
Duck Conf 2025 - Déjouer les pièges de Conway dans l'agilité à l'échelle
Duck Conf 2025 - L’architecture continue par la pratique
Duck Conf 2025 - Des millisecondes contre des millions d'euros
Duck Conf 2025 - Du chaos au flow : faut-il miser sur la DevEx ?
Duck Conf 2025 - Les pièges des plateformes : apprenez à les reconnaitre et à...
Duck Conf 2025 - Le micro-frontend décomplexé : les dessous d’une migration i...
Duck Conf 2025 - Tests Pragmatiques : Comment j'ai (presque) arrêté de faire...
Duck Conf 2025 - "Modern Software Engineering & Architecture" : Les Tech Tren...
La Grosse Conf 2025 - Baptiste Courbe - Model Platform : industrialiser et go...
La Grosse Conf 2025 - Jean-Baptiste Larraufie - 30% plus rapide : notre recet...
La Grosse Conf 2025 - Yannick Drant - Prototyper l’innovation : framework et ...
La Grosse Conf 2025 - Karim Sayadi - Construire une data plateforme : entre m...
La Grosse Conf 2025 - Laure Constantinesco - Mettez de l’UX dans votre IA

Architectures techniques NoSQL

  • 1. Architectures Techniques « noSQL » © OCTO 2011
  • 2. noSQL, c’est quoi?  Ensemble de technologies alternatives aux RDBMS  Un écosystème riche qui adresse des problématiques différentes  Modélisation de la donnée (graphe…)  « Data Analytics »  « Transaction Processing » © OCTO 2011 2
  • 3. La fin des bases de données relationnelles? NON… © OCTO 2011 3
  • 4. 40 années d’expérience. Compatible avec l’écosystème du SI. Viable dans la majorité des cas. © OCTO 2011 4
  • 5. 1970, premières bases de données relationnelles Système Centralisé Atomicité Optimisation Modélisation du stockage relationnelle Cohérence Isolation Durabilité Moteur & Stockage sur Langage disque SQL © OCTO 2011 5
  • 7. Des évolutions « hardware ». Optimiser l’organisation de la donnée pour optimiser le stockage. 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 1,000,000.00 100k $/GB POURTANT 100,000.00 10,000.00 1,000.00 HDD 100.00 RAM 10.00 1.00 0,10 $/GB 0.10 0.01 Source :http://www.mkomo.com/cost-per-gigabyte © OCTO 2011 7
  • 8. Des évolutions « hardware ». Utiliser le disque pour contourner la limite de RAM. 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 10 GB 1 GB 1,000.00 POURTANT 100.00 10.00 1 MB 1.00 RAM 0.10 0.01 0.00 0.00 Source : http://www.jcmit.com/memoryprice.htm © OCTO 2011 8
  • 9. Vers du « commodities »... Des besoins qui dépassent la capacité d’une unique machine. Optimisation du coût de la transaction. $ POURTANT $ Source : « Datacenter As A Computer » © OCTO 2011 9
  • 10. Vers plus de disponibilité des systèmes. Disponibilité (en écriture). Tolérance à des niveaux de pannes plus importants, à coût contraint. POURTANT © OCTO 2011 10
  • 11. « Capacity Planning » & administration simplifiée. Elasticité et prédictibilité pour absorber les saisonnalités. POURTANT © OCTO 2011 11
  • 12. L’approche « plateforme ». et les enjeux de mutualisation sous jacent. POURTANT © OCTO 2011 12
  • 13. Un constat : « scaler » un RDBMS, « ça peut être complexe ». Trafic en lecture. W W R R R W/R POURTANT - Modéliser en fonction des « patterns » d’accès. - Dénormalisation - Topologie Master / Slave - Décharge les lectures - (peut) impacter l’OPEX - (potentielle) fenêtre d’incohérence - Stratégie de cache - Améliore les temps de réponse / débits en lecture - Nécessite des stratégies - De « rechargement » - Des tolérances à la perte du cache - (potentielle) fenêtre d’incohérence © OCTO 2011 13
  • 14. Un constat : « scaler » un RDBMS, « ça peut être complexe ». Trafic en lecture. W W R R R W/R POURTANT - Modéliser en fonction des « patterns » d’accès. - Dénormalisation - Topologie Master / Slave - Décharge les lectures - (peut) impacter l’OPEX - (potentielle) fenêtre d’incohérence - Partitionnement du cache pour limiter l’impact en cas de perte - Impacts les « operations » © OCTO 2011 14
  • 15. Un constat : « scaler » un RDBMS, « ça peut être complexe ». Trafic en écriture. W/R W/R W/R W/R POURTANT - Modéliser en fonction des « patterns » d’accès. - Vers des modèles K/V, modélidation par évènements plutôt que - Stratégie « scale up » - (potentiellement) le coût - - Impact à migrer sur du « distribué » Coût réseau induit par la -Stratégie de partitionnement - Complexité d’administration, d’opérabilité - (potentiellement) le coût - Licence / infrastructure spécifique distribution stock, « append-only » © OCTO 2011 15
  • 16. Evolution du hardware Vers du « commodities » Un foisonnement « Capacity planning » et de solutions administration simplifiée émergentes… Transactionnel, Décisionnel… Vers plus de disponibilité des systèmes L’approche « plateforme » © OCTO 2011 16
  • 17. …construites sur un ADN différent © OCTO 2011 17
  • 18. Distribution des données, de la …construites sur charge. Mécanisme de partitionnement. Routage client ou serveur suivant les implémentations. Le partitionnement et l’association clé/serveur sont assurés via « consistent un ADN différent hashing ». Client md5(key) = GUS JOE #2 JOE BOB GUS «3» BOB GUS © OCTO 2011 18
  • 19. …construites sur Tolérance à la panne. Réplication synchrone / asynchrone. « Fail-over » automatique. Gestion applicative (et non plus « hardware ») de la résilience. un ADN différent JOE BOB GUS GUS BOB JOE © OCTO 2011 19
  • 20. …construites sur Elasticité de l’infrastructure. Administration « simplifiée ». Impact la modélisation un ADN différent $ bin/nodetool decommision –h 10.0.0.2 JOE GUS BOB GUS BOB JOE © OCTO 2011 20
  • 21. Challenge… Durabilité Atomicité Cohérence © OCTO 2011 21
  • 22. Durabilité. Stockage sur disques standards voire en mémoire. Challenge… Réplication applicative des données. Mécanismes de « write-behind », « write-through », « overflow ». ms µs ns 0.000,000,000,000 Disque Cache L2, L1 Mémoire © OCTO 2011 22
  • 23. Relâchement de ACID. Modélisation de la donnée en fonction des patterns d’accès. Proche de ce qui est fait en relationnel sous contrainte de performance. Possibilité de colocalisation des données. Challenge… INSERT INTO… JOE BOB GUS © OCTO 2011 23
  • 24. MapReduce ou l’art de distribuer le traitement. Traiter (plus rapidement) des volumes de données plus faibles. Challenge… Paralléliser ces traitements « plus unitaires ». Co-localiser traitements et données. Requête Orchestrateur Tâches Tâches © OCTO 2011 24
  • 25. A CID comme variable d’ajustement. Challenge… « Partition Tolerant » ~ système distribué « Availability » « Consistency » La donnée est Les nœuds proposent accessible la même donnée au même moment Source : « CAP Theorem » - Eric Brewer © OCTO 2011 25
  • 26. A CID vu du client. Compromis entre cohérence, temps de réponse, tolérance à la panne en fonction du type de la donnée. Challenge… Cohérence faible « Cohérence à terme » Cohérence Forte Aucune garantie de « Eventual « Read-your-write » cohérence – garantie de récupérer récupérer la dernière Consistency » & la dernière version donnée Quorum-based protocol Source : « Eventually Consistent » - Werner Vogels « Availability » « Consistency » © OCTO 2011 26
  • 27. « Read your write » cohérence. Modèle Master/Slave (pour une partition donnée). Réplication synchrone ou asynchrone. Challenge… Lecture « round robin » sur les partitions. Client Write Client Write Client Read md5(key) = 3 md5(key) = 3 md5(key) = 3 JOE JOE JOE © OCTO 2011 27
  • 28. Cohérence à terme & « Quorum based protocol » Approche Master / Master (sur une partition donnée). Challenge… Compromis entre cohérence, temps de réponse, tolérance à la panne en fonction du type de la donnée, du cas d’usage. Résolution des conflits : suivant les implémentations. Client Write Client Write Client Read md5(key) = 3 md5(key) = 3 md5(key) = 3 JOE JOE JOE © OCTO 2011 28
  • 29. Un nouvel univers extrêmement riche. Challenge… « Partition Tolerant » « Data Grid » noSQL Amazon Dynamo clones « Availability » « Consistency » RDBMS © OCTO 2011 29
  • 30. « Data Grid : bridging the gap » Un modèle moins en rupture, des solutions configurables. Permet le stockage en mémoire pour privilégier la latence, le « near cache »... Challenge… « Distributed Event Driven Architecture » et mécanisme de notification. RDBMS « Data Grid » noSQL Client App Client App Client App Near Cache - « Disk based » - « throughput/latency oriented - « throughput oriented - Stratégie « scale up » architecture » architecture » - « Master/Slave » sur les - « Master/Master » sur les partitions partitions - Partitionnement / réplication - Partitionnement uniquement - Cohérence configurable - « Eventually consistent » - Cache local - « Disk based » - « Disk / memory based » © OCTO 2011 30
  • 31. ET (APRÈS) DEMAIN? © OCTO 2011 31
  • 32. « Big Memory » pour trouver l’équilibre entre scalabilité horizontale et opérabilité ET (APRÈS) Modélisation indépendante du stockage. DEMAIN? © OCTO 2011 32
  • 33. « Auto-scaling ». ET (APRÈS) Architectures élastiques (gérées au niveau applicatif). DEMAIN? © OCTO 2011 33