SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
NoSQL : Le nuage souffle un nouvel « R »
sur les SGBD


 Claude Falguière     Herve Desaunois

 Senior Consultante   Directeur Opérationnel
 Valtech Paris        Valtech Toulouse




                      © Valtech 2011
Sommaire

          Partie 1
     Contexte et enjeux

                                                      Partie 3
                               Partie 2       Les 10 commandements
                          Le tour du monde




#2
                             © Valtech 2011
Sommaire

          Partie 1
     Contexte et enjeux                              Partie 3
                                             Les 10 commandements
                                                Partie 2
                                           Le tour du monde




#3
                          © Valtech 2011
NoSQL ?




#4
          © Valtech 2011
NoSQL "Not only SQL"


     • Technologie relative aux bases de données
         Alternatives au SGBD relationnels pour gérer de gros volumes

     • Émergence printemps 2009 avec le Cloud Computing et le Web 2.0
         BigTable Google, Dynamo Amazone, Cassandra Facebook, Twitter

     • De nombreuses solutions Open Source
         Cassandra, CouchDB, MongoDB, Riak, Neo4J ….




#5
                                © Valtech 2011
L’écosystème NoSQL

                  Document    Colonne
     Clé Valeur                               Graphe




#6
                             © Valtech 2011
Return On Invest




     Coût faible
                      Gros Volume
                                           Haute Disponibilité

       Alternatives intéressante au solution de type RAC
                    (Real Application Cluster)


#7
                          © Valtech 2011
Le CAP Theorem (Eric Brewer)




#8
                    © Valtech 2011
Sommaire


                               Partie 2
                          Le tour du monde
          Partie 1                                      Partie 3
     Contexte et enjeux                         Les 10 commandements




#9
                               © Valtech 2011
Les bases Clé Valeur

      Implémentations très nombreuses

      Structure de données très   simple            Clé   Valeur
            • Map                                   Clé   Valeur
                                                    Clé   Valeur

      Base simple à créer
      Redis, BigTable, Voldemort, MemcacheDB …




#10
                                   © Valtech 2011
Les bases Colonnes

      Une table est définie par des familles de colonnes
            • Chaque famille peut avoir un nombre quelconque de colonnes
            • Les colonnes sont représentées par des couples clés-valeur

      Optimisé pour l’accès par colonne                              Famille

      Représentation plus flexible
                                                      Clé   Clé   Valeur Clé   Valeur
            • One to many
            • Grand nombre de colonnes                Clé   Clé   Valeur Clé   Valeur
            • Sparse data                             Clé   Clé   Valeur Clé   Valeur


      HBase, Cassandra                                       Colonne


#11
                                     © Valtech 2011
Les bases Document

      La clé correspond à un document soit               Clé
      XML soit JSON
                                                               Clé Valeur
                                                                    Clé Valeur
      Retrouver avec une seule clé un
                                                                    Clé Valeur
      ensemble d’informations
      structurées de manière hiérarchique                      Clé Valeur

            • L’utilisateur, ses statuts, ses amis                  Clé Valeur
                                                               Clé Valeur
      L’équivalent en relationnel impliquerait
      beaucoup de jointures                                         Clé Valeur
                                                                            Clé Valeur
      MongoDB, CouchDB



#12
                                        © Valtech 2011
Les bases Graphe

      Reposent sur la notion
          de nœuds
          et de relations
          et de propriétés
                                                              Source: neo4J


      Traitement des données de réseaux sociaux
            • l’utilisateur, ses amis, les amis de ses amis

      En phase avec les outils du web sémantique (RDF,
      SparQL)

      Neo4J

#13
                                       © Valtech 2011
Use case : accès rapide




#14
                      © Valtech 2011
Redis à Skyrock
      Calculer en temps réel les amis connectés




                            20h30 : [ 1,4,6,9,10,15,17,25 ]
                            20h29 : [ 1,6,9,10,15,17,25 ]
                            20h28 : [ 4,6,9,10,13;15,25 ]
                            20h27 : [ 1,4,6,9,10,13,18,25 ]
                            20h26 : [ 1,4,6,9,10,18,20 ]


                            UNION : [ 10,1,20,4,13,15,6,18,9,17,25 ]
                            follows : [ 7, 3, 9, 4 ]
                            INTER : [ 9, 4 ]
#15
                                    © Valtech 2011
