Welchen Suchalgorithmus verwendet Dynamodb?
Der Grund für diese Frage ist:
Wir planen eine UUID als Partitionsschlüssel für die ID eines Benutzers, einer Firma und von Ladetabellen für ein Ladeplatinenprojekt und verwenden DynamoDB.
Die Sache ist, wenn wir Tausende von Datensätzen in einer DynamoDB haben, angeblich eine Benutzertabelle, und ich einen Benutzer mit seiner Benutzer-ID suchen möchte.
Wird die Suche mit der UUID (ff44393c-bec6-4005-a966-15050fd9bb77) oder einer normalen Interger-ID wie (001.002 .....) als Partitionsschlüssel effizienter?
Ich konnte auch sehen, dass das UUID-Format ein Standard ist, der von den meisten Anwendungen beibehalten wird, aber nicht sicher ist, ob ihre Anwendungsfälle mit unseren übereinstimmen.
Antworten
Es gibt einen AWS-Blog, der Empfehlungen zum Partitionsschlüssel gibt:
- Auswahl des richtigen DynamoDB-Partitionsschlüssels
Eine der Empfehlungen lautet:
Verwenden Sie Attribute mit hoher Kardinalität . Hierbei handelt es sich um Attribute, die für jedes Element unterschiedliche Werte haben, z. B. E-Mail-ID, Mitarbeiter-Nr., Kunden-ID, Sitzungs-ID, Bestell-ID usw.
Außerdem schreiben sie, dass die Verwendung von Sequenzen ein Anti-Muster ist. Daher UUIDwäre es in Ihrem Fall besser.