Je voudrais savoir comment concevoir au mieux mes tables DynamoDB pour le cas d'utilisation suivant et pourquoi. J'ai lu the best practices, mais je ne suis pas sûr de l'avoir bien compris.Format de table DynamoDB
L'utilisation principale est une entrée hebdomadaire pour chaque groupe d'utilisateurs. J'ai besoin de lister ces entrées triées par les entrées les plus récentes pour chaque groupe d'utilisateurs. Je dois également pouvoir obtenir facilement (ou rapidement) l'entrée la plus récente pour chaque groupe. Ma première idée naïve avant de lire l'article était d'utiliser des tables séparées pour chaque groupe, puis chaque entrée avait juste une clé de partition unique et une clé de tri sur une date convertie en secondes depuis l'époque. Mais après avoir lu cet article, cette approche semble violer la conception des partitions car ne fera-t-elle pas de chaque article une nouvelle partition?
Je me rends compte que l'entrée la plus récente pourrait être mise en cache assez facilement dans mes serveurs Web, mais je suis curieux de voir si cela affecte le design de toute façon.
Une guidance?
Génial. Après avoir dormi dessus la nuit dernière, cette même idée m'est venue à l'esprit. Merci pour les conseils sur le débit. Je n'avais pas pensé à ça. – ProdigousRanger
cela ne couvre pas efficacement (c'est-à-dire pas de recherche ou de requêtes multiples) "Je dois également pouvoir obtenir facilement (ou rapidement) l'entrée la plus récente pour chaque groupe." –
Oui, c'est le cas. Une requête avec 'ScanIndexForward = false' (descendant) et' Limit = 1' retournera l'entrée la plus récente d'un groupe d'utilisateurs. Je ne pense pas qu'il y ait un moyen plus performant. – birnbaum