Share Nothing, pas de transactionnel

      Distribution
      Partionnement / Sharding
      Replication
      Versionning




#16
                                 © Valtech 2011
Pas de langage de requête, pas de jointures


      Interface de type get/put
            • put user:1:name claude
            • get user:1:name
            • list user:*:name

      Les valeurs sont des tableaux d’octets ou des types prédéfinis

      API propriétaires
      Bindings dans différents langages
      Apache Thrift, Avro, parfois JPA ou JDO
      Des compléments SQL Like : Pig, Hive

#17
                                   © Valtech 2011
Use case : Données massives, parallélisation




#18
                      © Valtech 2011
Gestion des logs chez Twitter

      12 millions de tweets / jour
      7 To de logs par jour

      Double plusieurs fois par an
      Saturation des systèmes de gestion de
          logs traditionnels
            • Pertes de logs                          7 disques standards
            • Perte d’information
                                                      14 disques de laptop
                                                      24,3h d’écriture sur
                                                      un disque à 80Mo/s




#19
                                     © Valtech 2011
Analytics des tweets chez Twitter

      Quoi ?
            • Compte les actions sur les URL (clic, favoris, retweet)
            • Comptabilise par annonceur/campagne/tweet_id

      A quoi ça sert ?
            • Cette url a été retweeté 121 fois (en temps réel)
            • Les analytics des promoted tweets
            • Le monitoring interne de cette activité

      Exigences
            •   100 000 Write/s
            •   10 000 Read/s
            •   >100 To
            •   < 100ms

#20
                                      © Valtech 2011
Map Reduce
                                                Reduce function :
                                               Compter par couleur
      Input             Map
                                                      Reduce
              10:                10:

              25:                25:
                                                        1+
                        ...                             1+           7
                    …                                   1+
                                                        …
              Map function :
                 couleur
      Input

                        Map
                                                         1+
              56:                56:                     1+          9
                                                         1+
              78:                78:                     …
                        ...
                    …


#21
                              © Valtech 2011
Map Reduce : Scalabilité                Shuffle Sort :
                                            Ranger par
      Input         Map
                                             couleur
              12:         12:
                                                         Reduce
                    ...                      12:            1+    45
                                                            1+
      Input         Map                                     …

              36:         36:                36:
                    ...


      Input         Map
              64:         64:                64:         Reduce
                    …                                       1+    63
                                                            1+
                                                            …
      Input         Map

              85:         85:                85:
                    …


#22
                           © Valtech 2011
Map Reduce : Combien de tweets par user_id ?

      Map :
              • Déterminer le user_id d’un tweet
              • Réparti sur les nœuds où sont stockés les tweets

      Reduce :
              • Totaliser par user_id
              • Centralisé ou réparti par range de user_id

      Très adapté aux langages fonctionnels :
            • Support natif du Map/Reduce
            • collect { it.getArea() }
            • groupBy { it.color }.sum()



#23
                                       © Valtech 2011
Use Case : Facilité d’utilisation




#24
                        © Valtech 2011
User history chez bit.ly

      Bit.ly
               • 50 Millions d’utilisateurs
               • 10 000 d’accès simultanés
               • 1,25 milliards de raccourcis par mois (1000/s pic)

      Stockage des user history dans MongoDB
               • url raccourcies, leurs stats, les accès




#25
                                         © Valtech 2011
Les bases Documents

      Facile à utiliser
            • Manipulation de collections d’objets
            • Bien intégré aux langages fonctionnels
            • Accès en REST

      Rapide
            • Pas de jointure pour retrouver les données dépendantes
            • Stocker une portion de la base sur le client

      Flexible
            • Evolutivité du schéma



#26
                                      © Valtech 2011
Use case : utiliser le modèle de données adapté




#27
                      © Valtech 2011
Twitter : activité des amis

      12 millions de tweets
            • Autojointure sur n millions de lignes ?
            • Compter les tweets avec un count(*) sur des millions de lignes ?

      FlockDB pour reconstruire le réseau social




#28
                                     © Valtech 2011
Les bases Graphe

      Représentation native des réseaux de personnes, d’équipement, de
          concepts …

      Manipulation d’objets
            • Les noeuds et les relations sont des objets

      Langages des requêtes : SparQL, Gremlin

      Souvent transactionnelles

      Réplication mais montent un peu moins en charge
            • Jusqu’à 1 milliard de nœuds/relation/propriété


