SlideShare une entreprise Scribd logo
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

Contenu connexe

Tendances

Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
IliasAEA
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
Amal Abid
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
Amal Abid
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
Mouna Torjmen
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
Amal Abid
 
Business Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseBusiness Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseAlexandre Equoy
 
Introduction à la big data v3
Introduction à la big data v3 Introduction à la big data v3
Introduction à la big data v3
Mehdi TAZI
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
Mouna Torjmen
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
Lilia Sfaxi
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesJean-Marc Dupont
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
Minyar Sassi Hidri
 
Système Information - ETL et EAI - Décisionnel et Opérationnel
Système Information - ETL et EAI - Décisionnel et OpérationnelSystème Information - ETL et EAI - Décisionnel et Opérationnel
Système Information - ETL et EAI - Décisionnel et Opérationnel
Frédéric FAURE
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
Oussama ARBI
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
Mouna Torjmen
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
nzuguem
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
Amal Abid
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
Lilia Sfaxi
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
Aziz Darouichi
 
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
Hatim CHAHDI
 

Tendances (20)

Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Chapitre1 introduction
Chapitre1 introductionChapitre1 introduction
Chapitre1 introduction
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Business Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouseBusiness Intelligence : introduction to datawarehouse
Business Intelligence : introduction to datawarehouse
 
Introduction à la big data v3
Introduction à la big data v3 Introduction à la big data v3
Introduction à la big data v3
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
Projet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de donnéesProjet BI - 2 - Conception base de données
Projet BI - 2 - Conception base de données
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 
Système Information - ETL et EAI - Décisionnel et Opérationnel
Système Information - ETL et EAI - Décisionnel et OpérationnelSystème Information - ETL et EAI - Décisionnel et Opérationnel
Système Information - ETL et EAI - Décisionnel et Opérationnel
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
 
Cours Big Data Chap5
Cours Big Data Chap5Cours Big Data Chap5
Cours Big Data Chap5
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
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
 

En vedette

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
Microsoft 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 NoSQL
Antoine Augusti
 
Bases de données NoSQL
Bases de données NoSQLBases de données NoSQL
Bases de données NoSQL
Samy Dindane
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
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
 
Journee oenotourisme
Journee oenotourismeJournee oenotourisme
Journee oenotourisme
Nicolas Oudart Pro
 
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 2014
Ismail BADACHE
 
Slideshow
SlideshowSlideshow
Slideshow
Maaven
 
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 Maps
Peter 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 lemagicienbet
kelticman
 

En vedette (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
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles 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
 

Similaire à 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
 
Google spanner
Google spannerGoogle spanner
Google spanner
Stéphane NOTTER
 
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 2010
JUG 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 2012
Yves Caseau
 
Restlet et le multi-plateforme
Restlet et le multi-plateformeRestlet et le multi-plateforme
Restlet et le multi-plateforme
Jerome Louvel
 
Architecture des Systèmes Logiciels
Architecture des Systèmes LogicielsArchitecture des Systèmes Logiciels
Architecture des Systèmes Logiciels
Ghazouani 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 Design
DNG Consulting
 
Licences libres
Licences libresLicences libres
Licences libres
University of Lille 1
 
.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
Microsoft
 
manager vs leader.pptx
manager vs leader.pptxmanager vs leader.pptx
manager vs leader.pptx
nadinelaabidi
 
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
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
khouloud Hwerbi
 

Similaire à 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
 

Plus de SOAT

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
SOAT
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
SOAT
 
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 entreprise
SOAT
 
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
SOAT
 
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
SOAT
 
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
SOAT
 
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
SOAT
 
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 Parisot
SOAT
 
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
SOAT
 
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 2014
SOAT
 
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 2014
SOAT
 
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 - Soat
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
SOAT
 

Plus 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
 

Dernier

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
OCTO Technology
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO Technology
 

Dernier (6)

Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO TALKS : 4 Tech Trends du Software Engineering.pdf
OCTO TALKS : 4 Tech Trends du Software Engineering.pdf
 

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

Notes de l'éditeur

  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