Déjà, il faut bien être conscient des limitations de mongoDB :

- pas de jointure, on ne peut manipuler qu'une collection à la fois, ce qui
implique souvent de la duplication de données, ou des traitement en Ruby à
côté.
- pas de condition auto-référentielle : impossible de trouver toutes les
lignes où la date de mise à jour est supérieure à la date de création, par
exemple.
- pas de transactions (l'écriture peut être atomique, mais une seule action)
- pas d'intégrité référentielle

Toutes ces limitations peuvent être un problème ou pas, selon ce qu'on a à
faire. Par contre il faut bien être conscient des limites.

Le NoSQL, c'est guère plus que la réinvention des base de données
hiérarchiques qui étaient utilisées avant les base de données
relationnelles.
Celles-ci ont été inventer pour une raison.

A chacun de savoir les compromis qu'il fait.

++
David


Le 1 mars 2012 16:13, Guirec Corbel <[email protected]> a écrit :

> Bonjour et merci pour ta réponse.
>
> Effectivement je mélange peut être un peu tout. Je pense que ce qui me
> pose vraiment un problème ce sont les requêtes spécifiques aux bases de
> données. Dans mon application je joue beaucoup avec les date, les mois et
> les années. Passé à une solution comme mongodb signifie que je choisis une
> base de données et que je ne n'occupe plus du reste. C'est une solution un
> peu drastique.
>
> Pour ce qui est des gems, j'ai vu qu'il existait des solutions pour la
> plus part d'entre elle. Je trouve que cette solution ressemble à de la
> bidouille et ça risque de s'avérer difficile si je choisi d'utiliser des
> gems moins populaires.
>
> Au niveau de la performance, il semble que mongodb soit excellent.
>
> Mon but est de pouvoir mettre mon application open-source. Il faut donc,
> selon moi, faire en sorte qu'elle puisse être installée dans le plus de
> système possible et passé à mongoid peut être contraignant. Je pense donc
> continuer à gérer les différentes bases de données et utiliser mysql pour
> la mise en production de mon site.
>
> Je voudrais être certain de faire le bon choix. Qu'en pensez vous?
> Certains d'entre vous utilisant surement le NoSql. Quels sont les arguments
> qui vous ont fait faire le grand pas?
>
> Merci et bonne journée à tous!
>
> Le 29 février 2012 17:38, Nicolas Blanco <[email protected]> a écrit :
>
> Tu mélanges un peu tout dans ton post là.
>>
>> Déjà pose toi la question : est-ce que je dois rester en SQL ou passer
>> tout ou une partie sur du NoSQL. Après, pose toi la question de savoir
>> si MongoDB répond à tes attentes. Pour ces questions, cf le trillion
>> d'avis sur le Ouaib.
>>
>> Si tu décides que oui, la question du ODM sera normalement rapidement
>> tranchée : Mongoid. Car sa communauté est plutôt grosse, et la plupart
>> des librairies vraiment spécifiques lorsqu'elles supportent MongoDB
>> supportent généralement en 1er cas Mongoid.
>>
>> Après tes librairies authlogic et meta_search tu peux les mettre à la
>> poubelle, la 1ere est fortement liée à ActiveRecord et n'est plus trop
>> maintenue (faut switcher sur Devise !) et la deuxième est tout
>> bonnement un générateur de SQL via Arel, qui n'a plus trop d'utilité
>> avec Mongoid.
>>
>> 2012/2/29 Guirec Corbel <[email protected]>:
>> > Bonjour à tous,
>> >
>> > Je viens regarder les vidéos sur MongoMapper
>> > (http://railscasts.com/episodes/194-mongodb-and-mongomapper) et Mongoid
>> > (http://railscasts.com/episodes/238-mongoid) et je me pose cette
>> question :
>> > quel ORM/ODM dois-je utiliser?
>> >
>> > Pour le moment je vois ceci d'intéressant dans les solutions utilisant
>> > mongodb :
>> >
>> > Ça évite d'avoir gérer les bases de données multiples. Je souhaite
>> faire un
>> > projet open-source. Il faut donc que chacun puisse la faire tourner sur
>> son
>> > poste sans trop de problèmes et j'ai déjà eu quelques souci avec SQLite
>> et
>> > postgres ce qui fait que j'ai du code spécifique aux base de données ce
>> que
>> > je trouve très dommage.
>> > Plus de migration. Ce n'est pas un gros problème mais c'est une option
>> > sympa.
>> >
>> > Je me doute qu'il y a d'autres avantages mais ce sont les deux qui me
>> > sautent aux yeux.
>> >
>> >
>> > Voila ce que je voudrais savoir :
>> >
>> > Est-ce que je vais devoir refaire une bonne partie de mon code, qui
>> > fonctionne avec ActiveRecord pour faire une migration vers un des
>> Mongos?
>> > Les performances sont elles équivalentes?
>> > Est-ce que les gems que j'utilise vont fonctionner? J'utilise des gems
>> comme
>> > authlogic, meta_search, etc...
>> > Est-ce un obstacle pour les gens qui voudront utiliser mon projet?
>> >
>> > J'aimerai beaucoup avoir vos avis sur la chose.
>> >
>> >
>> > Merci beaucoup et bonne journée,
>> >
>> > Guirec CORBEL.
>> >
>> > --
>> > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>> de
>> > Google Groups.
>> > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>> > [email protected]
>> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
>> > [email protected]
>>
>>
>>
>> --
>> Nicolas Blanco, Web developper
>>
>> http://www.nicolasblanco.fr
>> Jabber/GoogleTalk : [email protected]
>> Twitter : http://twitter.com/slainer68
>> Github : http://github.com/slainer68
>> Skype : slainer68
>>
>> --
>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>> de Google Groups.
>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>> [email protected]
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>> [email protected]
>
>
>  --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
>

-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à