#29
                                     © Valtech 2011
Sommaire

           Partie 1                                     Partie 3
      Contexte et enjeux                        Les 10 commandements


                 Partie 2
            Le tour du monde




#30
                               © Valtech 2011
Les dix commandements


      1 - Solution très bonnes pour les gros volumes et la haute disponibilité
          Cassandra, Google Tables, Amazone Tables , Azure Tables,…

      2 - Solution très bonnes pour la distribution de données
          Map Reduce, Cloud DB, Web 2.0


      3 - Plus de souplesse des schémas
          Solution Orienté Colonne




#31
                                 © Valtech 2011
Les dix commandements


      4 - NoSQL ne remplace pas les systèmes classiques
          Oracle, MySQL, DB2, SQL Server, ….

      5 - Pas de standards
          Pas de langage commun , Pas d’outils de type ORM,
          Outil d’administration faible


      6 - Attention à la sécurité sur les bases NoSQL
          Pas d’accès restreint




#32
                                  © Valtech 2011
Les dix commandements


      7 - Pas de transaction
          Des problématiques qui remontent au niveau Applicatif , Perte d’acidité ,….

      8 – Performance très bonne
          N’implémentent que les mécanismes dont elles ont besoin


      9 - Coûts très attractifs et très bonne réputation en production
          Cassandra, BigTable, Dynamo, ….




#33
                                  © Valtech 2011
Les dix commandements



      10 - Avenir incertain du mouvement NoSQL
          Apparition d’ORM, prise en charge de la sécurité, Architecture Hybride,
          CQRS (« Command and Query Responsability Segregation ».) ,
          Sharding with SQL Azure




#34
                                  © Valtech 2011
Solution Architecture Hybride




#35
                         © Valtech 2011
No SQL, No Relationnel




#36
                     © Valtech 2011
SGBD No Relationnel




#37
                      © Valtech 2011
Droits de reproduction

•    Vous êtes libres de :
- Partager : reproduire, distribuer et communiquer cette présentation
- Remixer : modifier cette présentation

•    Selon la condition de « Paternité » :
Vous devez impérativement citer le(s) auteur(s) ou le(s) titulaire(s) des
droits (mais pas d'une manière qui suggérerait qu'ils vous soutiennent
ou approuvent votre utilisation du contenu).

•   Plus d’informations : http://fr.creativecommons.org




                                 © Valtech 2011

Más contenido relacionado

Destacado

Digital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDigital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDanairat Thanabodithammachari
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxLaurent Broudoux
 
Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016Charlene Li
 
Mamoiada 2
Mamoiada 2Mamoiada 2
Mamoiada 2nivolasy
 
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2Sunami Hokuto
 
Les chiffres de l'immobilier en station
Les chiffres de l'immobilier en station Les chiffres de l'immobilier en station
Les chiffres de l'immobilier en station Eolas Wkg
 
Intervention lesson
Intervention lessonIntervention lesson
Intervention lessonnckdeleon
 
Mettre en scène l'info sur le web etienne thierry-ayme
Mettre en scène l'info sur le web   etienne thierry-aymeMettre en scène l'info sur le web   etienne thierry-ayme
Mettre en scène l'info sur le web etienne thierry-aymecfpj75
 
Francese+ federica piras 2
Francese+ federica piras 2Francese+ federica piras 2
Francese+ federica piras 2nivolasy
 
Statuts 2011
Statuts 2011Statuts 2011
Statuts 2011fabwis
 
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...Valtech
 
WL TelPay Tutorial FRENCH (1)
WL TelPay Tutorial FRENCH (1)WL TelPay Tutorial FRENCH (1)
WL TelPay Tutorial FRENCH (1)Claudia Baha
 
Celebrando la independencia
Celebrando la independenciaCelebrando la independencia
Celebrando la independenciaRo Alanis
 
Hello ! c'est mon annif.pps
Hello ! c'est mon annif.ppsHello ! c'est mon annif.pps
Hello ! c'est mon annif.ppszoesalihoglu
 
Travail de français (Borja Jiménez)
Travail de français (Borja Jiménez)Travail de français (Borja Jiménez)
Travail de français (Borja Jiménez)BorjaJimnezAlguacil
 
