J'ai pensé que je pouvais utiliser SimpleDB pour prendre en charge la partie la plus difficile de mon application (en ce qui concerne la mise à l'échelle) - des commentaires de type twitter, mais avec la localisation en plus - jusqu'au moment où je me suis assis pour commencer à l'implémenter réellement avec SDB.
Tout d'abord, SDB est limité à 1000 octets par valeur d'attribut, ce qui n'est pas suffisant, même pour les commentaires (il faut probablement décomposer les valeurs plus longues en plusieurs attributs).
Ensuite, la taille maximale du domaine est de 10 Go. La promesse était que vous pouviez augmenter la taille de votre domaine sans vous préoccuper de la répartition de la base de données, etc. Mais si je comprends bien, avec les domaines, j'aurais exactement le même problème qu'avec le sharding, c'est-à-dire qu'à un moment donné, il faudrait mettre en œuvre la distribution des enregistrements de données et les requêtes entre les domaines au niveau de l'application.
Même pour les objets les plus simples de l'application, à savoir les évaluations atomiques des utilisateurs, SDB n'est pas une option, car il ne peut pas calculer une moyenne dans la requête (tout est basé sur des chaînes). Ainsi, pour calculer l'évaluation moyenne des utilisateurs pour un objet, je devrais charger tous les enregistrements - 250 à la fois - et la calculer au niveau de l'application.
Est-ce que je rate quelque chose à propos de SDB ? Est-ce que 10 Go est vraiment une base de données si importante pour dépasser toutes les limitations de SDB ? J'étais honnêtement enthousiaste à l'idée de profiter de SDB, puisque j'utilise déjà S3 et EC2, mais maintenant je ne vois tout simplement pas de cas d'utilisation.