All Questions
Dynamodb hard

An architect creates a GSI with `ProjectionType: KEYS_ONLY`. During a Query on this GSI, the application requests an attribute that exists in the base table but was NOT projected. What is the technical result?

  1. A DynamoDB performs a 'Live Joint' (internal fetch) to the base table to retrieve the attribute, doubling the latency.
  2. B The request fails with a `ValidationException`. Unlike relational databases, DynamoDB does not 'join' back to the base table; the data must be present in the index to be retrieved via index-query.
  3. C It returns the attribute as a null value without error.
  4. D The request succeeds, but the attribute is fetched from the DAX cache only.

One system design question a day, with spaced repetition so the ones you miss come back.

Get the app

Related questions