2011-10-19 1 views
1

J'utilise actuellement Amazon SimpleDB. Mais il semble, par le coût, que ce sera trop cher pour ce que je peux me permettre.Quel moteur de base de données devrais-je utiliser pour ce scénario particulier?

J'ai une instance Amazon EC2 m1.small qui exécute très bien le serveur Web frontal. Dans mon seul domaine SDB, j'ai quatre attributs (dont deux que je peux supprimer car ils ont des données dont j'ai rarement besoin maintenant) et le nom de l'élément. Je n'effectue que des requêtes getAttribute (aucune sélection). Basiquement, le nom de l'élément est ce que j'utilise pour trouver des données. Environ 20 lectures et 8 écritures par seconde se produisent sur ce dernier. L'utilisation de la boîte est terriblement élevé, ce qui augmente mes coûts.

Quel serait le meilleur choix de base de données, hébergé sur une instance t1.micro (puisque c'est la seule instance 64 bits bon marché et de bas niveau et d'autres instances 64 bits sont beaucoup trop chères)?

Redis/MongoDB/CouchDB ou quoi? Serait-il même possible d'héberger un serveur de base de données capable de supporter la charge que j'ai mentionnée ci-dessus sur une si petite instance?

Répondre

1

J'ai migré certaines de mes bases de données de SimpleDB à MongoDB pour d'autres raisons. Cependant, je voulais continuer avec le modèle hébergé pour la base de données. Donc, au lieu d'utiliser Amazon SimpleDB, j'utilise maintenant une combinaison de MongoHQ (mongohq.com) et MongoLab (mongolab.com).

Ils ont également un niveau libre, non basé sur le trafic mais sur la taille de votre base de données. Vous devrez analyser les coûts en fonction de la quantité de données que vous traiterez. Il me semble que si vous utilisez uniquement 2 attributs que vous devriez être très bien avec le niveau gratuit pendant un certain temps (MongoLab.com a une limite 250Mb pour le niveau libre)

Depuis deux personnes service hébergé peut être hébergé dans Amazon EC2, ils sont proches de votre frontal, vous n'encourez pas de coûts de bande passante, car ils sont tous dans AWS, et vous aidera avec les performances car vous utiliserez le réseau AWS interne haut débit.

En termes de performance, je pense que 20 lectures et 8 écritures par seconde ne sont pas une grosse affaire et le serveur prendra soin de tous les cycles nécessaires pour soutenir votre application.

Vous pouvez regrouper toutes vos écritures et utiliser la valeur par défaut qui ne fournit aucune réponse pour accélérer les écritures.

Pour vos lectures, assurez-vous d'indexer votre collection correctement et cela devrait fonctionner correctement.

Questions connexes