Pas sûr que vous pourriez réussir à remplacer SQLite avec CouchDB et enregistrer toutes ses fonctionnalités, sauf si votre utilisation de SQLite est très basique. Sachant combien de sqlite permet de faire, cela ne pourrait pas être si facile. CouchDB pourrait accélérer vos tests si seulement vous utilisez des requêtes SQL assez triviales ou si vous avez des calculs complexes sur les résultats de la requête. Comme les vues CouchDB stockent des résultats prêts à l'emploi avec une sémantique de demande de mise à jour à la demande, cela pourrait vous faire économiser du temps CPU.
Cependant, avez-vous essayé d'utiliser le stockage :memory:? Ou travailler avec test db sur tmpfs? Notez également qu'avec CouchDB vos tests peuvent souffrir de la latence du réseau - les requêtes HTTP ne sont pas aussi bon marché que les appels de fonction via le pilote (sqlite est juste un pilote de base de données, pas un SGBDR complet).
P.S. Notez que je ne parle pas de position de Django ORM ou d'autres puisque normalement ils ne pourraient pas fournir une bonne efficacité en tant que bibliothèques natives. Par exemple, SQLite permet des requêtes personnalisées SELECT
, tandis que views
est rarement utilisé alors que CouchDB fonctionne mieux avec des requêtes views
prédéfinies plutôt que des requêtes personnalisées (temporary views
).
Il ne semble pas y avoir suffisamment d'informations ici. Changez-vous uniquement pour améliorer les performances de votre test? Vos tests prennent 10 minutes: avez-vous envisagé d'optimiser les performances des tests? Je pense que passer du SQL à un db NoSQL nécessiterait beaucoup de retouches: est-ce le cas ici? – Chris