SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Python et NoSQL
                    Ronan Amicel
                      @amicel

Soirée AFPY – 28 novembre 2011 – La Cantine


    http://www.slideshare.net/ronan.amicel/python-et-nosql
Quand on n’a
        qu’un marteau...
                     SGBDR        Mon besoin

Modèle de données   relationnel       ?

   Requêtage           SQL            ?

   Cohérence          forte           ?

   Persistence         oui            ?

       ...              ...           ...
No SQL ?


• Une alternative à une base relationnelle
• Un complément à une base relationnelle
Modèles de données
• Relationnel : MySQL, PostgreSQL, ...
• Clé-valeur : Berkeley DB, Tokyo Cabinet,
  leveldb, memcached, membase, Redis...
• Document : CouchDB, MongoDB, Riak...
• Graphe : Neo4J, FlockDB...
• Colonne : BigTable, Cassandra, HBase...
• Stockage de documents (sans schéma)
• Requêtes sur tous les attributs
• Pourquoi ?
  – plus facile que SQL !
  – rapide
• Stockage de documents (sans schéma)
• Requêtes : vues map/reduce en JavaScript
• Pourquoi ?
  – flexible
  – idéal pour applications distribuées
    (réplication, cohérence relâchée...)
• Stockage en mémoire (+ persistence)
• Clé-valeur structuré : listes, ensembles...
• Pourquoi ?
   – couteau suisse : cache, compteurs,
     communication inter-processus (queues,
     pub/sub)...
   – très rapide (~75 000 req/s sur mon MBP)
Et en Python ?
Base de données   Accès bas niveau Accès haut niveau
     SQL           SQLAlchemy (Core)    SQLAlchemy (ORM)
   MongoDB             pymongo            mongolite
   CouchDB         couchdb-python        couchdbkit
     Redis            redis-py              redisco
     Riak          riak-python-client           -
   Cassandra           pycassa          tragedy / lazyboy
     HBase             PyHBase                  -
      Solr              pysolr            sunburnt
Questions ?

Contenu connexe

En vedette

SeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQLSeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQL
Paris, France
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
Emeric Tapachès
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
Mohammed TAMALI
 
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
Fing
 
S1 mq i - statistique descriptive i - résumés des chapitres
S1   mq i - statistique descriptive i - résumés des chapitresS1   mq i - statistique descriptive i - résumés des chapitres
S1 mq i - statistique descriptive i - résumés des chapitres
Abdeslam ELMOUDEN
 

En vedette (20)

SeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQLSeSQL : un moteur de recherche en Python et PostgreSQL
SeSQL : un moteur de recherche en Python et PostgreSQL
 
Presentation r markdown
Presentation r markdown Presentation r markdown
Presentation r markdown
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 
Python et les bases de données non sql
Python et les bases de données non sqlPython et les bases de données non sql
Python et les bases de données non sql
 
R versur Python
R versur PythonR versur Python
R versur Python
 
pandas: a Foundational Python Library for Data Analysis and Statistics
pandas: a Foundational Python Library for Data Analysis and Statisticspandas: a Foundational Python Library for Data Analysis and Statistics
pandas: a Foundational Python Library for Data Analysis and Statistics
 
pandas: Powerful data analysis tools for Python
pandas: Powerful data analysis tools for Pythonpandas: Powerful data analysis tools for Python
pandas: Powerful data analysis tools for Python
 
Data Science with Spark & Zeppelin
Data Science with Spark & ZeppelinData Science with Spark & Zeppelin
Data Science with Spark & Zeppelin
 
Simple big data, in Python
Simple big data, in PythonSimple big data, in Python
Simple big data, in Python
 
Sparkly Notebook: Interactive Analysis and Visualization with Spark
Sparkly Notebook: Interactive Analysis and Visualization with SparkSparkly Notebook: Interactive Analysis and Visualization with Spark
Sparkly Notebook: Interactive Analysis and Visualization with Spark
 
Intro to Apache Spark
Intro to Apache SparkIntro to Apache Spark
Intro to Apache Spark
 
