title: What is partition key in AWS Kinesis all about?
body: <p>I was reading about <code>AWS Kinesis</code>. In the following program, I write data into the stream named <code>TestStream</code>. I ran this piece of code 10 times, inserting 10 records into the stream.</p>
  
  <pre><code>var params = {
      Data: 'More Sample data into the test stream ...',
      PartitionKey: 'TestKey_1',
      StreamName: 'TestStream'
  };
  
  kinesis.putRecord(params, function(err, data) {
     if (err) console.log(err, err.stack); // an error occurred
     else     console.log(data);           // successful response
  });
  </code></pre>
  
  <p>All the records were inserted successfully. What does <code>partition key</code> really mean here? What is it doing in the background? I read its <a href="https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Kinesis.html#putRecord-property" rel="noreferrer">documentation</a> but did not understand what it meant.</p>