2016-04-16 8 views
1

Die Haupttabelle für meine App wird Fragen halten. Welche der folgenden Optionen wäre eine bessere Wahl für den Partitionsschlüssel?Dynamodb Partition Key für Fragen Tabelle

  1. Behalten Sie die Frage selbst als Partitionsschlüssel bei. Die Fragen können bis zu 200 Zeichen lang
  2. Verwendung redis seine Spur eines Zählers zu halten und verwenden, die als Partition Schlüssel
+0

Eine andere Möglichkeit besteht darin, einen zusammengesetzten Schlüssel basierend auf einem Zeitstempel und möglicherweise der eindeutigen ID des Benutzers zu erstellen, der die Frage gestellt hat, wobei der Hash-Schlüssel die Benutzer-ID und die Uhrzeit der Bereichsschlüssel ist. Dies sind die Fragen, die Sie am häufigsten stellen und wie Sie sie effizient implementieren können. –

Antwort

2

Der Wahl der Option 1 der größte Fehler überhaupt sein würde, weil, wenn Sie auf diese Frage suchen Sie müssen genau den gleichen Wert übergeben, wie es in der Tabelle gilt, selbst ein anderes Zeichen würde dazu führen, dass die Frage nicht gefunden wird.

Sie können mit Option 2 gehen, die einen zufälligen Hash-Schlüssel haben soll, der von redis verfolgt wird. Dies wäre hilfreich beim Abfragen der Daten von DynamoDB.

Ein weiterer Vorteil wäre, dass die Wahrscheinlichkeit von HOT-Schlüsseln geringer ist, was letztendlich zu Durchsatzproblemen bei der Tabelle führen wird.

Weitere Informationen finden Sie unter this.

Verwandte Themen