Nous l'avons utilisé pour une projet sur N sites et dispositifs mobiles desynchronizé (tablette).
Les positifs :
- le modèle document permet plein de chose
Les négatifs :
- le modèle document n'est viable que pour des modèle de donnée simpliste avec tres peu de type de document différent.
- les collisions entre les versions de document
- aucune gestion des contraintes d'intégrité, en clair c'est a vous de réinventer le suppression en cascade, les document en référence null, etc... etc ...
- la lenteur de recherche dans les documents un peu complexe
- un Nieme language de requetage a apprendre ...
- mode connecté/déconnecté pas viable en pratique a cause des gestions de versions et de l'absence de contrainte, les bases finissent dans un état d'intégrité douteux.
CouchDB ne fait pas exception à la règle malheureusement, les bases NoSQL sont faites pour des niches tres spécifique qui ont besoin de moins d'une dizaine de type de document différent.
J'ai pu jouer un peu avec d'autres bases : OrientDB, Casandra et dans une moindre mesure Neo4j et Titan.
Les quelques nouveautés qu'apportent le nosql ne compense pas la quantité de chose perdue, dans le cas de CouchDB on pensait gagner du temps avec le support du mode déconnecté, mais au final tous les éléments manquant à 'bidouiller' part dessus couchdb on prit plus de temps que si on était parti d'une base sql.
Ma recommandation est assez simple : passez votre chemin, restez sur une base traditionnelle
2 |
0 |