Page 1 of 1

An Amazon S3 bucket is owned by a customer. A cluster of servers uploads objects concurrently from different data stream

Posted: Thu Jul 21, 2022 10:00 pm
by answerhappygod
An Amazon S3 bucket is owned by a customer. A cluster of servers uploads objects concurrently from different data streams. The client manages an Amazon S3 catalog of items through an Amazon DynamoDB database. This catalog contains the fields StreamName, TimeStamp, and ServerName, which may be used to get the ObjectName.
The client must design the catalog in such a way that it may be queried for a certain stream or server within a specified time period.

Which DynamoDB table design is the most efficient in terms of performance for these queries?

A. Define a Primary Key with ServerName as Partition Key and TimeStamp as Sort Key. Do NOT define a Local Secondary Index or Global Secondary Index.
B. Define a Primary Key with StreamName as Partition Key and TimeStamp followed by ServerName as Sort Key. Define a Global Secondary Index with ServerName as partition key and TimeStamp followed by StreamName.
C. Define a Primary Key with ServerName as Partition Key. Define a Local Secondary Index with StreamName as Partition Key. Define a Global Secondary Index with TimeStamp as Partition Key.
D. Define a Primary Key with ServerName as Partition Key. Define a Local Secondary Index with TimeStamp as Partition Key. Define a Global Secondary Index with StreamName as Partition Key and TimeStamp as Sort Key.