Corte Grande N° 44 - Dicembre 2009
Corte Grande N° 44 - Dicembre 2009Corte Grande N° 44 - Dicembre 2009
Corte Grande N° 44 - Dicembre 2009Corte Grande
 
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...Silicon Village
 

Destacado (20)

Digital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by DanairatDigital Transformation, Enterprise Architecture, Big Data by Danairat
Digital Transformation, Enterprise Architecture, Big Data by Danairat
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016Top Digital Transformation Trends and Priorities for 2016
Top Digital Transformation Trends and Priorities for 2016
 
Mamoiada 2
Mamoiada 2Mamoiada 2
Mamoiada 2
 
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2
伝わるプレゼンの組み立てかたを考える - 関西アンカンファレンス#2
 
Les chiffres de l'immobilier en station
Les chiffres de l'immobilier en station Les chiffres de l'immobilier en station
Les chiffres de l'immobilier en station
 
Intervention lesson
Intervention lessonIntervention lesson
Intervention lesson
 
Mettre en scène l'info sur le web etienne thierry-ayme
Mettre en scène l'info sur le web   etienne thierry-aymeMettre en scène l'info sur le web   etienne thierry-ayme
Mettre en scène l'info sur le web etienne thierry-ayme
 
Francese+ federica piras 2
Francese+ federica piras 2Francese+ federica piras 2
Francese+ federica piras 2
 
Statuts 2011
Statuts 2011Statuts 2011
Statuts 2011
 
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...
Valtech - Quels sont les critères déterminants pour choisir une plateforme E-...
 
Healthcity
HealthcityHealthcity
Healthcity
 
WL TelPay Tutorial FRENCH (1)
WL TelPay Tutorial FRENCH (1)WL TelPay Tutorial FRENCH (1)
WL TelPay Tutorial FRENCH (1)
 
Celebrando la independencia
Celebrando la independenciaCelebrando la independencia
Celebrando la independencia
 
Hello ! c'est mon annif.pps
Hello ! c'est mon annif.ppsHello ! c'est mon annif.pps
Hello ! c'est mon annif.pps
 
Travail de français (Borja Jiménez)
Travail de français (Borja Jiménez)Travail de français (Borja Jiménez)
Travail de français (Borja Jiménez)
 
2 As AdWords de Google
2 As AdWords de Google2 As AdWords de Google
2 As AdWords de Google
 
Corte Grande N° 44 - Dicembre 2009
Corte Grande N° 44 - Dicembre 2009Corte Grande N° 44 - Dicembre 2009
Corte Grande N° 44 - Dicembre 2009
 
Fotos ni fr 1
Fotos  ni fr 1Fotos  ni fr 1
Fotos ni fr 1
 
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...
Comment s’impliquer dans le 7e programme-cadre de recherche de l’Union europé...
 

Similar a Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD

Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQLAntoine Augusti
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
États des lieux du Web sémantique
États des lieux du Web sémantiqueÉtats des lieux du Web sémantique
États des lieux du Web sémantiqueIvan Herman
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementLudovic REUS
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Loic Ortola
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileIppon
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéJulien Dubois
 
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Fabien Gandon
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps Devoteam Revolve
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de phpGautier DUMAS
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Microsoft
 
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
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTCHAKER ALLAOUI
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletJerome Louvel
 

Similar a Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD (20)

Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
Hadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas VialHadoop Graph Analysis par Thomas Vial
Hadoop Graph Analysis par Thomas Vial
 
Do you speak technique ?
Do you speak technique ?Do you speak technique ?
Do you speak technique ?
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
États des lieux du Web sémantique
États des lieux du Web sémantiqueÉtats des lieux du Web sémantique
États des lieux du Web sémantique
 
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...
 
