SlideShare una empresa de Scribd logo
1 de 24
Introduction au NoSQL


                                      Mathieu PARISOT
                                           @matparisot


                   Présentation So@t                     1
       License Creative Commons 2.0 – Share Alike
Agenda

Un petit historique

Les acteurs et les cas d'utilisations

Les principes et les familles

Les probématiques

Le futur


                               Présentation So@t                  2
                   License Creative Commons 2.0 – Share Alike
Un peu d'histoire...

1998 : naissance du terme
   Professional NoSQL par Shashank Tiwari

2009 : meetup de San Francisco
   100 participants des principaux acteurs

1970 : premières bases NoSQL




                                 Présentation So@t                3
                     License Creative Commons 2.0 – Share Alike
Un nom étrange

Première signification : Pas de SQL

Puis : Not Only SQL

Autres noms :
   BigData
   NotRelational

En opposition à SGBDR



                                  Présentation So@t                4
                      License Creative Commons 2.0 – Share Alike
Qui les utilisent ?




            Présentation So@t                5
License Creative Commons 2.0 – Share Alike
Pourquoi faire ?

Gérer des volumes de données énormes
    Plusieurs téra octets


Des performances en lectures/écritures
Centaines de milliers de lectures/secondes
Centaines de milliers d'écritures/secondes


Distribuer ses données
    Répartition multisites
    Éviter les Single Point Of Failure
    Load balancing


S'affranchir des schémas rigides
                                         Présentation So@t                6
                             License Creative Commons 2.0 – Share Alike
Des cas pratiques...

Gérer des logs

Stocker des messages utilisateurs

Stocker des données de crawling

Remplacer les DataWarehouses

Stocker des données hétérogènes


                                Présentation So@t                7
                    License Creative Commons 2.0 – Share Alike
Un contre exemple




            Présentation So@t                8
License Creative Commons 2.0 – Share Alike
Des grands principes...

Pas de jointures

Des moteurs simples

Des Apis propres à chaque moteur

Des données distribuées

Structures flexibles

Duplication des données
                                   Présentation So@t                9
                       License Creative Commons 2.0 – Share Alike
Les types de bases NoSQL

Clefs/Valeurs

Documents

Colonnes

Graphes




                              Présentation So@t                10
                  License Creative Commons 2.0 – Share Alike
Clefs/valeurs




Simple

Rapide

Moteur ne connaît pas le contenu




                                Présentation So@t                11
                    License Creative Commons 2.0 – Share Alike
Documents




Données hiérarchiques
Plusieurs types de documents : XML, JSON, etc.
Indexation possible du contenu




                                Présentation So@t                12
                    License Creative Commons 2.0 – Share Alike
Colonnes




Chaque ligne possède des colonnes différentes

Très flexible




                                Présentation So@t                13
                    License Creative Commons 2.0 – Share Alike
Graphes




Liens complexes et flexibles entre les données

Modélisation proche de la réalité




                                 Présentation So@t                14
                     License Creative Commons 2.0 – Share Alike
Nouvelles problématiques

Changements des paradigmes de modélisation
   Plus proche de la réalité
   Plus proche du code
Problématiques de distribution
   Intégration dans le Cloud
   Théorème de CAP
   Algorithmes distribués
Report de fonctionnalité sur l'application
   Pas de jointures
   Tri difficiles
   Bien choisir ses clefs
Manque d'outils
                                        Présentation So@t                15
                            License Creative Commons 2.0 – Share Alike
Théorème de CAP ou CDP


    SGBDR

                        Disponibilit
                              é
                        (Availability)
   Cohérence
   (Consistenc                                    NoSQL
                         Résistance
       y)
                              au
                         morcellem
                              ent
                           (partition
Impossible                tolerence)

                         Présentation So@t                16
             License Creative Commons 2.0 – Share Alike
Un exemple !




            Présentation So@t                17
License Creative Commons 2.0 – Share Alike
Map/Reduce en théorie

Calcul distribué sur des données énormes (>1Tb)

Découpage du problème en sous problèmes (map)

Agrégation des résultats (reduce)




                                 Présentation So@t                18
                     License Creative Commons 2.0 – Share Alike
Map/Reduce en image




            Présentation So@t                19
License Creative Commons 2.0 – Share Alike
Standardisation

Chaque moteur possède son langage de requêtes

