Ich erwäge, die Vorteile von spärlichen Indizes zu nutzen, wie im AWS guidelines beschrieben. In dem beschriebenen Beispiel -Dynamo DB: globaler sekundärer Index, spärlicher Index
... in der Tabelle GameScores könnten bestimmte Spieler einen bestimmten Erfolg für ein Spiel verdient haben - wie "Champ" - aber die meisten Spieler nicht. Anstatt die gesamte GameScores-Tabelle für Champs zu durchsuchen, könnten Sie einen globalen sekundären Index mit einem Partitionsschlüssel von Champ und einem Sortierschlüssel von UserId erstellen.
Meine Frage ist: Was passiert, wenn die Anzahl der Champs sehr groß wird? Ich nehme an, dass die "Champ" -Partition sehr groß wird und Sie eine ungleichmäßige Lastverteilung erfahren würden. Um eine gleichmäßige Lastverteilung zu erhalten, müsste ich den "Champ" -Wert durch Zufallsauswahl (effektiv) über n
Shards, z. Champ.0
, Champ.1
... Champ.99
?
Gibt es alternativ ein anderes Zugriffsmuster, das beim Abrufen von Entitäten mit einem bestimmten Attribut verwendet werden kann, das im Laufe der Zeit stark anwachsen kann?