2011-10-05 3 views
0

J'utilise Python avec Celery et RabbitMQ pour faire une araignée web pour compter le nombre de liens sur une page.Python Céleri Sauvegarder les résultats dans la base de données de façon asynchrone

Une base de données, telle que MySQL, peut-elle être écrite de manière asynchrone? Est-il correct de valider les modifications après chaque ligne ajoutée, ou est-il nécessaire de les charger (multi-add) et de les valider après un certain nombre de lignes/durée?

Je préférerais utiliser SQLAlchemy et MySQL, à moins qu'il n'y ait une combinaison plus recommandée pour Celery/RabbitMQ. Je vois aussi NoSQL (CouchDB?) Recommandé.

+0

Vous pouvez valider les modifications chaque N insère, avec N décemment élevé. http://kevin.vanzonneveld.net/techblog/article/improve_mysql_insert_performance/ –

+0

Comment traiter le verrouillage de base de données lors de l'écriture asynchrone? – Lionel

Répondre

1

Pour les opérations d'écriture intensive comme les compteurs et les journaux, la solution NoSQL est toujours le meilleur choix. Personnellement, j'utilise un mongoDB pour ce genre de tâches.

Questions connexes