Certains réintègrent un SQL allégé

Frameworks de standardisations :
   En Java : Spring Data, Hibernate OGM
   En DotNet : LINQ


Encore beaucoup de chemin à parcourir


                                   Présentation So@t                20
                       License Creative Commons 2.0 – Share Alike
L'avenir : la guerre

Des technologies jeunes portées par des Startup

Beaucoup de solutions

Les gros du secteurs commencent à s'y intéresser

Dans 10 ans combien auront survécu ?




                                 Présentation So@t                21
                     License Creative Commons 2.0 – Share Alike
L'avenir : multi-BDD

Chaque solution possède ses avantages et inconvénients

Utiliser le bon outil pour le bon problème

Pas de remplacement des SGBDR mais un complément

Au final nos applications auront plusieurs bases




                                  Présentation So@t                22
                      License Creative Commons 2.0 – Share Alike
Les systèmes de caches

Cache = clefs/valeurs distribuées

Stockage en mémoire et sur le disque

Convergence des deux mondes




                                 Présentation So@t                23
                     License Creative Commons 2.0 – Share Alike
Des questions ?


                                   Mathieu PARISOT
                                        @matparisot


                Présentation So@t                     24
    License Creative Commons 2.0 – Share Alike

Más contenido relacionado

La actualidad más candente

Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Lilia Sfaxi
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursHatim CHAHDI
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…MongoDB
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQLkamar MEDDAH
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5Amal Abid
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introductionMouna Torjmen
 

La actualidad más candente (20)

Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture Thinking Big - Big data: principes et architecture
Thinking Big - Big data: principes et architecture
 
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er coursBases de Données non relationnelles, NoSQL (Introduction) 1er cours
Bases de Données non relationnelles, NoSQL (Introduction) 1er cours
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 
BigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-ReduceBigData_TP1: Initiation à Hadoop et Map-Reduce
BigData_TP1: Initiation à Hadoop et Map-Reduce
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
BigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans HadoopBigData_TP2: Design Patterns dans Hadoop
BigData_TP2: Design Patterns dans Hadoop
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Technologies pour le Big Data
Technologies pour le Big DataTechnologies pour le Big Data
Technologies pour le Big Data
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Intro to HBase
Intro to HBaseIntro to HBase
Intro to HBase
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 

Destacado

NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationMicrosoft Technet France
 
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
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQLSamy Dindane
 
Evaluation certificative epreuves externes communes (ceb) 2011 - résultats ...
Evaluation certificative   epreuves externes communes (ceb) 2011 - résultats ...Evaluation certificative   epreuves externes communes (ceb) 2011 - résultats ...
Evaluation certificative epreuves externes communes (ceb) 2011 - résultats ...lesoirbe
 
Journal entries 101
Journal entries 101Journal entries 101
Journal entries 101navat1
 
Social Networks Statistics 2014
Social Networks Statistics 2014Social Networks Statistics 2014
Social Networks Statistics 2014Ismail BADACHE
 
Slideshow
SlideshowSlideshow
SlideshowMaaven
 
Lanoye les bonnes feuilles
Lanoye   les bonnes feuillesLanoye   les bonnes feuilles
Lanoye les bonnes feuilleslesoirbe
 
SharePoint Lesson #45: Image Maps
SharePoint Lesson #45: Image MapsSharePoint Lesson #45: Image Maps
SharePoint Lesson #45: Image MapsPeter Heffner
 
Laudon traver e-commerce4_e_chapter02
Laudon traver e-commerce4_e_chapter02Laudon traver e-commerce4_e_chapter02
Laudon traver e-commerce4_e_chapter02rui6
 
Pre%20 assessment[1]
Pre%20 assessment[1]Pre%20 assessment[1]
Pre%20 assessment[1]navat1
 
Oscaro partenaire de Cars 2 de Disney
Oscaro partenaire de Cars 2 de DisneyOscaro partenaire de Cars 2 de Disney
Oscaro partenaire de Cars 2 de Disneyoscaro-france
 
îLes féroé
îLes féroéîLes féroé
îLes féroélleall
 
Ht lemagicienbet
Ht lemagicienbetHt lemagicienbet
Ht lemagicienbetkelticman
 

Destacado (20)

NoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisationNoSql : conception des schémas, requêtage, et optimisation
NoSql : conception des schémas, requêtage, et optimisation
 
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
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
 
Poemes
PoemesPoemes
Poemes
 
Evaluation certificative epreuves externes communes (ceb) 2011 - résultats ...
Evaluation certificative   epreuves externes communes (ceb) 2011 - résultats ...Evaluation certificative   epreuves externes communes (ceb) 2011 - résultats ...
Evaluation certificative epreuves externes communes (ceb) 2011 - résultats ...
 
Journee oenotourisme
Journee oenotourismeJournee oenotourisme
Journee oenotourisme
 
Journal entries 101
Journal entries 101Journal entries 101
Journal entries 101
 
Social Networks Statistics 2014
Social Networks Statistics 2014Social Networks Statistics 2014
Social Networks Statistics 2014
 
Carte des fetes
Carte des fetesCarte des fetes
Carte des fetes
 
Slideshow
SlideshowSlideshow
Slideshow
 
Lanoye les bonnes feuilles
Lanoye   les bonnes feuillesLanoye   les bonnes feuilles
Lanoye les bonnes feuilles
 
SharePoint Lesson #45: Image Maps
SharePoint Lesson #45: Image MapsSharePoint Lesson #45: Image Maps
SharePoint Lesson #45: Image Maps
 
Rapport activité 2011 otpv
Rapport activité 2011 otpvRapport activité 2011 otpv
Rapport activité 2011 otpv
 
Laudon traver e-commerce4_e_chapter02
Laudon traver e-commerce4_e_chapter02Laudon traver e-commerce4_e_chapter02
Laudon traver e-commerce4_e_chapter02
 
Louaize pres antoine rajeh
Louaize pres antoine rajehLouaize pres antoine rajeh
Louaize pres antoine rajeh
 
Pre%20 assessment[1]
Pre%20 assessment[1]Pre%20 assessment[1]
Pre%20 assessment[1]
 
Oscaro partenaire de Cars 2 de Disney
Oscaro partenaire de Cars 2 de DisneyOscaro partenaire de Cars 2 de Disney
Oscaro partenaire de Cars 2 de Disney
 
îLes féroé
îLes féroéîLes féroé
îLes féroé
 
Ht lemagicienbet
Ht lemagicienbetHt lemagicienbet
Ht lemagicienbet
 
Les rambles
Les ramblesLes rambles
Les rambles
 

Similar a Dojo 02 : Introduction au noSQL

Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesSOAT
 
Introduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuéeIntroduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuéeKhanh Maudoux
 
Prés licences-biz model
Prés licences-biz modelPrés licences-biz model
Prés licences-biz modelPascal Flamand
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010JUG Lausanne
 
Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Starensen
 
Cours chapitre7 2012
Cours chapitre7 2012Cours chapitre7 2012
Cours chapitre7 2012Yves Caseau
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateformeJerome Louvel
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes LogicielsGhazouani Mahdi
 
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...SpikeeLabs
 
Nantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineNantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineGDG Nantes
 
Lepton : Description succincte
Lepton : Description succincteLepton : Description succincte
Lepton : Description succincteO10ée
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven DesignDNG Consulting
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tousMicrosoft
 
manager vs leader.pptx
manager vs leader.pptxmanager vs leader.pptx
manager vs leader.pptxnadinelaabidi
 
Devoxx vu par So@t
Devoxx vu par So@tDevoxx vu par So@t
Devoxx vu par So@tSOAT
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsNormandy JUG
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 

Similar a Dojo 02 : Introduction au noSQL (20)

Introduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuéesIntroduction aux problématiques des architectures distribuées
Introduction aux problématiques des architectures distribuées
 
Introduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuéeIntroduction sur les problématiques d'une architecture distribuée
Introduction sur les problématiques d'une architecture distribuée
 
Google spanner
Google spannerGoogle spanner
Google spanner
 
Prés licences-biz model
Prés licences-biz modelPrés licences-biz model
Prés licences-biz model
 
No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010No Sql - Olivier Mallassi - September 2010
No Sql - Olivier Mallassi - September 2010
 
Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN Bitcoin Liège #S02E05 - LN
Bitcoin Liège #S02E05 - LN
 
Cours chapitre7 2012
Cours chapitre7 2012Cours chapitre7 2012
Cours chapitre7 2012
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateforme
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
 
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
Industrialisation du processus de livraison et pratiques DevOps avec Kubernet...
 
Nantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngineNantes GTUG - Restlet & AppEngine
Nantes GTUG - Restlet & AppEngine
 
Lepton : Description succincte
Lepton : Description succincteLepton : Description succincte
Lepton : Description succincte
 
Introduction au Domain Driven Design
Introduction au Domain Driven DesignIntroduction au Domain Driven Design
Introduction au Domain Driven Design
 
Licences libres
Licences libresLicences libres
Licences libres
 
.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous.NET Microframework, les joies de l'électronique et du code pour tous
.NET Microframework, les joies de l'électronique et du code pour tous
 
manager vs leader.pptx
manager vs leader.pptxmanager vs leader.pptx
manager vs leader.pptx
 
Devoxx vu par So@t
Devoxx vu par So@tDevoxx vu par So@t
Devoxx vu par So@t
 
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB PetalsSoirée SOA - 2010-06-15 - Présentation de l'ESB Petals
Soirée SOA - 2010-06-15 - Présentation de l'ESB Petals
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
 

Más de SOAT

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018SOAT
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libéréeSOAT
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !SOAT
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseSOAT
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-DurandSOAT
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-DurandSOAT
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-DurandSOAT
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotSOAT
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014SOAT
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...SOAT
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014SOAT
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...SOAT
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)SOAT
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#SOAT
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatSOAT
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesSOAT
 

Más de SOAT (20)

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entreprise
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 

Dojo 02 : Introduction au noSQL

  • 1. Introduction au NoSQL Mathieu PARISOT @matparisot Présentation So@t 1 License Creative Commons 2.0 – Share Alike
  • 2. Agenda Un petit historique Les acteurs et les cas d'utilisations Les principes et les familles Les probématiques Le futur Présentation So@t 2 License Creative Commons 2.0 – Share Alike
  • 3. Un peu d'histoire... 1998 : naissance du terme Professional NoSQL par Shashank Tiwari 2009 : meetup de San Francisco 100 participants des principaux acteurs 1970 : premières bases NoSQL Présentation So@t 3 License Creative Commons 2.0 – Share Alike
  • 4. Un nom étrange Première signification : Pas de SQL Puis : Not Only SQL Autres noms : BigData NotRelational En opposition à SGBDR Présentation So@t 4 License Creative Commons 2.0 – Share Alike
  • 5. Qui les utilisent ? Présentation So@t 5 License Creative Commons 2.0 – Share Alike
  • 6. Pourquoi faire ? Gérer des volumes de données énormes Plusieurs téra octets Des performances en lectures/écritures Centaines de milliers de lectures/secondes Centaines de milliers d'écritures/secondes Distribuer ses données Répartition multisites Éviter les Single Point Of Failure Load balancing S'affranchir des schémas rigides Présentation So@t 6 License Creative Commons 2.0 – Share Alike
  • 7. Des cas pratiques... Gérer des logs Stocker des messages utilisateurs Stocker des données de crawling Remplacer les DataWarehouses Stocker des données hétérogènes Présentation So@t 7 License Creative Commons 2.0 – Share Alike
  • 8. Un contre exemple Présentation So@t 8 License Creative Commons 2.0 – Share Alike
  • 9. Des grands principes... Pas de jointures Des moteurs simples Des Apis propres à chaque moteur Des données distribuées Structures flexibles Duplication des données Présentation So@t 9 License Creative Commons 2.0 – Share Alike
  • 10. Les types de bases NoSQL Clefs/Valeurs Documents Colonnes Graphes Présentation So@t 10 License Creative Commons 2.0 – Share Alike
  • 11. Clefs/valeurs Simple Rapide Moteur ne connaît pas le contenu Présentation So@t 11 License Creative Commons 2.0 – Share Alike
  • 12. Documents Données hiérarchiques Plusieurs types de documents : XML, JSON, etc. Indexation possible du contenu Présentation So@t 12 License Creative Commons 2.0 – Share Alike
  • 13. Colonnes Chaque ligne possède des colonnes différentes Très flexible Présentation So@t 13 License Creative Commons 2.0 – Share Alike
  • 14. Graphes Liens complexes et flexibles entre les données Modélisation proche de la réalité Présentation So@t 14 License Creative Commons 2.0 – Share Alike
  • 15. Nouvelles problématiques Changements des paradigmes de modélisation Plus proche de la réalité Plus proche du code Problématiques de distribution Intégration dans le Cloud Théorème de CAP Algorithmes distribués Report de fonctionnalité sur l'application Pas de jointures Tri difficiles Bien choisir ses clefs Manque d'outils Présentation So@t 15 License Creative Commons 2.0 – Share Alike
  • 16. Théorème de CAP ou CDP SGBDR Disponibilit é (Availability) Cohérence (Consistenc NoSQL Résistance y) au morcellem ent (partition Impossible tolerence) Présentation So@t 16 License Creative Commons 2.0 – Share Alike
  • 17. Un exemple ! Présentation So@t 17 License Creative Commons 2.0 – Share Alike
  • 18. Map/Reduce en théorie Calcul distribué sur des données énormes (>1Tb) Découpage du problème en sous problèmes (map) Agrégation des résultats (reduce) Présentation So@t 18 License Creative Commons 2.0 – Share Alike
  • 19. Map/Reduce en image Présentation So@t 19 License Creative Commons 2.0 – Share Alike
  • 20. Standardisation Chaque moteur possède son langage de requêtes Certains réintègrent un SQL allégé Frameworks de standardisations : En Java : Spring Data, Hibernate OGM En DotNet : LINQ Encore beaucoup de chemin à parcourir Présentation So@t 20 License Creative Commons 2.0 – Share Alike
  • 21. L'avenir : la guerre Des technologies jeunes portées par des Startup Beaucoup de solutions Les gros du secteurs commencent à s'y intéresser Dans 10 ans combien auront survécu ? Présentation So@t 21 License Creative Commons 2.0 – Share Alike
  • 22. L'avenir : multi-BDD Chaque solution possède ses avantages et inconvénients Utiliser le bon outil pour le bon problème Pas de remplacement des SGBDR mais un complément Au final nos applications auront plusieurs bases Présentation So@t 22 License Creative Commons 2.0 – Share Alike
  • 23. Les systèmes de caches Cache = clefs/valeurs distribuées Stockage en mémoire et sur le disque Convergence des deux mondes Présentation So@t 23 License Creative Commons 2.0 – Share Alike
  • 24. Des questions ? Mathieu PARISOT @matparisot Présentation So@t 24 License Creative Commons 2.0 – Share Alike

