Question

J'ai une vaste collection de morceaux de données d'une taille de 1 Ko (de l'ordre de plusieurs centaines de millions) et j'ai besoin d'un moyen de stocker et d'interroger ces morceaux de données. Les morceaux de données sont ajoutés, mais jamais supprimés ou mis à jour. Notre service est déployé sur la plate-forme S3, EC2.

Je sais qu'Amazon SimpleDB existe, mais je souhaite une solution indépendante de la plate-forme (au cas où nous aurions besoin de quitter AWS, par exemple).

Ma question est donc la suivante: quels sont les avantages et les inconvénients de ces deux options de stockage et de récupération de blocs de données? Comment comparer la performance?

  • Stockez les fragments de données sous forme de fichiers sur S3 et récupérez-les si nécessaire
  • Stockez les fragments de données sur un cluster de serveurs MySQL

Y aurait-il autant de différence de performances?

Était-ce utile?

La solution

Avez-vous besoin de fournir un accès à ces fragments de données directement aux utilisateurs de votre application? Si ce n'est pas le cas, les demandes S3 et HTTP GET sont excessives. S3 étant également un service sécurisé, les frais généraux pour chaque demande GET (pour seulement 1 Ko de données) seront considérablement plus importants.

Le cluster de serveurs MySQL serait une meilleure idée, mais pour fonctionner dans EC2, vous devez utiliser Elastic Block Storage. Enfin, n'excluez pas SimpleDB. C'est peut-être la meilleure solution à votre problème. Concevez soigneusement votre système pour pouvoir migrer facilement dans d’autres systèmes de base de données (distribués ou relationnels) à l’avenir.

Autres conseils

J'ai essayé d'utiliser S3 comme une sorte de "base de données". utiliser de minuscules fichiers XML pour contenir mes objets de données structurés et utiliser les "clés" S3. pour rechercher ces objets.

La performance était inacceptable, même de la part d’EC2: la latence jusqu’à S3 est tout simplement trop élevée.

L'exécution de MySQL sur un périphérique EBS sera beaucoup plus rapide, même avec autant d'enregistrements.

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