DynamoDB documentation (such as here) explains how to use LastEvaluatedKey to paginate through results. I know that it works, but I would like to understand how. As far as I know DynamoDB builds an unordered hash index on the partition key. Shouldn't that mean that if you give it a key, it doesn't know which keys are before or after it -- because it's not ordered? So how does it then know which keys follow the LastEvaluatedKey? How does this index work? Are new items/keys just appended to it? What happens to deleted items/keys?