Serveur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développementServeur web / Base de donnees Langages de développement
Serveur web / Base de donnees Langages de développement
 
Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)Modern DevOps - kill the bottleneck (part 1/2)
Modern DevOps - kill the bottleneck (part 1/2)
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et MobileNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et Mobile
 
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilitéNouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
Nouveau look pour une nouvelle vie : HTML5, Spring, NoSQL et mobilité
 
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
Les technologies du web, les standards de l'innovation ouverte : état de l'ar...
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
[Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps [Oldies] Club client D2SI : DevOps
[Oldies] Club client D2SI : DevOps
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 
SQL Server et les développeurs
SQL Server et les développeurs SQL Server et les développeurs
SQL Server et les développeurs
 
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoTBenchmarking NoSQL DataBase dans le cadre d'un projet IoT
Benchmarking NoSQL DataBase dans le cadre d'un projet IoT
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 

Más de Valtech

Valtech - Réalité virtuelle : analyses, perspectives, démonstrations
Valtech - Réalité virtuelle : analyses, perspectives, démonstrationsValtech - Réalité virtuelle : analyses, perspectives, démonstrations
Valtech - Réalité virtuelle : analyses, perspectives, démonstrationsValtech
 
CES 2016 - Décryptage et revue des tendances
CES 2016 - Décryptage et revue des tendancesCES 2016 - Décryptage et revue des tendances
CES 2016 - Décryptage et revue des tendancesValtech
 
Stéphane Roche - Agilité en milieu multiculturel
Stéphane Roche - Agilité en milieu multiculturelStéphane Roche - Agilité en milieu multiculturel
Stéphane Roche - Agilité en milieu multiculturelValtech
 
Valtech - Internet of Things & Big Data : un mariage de raison
Valtech - Internet of Things & Big Data : un mariage de raisonValtech - Internet of Things & Big Data : un mariage de raison
Valtech - Internet of Things & Big Data : un mariage de raisonValtech
 
Tendances digitales et créatives // Cannes Lions 2015
Tendances digitales et créatives // Cannes Lions 2015Tendances digitales et créatives // Cannes Lions 2015
Tendances digitales et créatives // Cannes Lions 2015Valtech
 
Valtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entrepriseValtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entrepriseValtech
 
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015Valtech
 
Valtech - Architecture Agile des SI
Valtech - Architecture Agile des SIValtech - Architecture Agile des SI
Valtech - Architecture Agile des SIValtech
 
Valtech - Big Data en action
Valtech - Big Data en actionValtech - Big Data en action
Valtech - Big Data en actionValtech
 
Tendances mobiles et digitales du MWC 2015
Tendances mobiles et digitales du MWC 2015Tendances mobiles et digitales du MWC 2015
Tendances mobiles et digitales du MWC 2015Valtech
 
CES 2015 : Décryptage et tendances / Objets connectés
CES 2015 : Décryptage et tendances / Objets connectésCES 2015 : Décryptage et tendances / Objets connectés
CES 2015 : Décryptage et tendances / Objets connectésValtech
 
Valtech - Big Data en action
Valtech - Big Data en actionValtech - Big Data en action
Valtech - Big Data en actionValtech
 
Valtech - Economie Collaborative
Valtech - Economie CollaborativeValtech - Economie Collaborative
Valtech - Economie CollaborativeValtech
 
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014Valtech
 
[Veille thématique et décryptage] Cannes Lions 2014
[Veille thématique et décryptage] Cannes Lions 2014[Veille thématique et décryptage] Cannes Lions 2014
[Veille thématique et décryptage] Cannes Lions 2014Valtech
 
Valtech - Usages et technologie SaaS
Valtech - Usages et technologie SaaSValtech - Usages et technologie SaaS
Valtech - Usages et technologie SaaSValtech
 
[ Revue Innovations ] Valtech - Mobile World Congress
[ Revue Innovations ] Valtech - Mobile World Congress[ Revue Innovations ] Valtech - Mobile World Congress
[ Revue Innovations ] Valtech - Mobile World CongressValtech
 
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014Valtech
 
[ Veille de tendances ] Valtech : Objets connectés
[ Veille de tendances ] Valtech : Objets connectés[ Veille de tendances ] Valtech : Objets connectés
[ Veille de tendances ] Valtech : Objets connectésValtech
 
Valtech - Sharepoint et le cloud Azure
Valtech - Sharepoint et le cloud AzureValtech - Sharepoint et le cloud Azure
Valtech - Sharepoint et le cloud AzureValtech
 

Más de Valtech (20)

Valtech - Réalité virtuelle : analyses, perspectives, démonstrations
Valtech - Réalité virtuelle : analyses, perspectives, démonstrationsValtech - Réalité virtuelle : analyses, perspectives, démonstrations
Valtech - Réalité virtuelle : analyses, perspectives, démonstrations
 
CES 2016 - Décryptage et revue des tendances
CES 2016 - Décryptage et revue des tendancesCES 2016 - Décryptage et revue des tendances
CES 2016 - Décryptage et revue des tendances
 
Stéphane Roche - Agilité en milieu multiculturel
Stéphane Roche - Agilité en milieu multiculturelStéphane Roche - Agilité en milieu multiculturel
Stéphane Roche - Agilité en milieu multiculturel
 
Valtech - Internet of Things & Big Data : un mariage de raison
Valtech - Internet of Things & Big Data : un mariage de raisonValtech - Internet of Things & Big Data : un mariage de raison
Valtech - Internet of Things & Big Data : un mariage de raison
 
Tendances digitales et créatives // Cannes Lions 2015
Tendances digitales et créatives // Cannes Lions 2015Tendances digitales et créatives // Cannes Lions 2015
Tendances digitales et créatives // Cannes Lions 2015
 
Valtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entrepriseValtech - Du BI au Big Data, une révolution dans l’entreprise
Valtech - Du BI au Big Data, une révolution dans l’entreprise
 
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015
Valtech / Adobe - Résultats du Baromètre Marketing Digital 2015
 
Valtech - Architecture Agile des SI
Valtech - Architecture Agile des SIValtech - Architecture Agile des SI
Valtech - Architecture Agile des SI
 
Valtech - Big Data en action
Valtech - Big Data en actionValtech - Big Data en action
Valtech - Big Data en action
 
Tendances mobiles et digitales du MWC 2015
Tendances mobiles et digitales du MWC 2015Tendances mobiles et digitales du MWC 2015
Tendances mobiles et digitales du MWC 2015
 
CES 2015 : Décryptage et tendances / Objets connectés
CES 2015 : Décryptage et tendances / Objets connectésCES 2015 : Décryptage et tendances / Objets connectés
CES 2015 : Décryptage et tendances / Objets connectés
 
Valtech - Big Data en action
Valtech - Big Data en actionValtech - Big Data en action
Valtech - Big Data en action
 
Valtech - Economie Collaborative
Valtech - Economie CollaborativeValtech - Economie Collaborative
Valtech - Economie Collaborative
 
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014
Valtech - Adobe - Résultats du Baromètre Digital Marketing 2014
 
[Veille thématique et décryptage] Cannes Lions 2014
[Veille thématique et décryptage] Cannes Lions 2014[Veille thématique et décryptage] Cannes Lions 2014
[Veille thématique et décryptage] Cannes Lions 2014
 
Valtech - Usages et technologie SaaS
Valtech - Usages et technologie SaaSValtech - Usages et technologie SaaS
Valtech - Usages et technologie SaaS
 
[ Revue Innovations ] Valtech - Mobile World Congress
[ Revue Innovations ] Valtech - Mobile World Congress[ Revue Innovations ] Valtech - Mobile World Congress
[ Revue Innovations ] Valtech - Mobile World Congress
 
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014
Valtech - Digitalisation du Point de Vente - Toulouse - Février 2014
 
[ Veille de tendances ] Valtech : Objets connectés
[ Veille de tendances ] Valtech : Objets connectés[ Veille de tendances ] Valtech : Objets connectés
[ Veille de tendances ] Valtech : Objets connectés
 
Valtech - Sharepoint et le cloud Azure
Valtech - Sharepoint et le cloud AzureValtech - Sharepoint et le cloud Azure
Valtech - Sharepoint et le cloud Azure
 

Valtech - NoSQL: le nuage souffle un nouvel R sur les SGBD

  • 1. NoSQL : Le nuage souffle un nouvel « R » sur les SGBD Claude Falguière Herve Desaunois Senior Consultante Directeur Opérationnel Valtech Paris Valtech Toulouse © Valtech 2011
  • 2. Sommaire Partie 1 Contexte et enjeux Partie 3 Partie 2 Les 10 commandements Le tour du monde #2 © Valtech 2011
  • 3. Sommaire Partie 1 Contexte et enjeux Partie 3 Les 10 commandements Partie 2 Le tour du monde #3 © Valtech 2011
  • 4. NoSQL ? #4 © Valtech 2011
  • 5. NoSQL "Not only SQL" • Technologie relative aux bases de données Alternatives au SGBD relationnels pour gérer de gros volumes • Émergence printemps 2009 avec le Cloud Computing et le Web 2.0 BigTable Google, Dynamo Amazone, Cassandra Facebook, Twitter • De nombreuses solutions Open Source Cassandra, CouchDB, MongoDB, Riak, Neo4J …. #5 © Valtech 2011
  • 6. L’écosystème NoSQL Document Colonne Clé Valeur Graphe #6 © Valtech 2011
  • 7. Return On Invest Coût faible Gros Volume Haute Disponibilité Alternatives intéressante au solution de type RAC (Real Application Cluster) #7 © Valtech 2011
  • 8. Le CAP Theorem (Eric Brewer) #8 © Valtech 2011
  • 9. Sommaire Partie 2 Le tour du monde Partie 1 Partie 3 Contexte et enjeux Les 10 commandements #9 © Valtech 2011
  • 10. Les bases Clé Valeur Implémentations très nombreuses Structure de données très simple Clé Valeur • Map Clé Valeur Clé Valeur Base simple à créer Redis, BigTable, Voldemort, MemcacheDB … #10 © Valtech 2011
  • 11. Les bases Colonnes Une table est définie par des familles de colonnes • Chaque famille peut avoir un nombre quelconque de colonnes • Les colonnes sont représentées par des couples clés-valeur Optimisé pour l’accès par colonne Famille Représentation plus flexible Clé Clé Valeur Clé Valeur • One to many • Grand nombre de colonnes Clé Clé Valeur Clé Valeur • Sparse data Clé Clé Valeur Clé Valeur HBase, Cassandra Colonne #11 © Valtech 2011
  • 12. Les bases Document La clé correspond à un document soit Clé XML soit JSON Clé Valeur Clé Valeur Retrouver avec une seule clé un Clé Valeur ensemble d’informations structurées de manière hiérarchique Clé Valeur • L’utilisateur, ses statuts, ses amis Clé Valeur Clé Valeur L’équivalent en relationnel impliquerait beaucoup de jointures Clé Valeur Clé Valeur MongoDB, CouchDB #12 © Valtech 2011
  • 13. Les bases Graphe Reposent sur la notion de nœuds et de relations et de propriétés Source: neo4J Traitement des données de réseaux sociaux • l’utilisateur, ses amis, les amis de ses amis En phase avec les outils du web sémantique (RDF, SparQL) Neo4J #13 © Valtech 2011
  • 14. Use case : accès rapide #14 © Valtech 2011
  • 15. Redis à Skyrock Calculer en temps réel les amis connectés 20h30 : [ 1,4,6,9,10,15,17,25 ] 20h29 : [ 1,6,9,10,15,17,25 ] 20h28 : [ 4,6,9,10,13;15,25 ] 20h27 : [ 1,4,6,9,10,13,18,25 ] 20h26 : [ 1,4,6,9,10,18,20 ] UNION : [ 10,1,20,4,13,15,6,18,9,17,25 ] follows : [ 7, 3, 9, 4 ] INTER : [ 9, 4 ] #15 © Valtech 2011
  • 16. Share Nothing, pas de transactionnel Distribution Partionnement / Sharding Replication Versionning #16 © Valtech 2011
  • 17. Pas de langage de requête, pas de jointures Interface de type get/put • put user:1:name claude • get user:1:name • list user:*:name Les valeurs sont des tableaux d’octets ou des types prédéfinis API propriétaires Bindings dans différents langages Apache Thrift, Avro, parfois JPA ou JDO Des compléments SQL Like : Pig, Hive #17 © Valtech 2011
  • 18. Use case : Données massives, parallélisation #18 © Valtech 2011
  • 19. Gestion des logs chez Twitter 12 millions de tweets / jour 7 To de logs par jour Double plusieurs fois par an Saturation des systèmes de gestion de logs traditionnels • Pertes de logs 7 disques standards • Perte d’information 14 disques de laptop 24,3h d’écriture sur un disque à 80Mo/s #19 © Valtech 2011
  • 20. Analytics des tweets chez Twitter Quoi ? • Compte les actions sur les URL (clic, favoris, retweet) • Comptabilise par annonceur/campagne/tweet_id A quoi ça sert ? • Cette url a été retweeté 121 fois (en temps réel) • Les analytics des promoted tweets • Le monitoring interne de cette activité Exigences • 100 000 Write/s • 10 000 Read/s • >100 To • < 100ms #20 © Valtech 2011
  • 21. Map Reduce Reduce function : Compter par couleur Input Map Reduce 10: 10: 25: 25: 1+ ... 1+ 7 … 1+ … Map function : couleur Input Map 1+ 56: 56: 1+ 9 1+ 78: 78: … ... … #21 © Valtech 2011
  • 22. Map Reduce : Scalabilité Shuffle Sort : Ranger par Input Map couleur 12: 12: Reduce ... 12: 1+ 45 1+ Input Map … 36: 36: 36: ... Input Map 64: 64: 64: Reduce … 1+ 63 1+ … Input Map 85: 85: 85: … #22 © Valtech 2011
  • 23. Map Reduce : Combien de tweets par user_id ? Map : • Déterminer le user_id d’un tweet • Réparti sur les nœuds où sont stockés les tweets Reduce : • Totaliser par user_id • Centralisé ou réparti par range de user_id Très adapté aux langages fonctionnels : • Support natif du Map/Reduce • collect { it.getArea() } • groupBy { it.color }.sum() #23 © Valtech 2011
  • 24. Use Case : Facilité d’utilisation #24 © Valtech 2011
  • 25. User history chez bit.ly Bit.ly • 50 Millions d’utilisateurs • 10 000 d’accès simultanés • 1,25 milliards de raccourcis par mois (1000/s pic) Stockage des user history dans MongoDB • url raccourcies, leurs stats, les accès #25 © Valtech 2011
  • 26. Les bases Documents Facile à utiliser • Manipulation de collections d’objets • Bien intégré aux langages fonctionnels • Accès en REST Rapide • Pas de jointure pour retrouver les données dépendantes • Stocker une portion de la base sur le client Flexible • Evolutivité du schéma #26 © Valtech 2011
  • 27. Use case : utiliser le modèle de données adapté #27 © Valtech 2011
  • 28. Twitter : activité des amis 12 millions de tweets • Autojointure sur n millions de lignes ? • Compter les tweets avec un count(*) sur des millions de lignes ? FlockDB pour reconstruire le réseau social #28 © Valtech 2011
  • 29. Les bases Graphe Représentation native des réseaux de personnes, d’équipement, de concepts … Manipulation d’objets • Les noeuds et les relations sont des objets Langages des requêtes : SparQL, Gremlin Souvent transactionnelles Réplication mais montent un peu moins en charge • Jusqu’à 1 milliard de nœuds/relation/propriété #29 © Valtech 2011
  • 30. Sommaire Partie 1 Partie 3 Contexte et enjeux Les 10 commandements Partie 2 Le tour du monde #30 © Valtech 2011
  • 31. Les dix commandements 1 - Solution très bonnes pour les gros volumes et la haute disponibilité Cassandra, Google Tables, Amazone Tables , Azure Tables,… 2 - Solution très bonnes pour la distribution de données Map Reduce, Cloud DB, Web 2.0 3 - Plus de souplesse des schémas Solution Orienté Colonne #31 © Valtech 2011
  • 32. Les dix commandements 4 - NoSQL ne remplace pas les systèmes classiques Oracle, MySQL, DB2, SQL Server, …. 5 - Pas de standards Pas de langage commun , Pas d’outils de type ORM, Outil d’administration faible 6 - Attention à la sécurité sur les bases NoSQL Pas d’accès restreint #32 © Valtech 2011
  • 33. Les dix commandements 7 - Pas de transaction Des problématiques qui remontent au niveau Applicatif , Perte d’acidité ,…. 8 – Performance très bonne N’implémentent que les mécanismes dont elles ont besoin 9 - Coûts très attractifs et très bonne réputation en production Cassandra, BigTable, Dynamo, …. #33 © Valtech 2011
  • 34. Les dix commandements 10 - Avenir incertain du mouvement NoSQL Apparition d’ORM, prise en charge de la sécurité, Architecture Hybride, CQRS (« Command and Query Responsability Segregation ».) , Sharding with SQL Azure #34 © Valtech 2011
  • 36. No SQL, No Relationnel #36 © Valtech 2011
  • 37. SGBD No Relationnel #37 © Valtech 2011
  • 38. Droits de reproduction • Vous êtes libres de : - Partager : reproduire, distribuer et communiquer cette présentation - Remixer : modifier cette présentation • Selon la condition de « Paternité » : Vous devez impérativement citer le(s) auteur(s) ou le(s) titulaire(s) des droits (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation du contenu). • Plus d’informations : http://fr.creativecommons.org © Valtech 2011