Data Science lifecycle with Apache Zeppelin and Spark by Moonsoo Lee
Data Science lifecycle with Apache Zeppelin and Spark by Moonsoo LeeData Science lifecycle with Apache Zeppelin and Spark by Moonsoo Lee
Data Science lifecycle with Apache Zeppelin and Spark by Moonsoo Lee
 
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
Scikit-learn: apprentissage statistique en Python. Créer des machines intelli...
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Chapitre4 Les sondages à probabilité inégales
Chapitre4 Les sondages à probabilité inégalesChapitre4 Les sondages à probabilité inégales
Chapitre4 Les sondages à probabilité inégales
 
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
Aux frontières du "Do It Yourself" : des Fab Labs à la nouvelle industrie ?
 
S1 mq i - statistique descriptive i - résumés des chapitres
S1   mq i - statistique descriptive i - résumés des chapitresS1   mq i - statistique descriptive i - résumés des chapitres
S1 mq i - statistique descriptive i - résumés des chapitres
 
Django toolbox
Django toolboxDjango toolbox
Django toolbox
 
Explorez vos données présentes dans MongoDB avec Apache Zeppelin
Explorez vos données présentes dans MongoDB avec Apache ZeppelinExplorez vos données présentes dans MongoDB avec Apache Zeppelin
Explorez vos données présentes dans MongoDB avec Apache Zeppelin
 
Big Data visualization with Apache Spark and Zeppelin
Big Data visualization with Apache Spark and ZeppelinBig Data visualization with Apache Spark and Zeppelin
Big Data visualization with Apache Spark and Zeppelin
 

Similaire à Python et NoSQL

Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesTours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Michaël Figuière
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
Ludovic Piot
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
SemWebPro
 

Similaire à Python et NoSQL (20)

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
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
NoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler SofteamNoSQL panorama - Jean Seiler Softeam
NoSQL panorama - Jean Seiler Softeam
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
 
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
MySQL Innovation & Cloud Day - Document Store avec MySQL HeatWave Database Se...
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011Drupal et le NoSQL - drupagora 2011
Drupal et le NoSQL - drupagora 2011
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
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 ...
 
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprisesTours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
Tours JUG (oct 2010) - NoSQL, des grands du Web aux entreprises
 
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
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Oxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigDataOxalide MorningTech #1 - BigData
Oxalide MorningTech #1 - BigData
 
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
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
 
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
Morning with MongoDB Paris 2012 - Cas d'usages courant en entreprise. Présent...
 
Play SQL at PostgreSQL Lyon User Group
Play SQL at PostgreSQL Lyon User GroupPlay SQL at PostgreSQL Lyon User Group
Play SQL at PostgreSQL Lyon User Group
 
Base de données
Base de donnéesBase de données
Base de données
 

Python et NoSQL

  • 1. Python et NoSQL Ronan Amicel @amicel Soirée AFPY – 28 novembre 2011 – La Cantine http://www.slideshare.net/ronan.amicel/python-et-nosql
  • 2. Quand on n’a qu’un marteau... SGBDR Mon besoin Modèle de données relationnel ? Requêtage SQL ? Cohérence forte ? Persistence oui ? ... ... ...
  • 3.
  • 4. No SQL ? • Une alternative à une base relationnelle • Un complément à une base relationnelle
  • 5. Modèles de données • Relationnel : MySQL, PostgreSQL, ... • Clé-valeur : Berkeley DB, Tokyo Cabinet, leveldb, memcached, membase, Redis... • Document : CouchDB, MongoDB, Riak... • Graphe : Neo4J, FlockDB... • Colonne : BigTable, Cassandra, HBase...
  • 6. • Stockage de documents (sans schéma) • Requêtes sur tous les attributs • Pourquoi ? – plus facile que SQL ! – rapide
  • 7. • Stockage de documents (sans schéma) • Requêtes : vues map/reduce en JavaScript • Pourquoi ? – flexible – idéal pour applications distribuées (réplication, cohérence relâchée...)
  • 8. • Stockage en mémoire (+ persistence) • Clé-valeur structuré : listes, ensembles... • Pourquoi ? – couteau suisse : cache, compteurs, communication inter-processus (queues, pub/sub)... – très rapide (~75 000 req/s sur mon MBP)
  • 9. Et en Python ? Base de données Accès bas niveau Accès haut niveau SQL SQLAlchemy (Core) SQLAlchemy (ORM) MongoDB pymongo mongolite CouchDB couchdb-python couchdbkit Redis redis-py redisco Riak riak-python-client - Cassandra pycassa tragedy / lazyboy HBase PyHBase - Solr pysolr sunburnt