Question 58: You have created an application to process real-time data and for that you have provisioned Kinesis producer library and Kinesis client library. Also you want that data to be saved in various shards.

Which of the following will help in distributing data in various shard?

1. Primary Key

2. Unique Index

3. Composite Key

4. Partition Key

5. DIST_KEY and DIST_INDEX

Correct Answer : 4 Exp : The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the

partition key associated with each data record to determine the shard to which a given data record belongs.

Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards

using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter.

4