2016-06-24 7 views
0

Ich habe ein Problem mit der Leistung der DynamoDB und ich möchte etwas, dass ich ein wenig verwirrt zu löschen.DynamoDB Scan-Performance-Problem

  • Wenn scan für ein 100 der Datensätze in der Tabelle mit books Zustand Attr (z.B. Attr=('Author').eq('some-well-known-author-with-many-books-written')) unter Verwendung von zu tun. Wenn die Author eine 20 Datensätze in der Tabelle gefunden hat, scannt DynamoDB noch die anderen 80 Datensätze?
  • Wie funktioniert die Paginierung beim Scannen?
  • Was sind die Konsequenzen, wenn Sie mehr als Ihre zugewiesene RCU und WCU verbrauchen?

Antwort

0

beantworten Ihre Fragen um:

  • Ja. Scan bedeutet eine Iteration über alle Datensätze in einer Tabelle. Wenn Author Ihr Partitionschlüssel ist und Sie alle von ihr geschriebenen Bücher finden müssen, sollten Sie Query (nicht Scan), in diesem Fall wird es nicht auf andere Author s suchen.
  • Paginierung wie erwartet funktioniert: Wenn Sie n Datensätze in der Tabelle, und Sie Scan mit Limit zu m gesetzt ist, wird DynamoDB Scanm Aufzeichnungen während für jede Seite Daten zurück.
  • DynamoDB drosselt Ihre Anforderungen, wenn Sie versuchen, über konfigurierte RCUs oder WCUs hinauszugehen. Es gibt keine Kosten, wenn Sie sich Sorgen machen.