2011-08-27 5 views
0

Nous prévoyons de développer une application mobile, typiquement iPhone et Android, ainsi qu'un site Web. L'application serveur sera normalement développée avec le grand framework Django. En termes de fonctionnalités, l'application:SQL ou NoSQL pour le développement d'applications mobiles avec Django

  • Soyez multilingue
  • utilisateurs permettent de créer leur propre application intérieure. En gros, abonnez-vous aux modules pour personnaliser le site web propose
  • Permettre aux utilisateurs de personnaliser l'apparence de l'application Web
  • traitent un peu de chance avec un grand nombre d'utilisateurs :-)

Avec de telles caractéristiques, notre Le projet semble être assez complexe en termes de schéma relationnel de base de données. Parce que nous fonctionnons avec un budget très bas, nous voulons que vous soyez agile et que le schéma de base de données relationnelle puisse changer assez longtemps. Si nous utilisons Django, il est automatiquement livré avec une très bonne intégration SQL - ORM et une interface Admin.

Quel serait votre conseil pour notre SGBD? Faut-il aller avec une base de données SQL (intégrée à Django) et modifier le schéma de temps en temps (douloureux?)? Ou vaut-il la peine d'opter pour des bases de données NoSQL telles que MongoDB et/ou d'arrêter d'utiliser Django?

Merci beaucoup pour vos conseils

+0

SQLite n'est-il pas le SGBDR standard utilisé avec Android? – NullUserException

+0

Je parle en fait de la base de données du côté serveur de mon application Mobile et Web. Mais vous avez raison, du côté client, je vais sûrement utiliser SQLite pour Android et l'iPhone. Cependant votre commentaire soulève une bonne réflexion de ma part: Si j'ai besoin d'un schéma SQL du côté client de toute façon qui sera un sous-ensemble de l'information contenue dans la base de données côté serveur, suis-je obligé d'utiliser aussi un RDBMS SQL sur le serveur côté? –

Répondre

1

Je dirais « aller avec celui que vous êtes plus expérimenté avec, afin que vous puissiez vous concentrer sur faire avancer les choses au lieu de tout googler ».

Si vous me demandez - je choisis NoSQL le cas échéant car pour moi il est plus simple à installer, mettre à l'échelle et utiliser. J'aime les solutions basées sur Dynamo (par exemple Riak).

+1

J'ai finalement choisi d'apprendre Node.js avec mongoDB. La raison en est que j'ai essayé pendant un moment de faire fonctionner Django ORM avec une base de données non -rel, mais c'était une erreur. Node.js avec mongoDB est rapide, évolutif et parfait pour mon besoin de construire une API RESTFUL pour les applications mobiles. –

Questions connexes