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.
An Amazon S3 bucket is owned by a customer. A cluster of servers uploads objects concurrently from different data stream
-
answerhappygod
- Site Admin
- Posts: 899604
- Joined: Mon Aug 02, 2021 8:13 am
An Amazon S3 bucket is owned by a customer. A cluster of servers uploads objects concurrently from different data stream
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!