Notas del editor

  1. Quels sont les ingrédients techniques pour la réussite d’un projet? L’effet tunnel Traçabilité de la vie du projet => Livraison régulière, … Et qd il y a bcp de développeurs, qu’est ce qui consomme du tps? L’intégration => qui doit être indépendante de l’env Reproductivité de l’environnement de compilation Reproductivité de l’environnement technique
  2. Quels sont les ingrédients techniques pour la réussite d’un projet? L’effet tunnel Traçabilité de la vie du projet => Livraison régulière, … Et qd il y a bcp de développeurs, qu’est ce qui consomme du tps? L’intégration => qui doit être indépendante de l’env Reproductivité de l’environnement de compilation Reproductivité de l’environnement technique
  3. l’intégration est une activité complexe… l’effort augmente significativement avec : le nombre d’artéfacts, les tests d’intégration…et leurs définitions, le nombre d’erreurs, la qualité du code, … le temps écoulé depuis la dernière intégration. l’intégration continue est apparue avec les pratiques XP avec comme motivation de remplacer les grosses et longues phases d’intégration en fin de projet par des phases plus petites et plus fréquentes l’idée principale : réduire au minimum l’effort d’intégration de l’application sans altérer le processus de développement logiciel
  4. trois composants : Un outil de construction automatisée Tel qu'Ant ou Maven2, permettant aussi bien au développeur qu'à l'outil d'intégration continue de construire tout ou partie du système. Un unique système de gestion de sources, Tel que CVS ou Subversion, contenant les sources et l'historique des modifications apportées par les développeurs sur le système. A chaque mise à jour, le serveur d'intégration continue charge les modifications et exécute la construction complète du système. Un serveur d'intégration continue, Tels que Hudson, Bamboo, Continuum ou Cruise Control. Son rôle est de détecter les mises à jour sur le système de gestion de sources, d'exécuter le cas échéant la construction du système et de notifier l'équipe de développement du résultat