Question

Personne n'a jamais considéré l'utilisation de quelque chose le long des lignes de l'Amazon SimpleDB de stockage des données de leur backend de base de données?

Hébergement SQL Server (au moins dans le royaume-UNI) est cher, donc quelque chose comme ceci avec le cloud de stockage de fichiers (S3) être utilisé pour créer des applications qui pourrait évoluer avec votre application.

Bien en théorie, mais quelqu'un pourrait-il envisager de l'utiliser.En fait est ce que quelqu'un fait de l'utiliser maintenant pour de vrai logiciel de production que j'aimerais lire vos commentaires.

Était-ce utile?

La solution

C'est une bonne analyse de Amazon services de Osez.

S3 manipulé ce que j'ai généralement entendu décrit comme "le stockage blob".Une application Web typique a généralement des fichiers multimédias et d'autres ressources (images, feuilles de style CSS, les scripts, les fichiers vidéo, etc) qui est accessible simplement par nom ou chemin d'accès.Toutefois, beaucoup de ces ressources ont également des métadonnées (par ex.un fichier vidéo sur YouTube a métadonnées de notation, qui l'a envoyé, le nombre de vues, etc) qui doivent être enregistrées.Ce besoin de queryable, schématisé sur la figure de stockage est l'endroit où SimpleDB est en.EC2 propose un serveur virtuel qui peut être utilisé pour le calcul complet avec un système de fichiers local instance qui n'est pas persistant si le serveur virtuel tombe en panne pour une raison quelconque.SimpleDB et S3, vous avez les blocs de construction pour la construction d'une grande classe de "Web 2.0" des applications de style quand vous jetez dans les capacités de calcul fournis par EC2.Toutefois, ni S3 ni SimpleDB fournit une solution pour un développeur qui veut simplement typique de la LAMPE ou WISC développeur de l'expérience de la construction d'une base de données de l'application Web ou pour les applications qui peuvent avoir personnalisé les besoins de stockage qui n'entrent pas dans les seaux de stockage blob ou schématisé sur la figure de stockage.Sans accès à une persistante du système de fichiers, les développeurs sur Amazon plateforme de cloud computing ont dû trouver des solutions sophistiquées impliquant la sauvegarde de données manuellement EC2, S3 pour obtenir de l'expérience souhaitée.

Autres conseils

Je viens de terminer l'écriture d'une bibliothèque pour faire le portage d'une application à simpledb en Perl facile, Net::Amazon::SimpleDB::Simple parce que j'ai trouvé le Amazon bibliothèques clientes douloureux.La bibliothèque n'est pas sur le CPAN encore, mais c'est à http://rjurneyopen.s3.amazonaws.com/SimpleDB/Simple.pm L'idée était de rendre trivial pour des trucs hachages dans et hors de SimpleDB.

Je viens de portage d'une application pour l'utiliser.Dans l'ensemble, je suis impressionné par SimpleDB...même inefficace requêtes de ne prendre que 2 ou 3 secondes pour revenir.SimpleDB ne semblent pas se préoccuper de la taille de votre table, grâce à son Erlang/parallèle à la nature.Tablescans sont facile pour elle.

La douleur vient du fait que vous ne pouvez pas compter, de somme ou de groupe par.Si vous projetez de faire aucune de ces choses...ensuite, SimpleDB n'est probablement pas pour vous.À l'heure actuelle en termes de fonctionnalité, il existe quelque part entre memcached et MySQL.Vous pouvez SÉLECTIONNER la COMMANDE PAR LIMITE, ce qui est agréable.Il est aussi agréable que vous n'avez pas à l'échelle-le vous-même, et sa belle qu'il ne se soucie pas de la façon dont beaucoup vous des trucs dedans.Mais des opérations plus avancées comme google analytics sont douloureuses au mieux.Vous aurez à faire vos propres calculs côté serveur.C'est également un gros plus que sur n'importe quel ordinateur, je peux utiliser le simpledb CLI http://code.google.com/p/amazon-simpledb-cli/ pour interroger mes données.

Il y a quelques confusion", de pièges.' Par exemple, les attributs peuvent avoir plus d'une valeur, et vous devez définir explicitement les "remplacer" lorsque le stockage des articles.Par ailleurs, la conservation du fnud ou chaîne null résultats dans une bibliothèque d'erreur, au lieu de supprimer cet attribut paire nom/valeur ou le paramètre null/chaîne vide.

Apprendre à penser en termes d'une grande partie non-normalisé est un peu étrange aussi, c'est pourquoi je voudrais deuxième la suggestion ci-dessus qui dit que c'est meilleur pour de nouvelles applications.Portage à partir de SQL application de SimpleDB serait douloureux parce que la logique de l'application qui devrait changer.La façon dont vous faites les choses un peu différent.L'amazon docs sont assez bon pour expliquer cela.

Tout cela est extractible dans une bibliothèque qui se trouve au sommet de SimpleDB, donc, pour votre utilisation de SimpleDB vous devez choisir une bonne bibliothèque...vous ne voulez probablement pas à traiter directement avec lui.Il y a un peu de travail sur le PHP côté pour faciliter les choses, et il est de ma bibliothèque.Il y a un RAILS de activesource, mais il ne semble pas faire beaucoup pour vous.

Dans l'ensemble il est encore tôt dans le jeu, mais par rapport à d'autres Api (twitter vient à l'esprit), je dois dire que le SimpleDB API REST est assez simple (surtout que c'est du XML) et poli pour travailler avec.Je le recommande...selon les exigences de votre application et de l'économie de votre utilisation.Si vous êtes à la recherche pour rapidement à l'échelle d'un service qui n'est pas d'une grande charge sur la base de données et ne voulez pas vous embêter avec une solution évolutive MySQL/memcache combo...ensuite, SimpleDB peuvent offrir un "simple" solution pour vous.

Je m'attends à ce que ses caractéristiques va continuer à croître et ce sera un bon choix pour les applications de plus en plus qui ne sont plus complexes et intéressants.Mais pour l'instant il est ciblée et appropriée pour votre type Web 2.0 service.

Nous sommes à l'aide de SimpleDB presque exclusivement pour nos nouveaux projets.Le zéro de l'entretien, de la haute disponibilité, pas d'installer les aspects sont tout simplement trop bon.Et pour votre développeurs Ruby, découvrez SimpleRecord, un ActiveRecord comme interface pour SimpleDB qui le rend super facile à utiliser.

Mais avez-vous vraiment besoin de SQL Server?Ne pouvez-vous pas vivre avec PostgreSQL ou MySQL?Les deux se sont avérés être ok pour la plupart des tâches.

Maintenant, si vous avez besoin de fonctionnalités de SQL Server, alors vous êtes hors de la chance.

Une autre option est de louer un serveur.Combien coûte cher?

(J'ai utilisé Amazon S3 pour stocker des images pour une application, c'est ok et fonctionne très bien, au moins pour ça)

Je n'ai pas utilisé SimpleDB, mais ont été à l'aide de la combinaison de S3, EC2, et MySQL pour notre application.

Aussi longtemps que vous êtes prêt à utiliser SimpleDB, alors vous pourriez aussi bien envisager l'utilisation de MySQL (qui est très évolutive, et pas si cher que ça).

Sur le S3 et EC2 côté, il est idéal dans la pratique ainsi.

SimpleDB fonctionne très bien pour de nombreuses applications....si votre projet nécessite beaucoup de l'analyse de rapports, l'assemblage, etc, vous pouvez envisager de MySQL ou un hybride du modèle.

Si vous allez SimpleDB, nous avons développé Radquery.com pour notre usage interne, et l'ouvrit au public.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top