Python et NoSQL                    Ronan Amicel                      @amicelSoirée AFPY – 28 novembre 2011 – La Cantine   ...
Quand on n’a        qu’un marteau...                     SGBDR        Mon besoinModèle de données   relationnel       ?   ...
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, me...
• 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 appli...
• Stockage en mémoire (+ persistence)• Clé-valeur structuré : listes, ensembles...• Pourquoi ?   – couteau suisse : cache,...
Et en Python ?Base de données   Accès bas niveau Accès haut niveau     SQL           SQLAlchemy (Core)    SQLAlchemy (ORM)...
Questions ?
Python et NoSQL
Prochain SlideShare
Chargement dans…5
×

Python et NoSQL

2 735 vues

Publié le

Publié dans : Technologie
2 commentaires
2 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
2 735
Sur SlideShare
0
Issues des intégrations
0
Intégrations
49
Actions
Partages
0
Téléchargements
41
Commentaires
2
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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 ?

×