Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python et NoSQL

2,993 views

Published on

Published in: Technology

Python et NoSQL

  1. 1. Python et NoSQL Ronan Amicel @amicelSoirée AFPY – 28 novembre 2011 – La Cantine http://www.slideshare.net/ronan.amicel/python-et-nosql
  2. 2. Quand on n’a qu’un marteau... SGBDR Mon besoinModèle de données relationnel ? Requêtage SQL ? Cohérence forte ? Persistence oui ? ... ... ...
  3. 3. No SQL ?• Une alternative à une base relationnelle• Un complément à une base relationnelle
  4. 4. 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...
  5. 5. • Stockage de documents (sans schéma)• Requêtes sur tous les attributs• Pourquoi ? – plus facile que SQL ! – rapide
  6. 6. • 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...)
  7. 7. • 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)
  8. 8. 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
  9. 9. Questions ?

×