Ravindra BagaleCourses & study guides English Track your progress

Amazon Kinesis म्हणजे काय? AWS वर Streaming Data सोप्या भाषेत

Batch = रात्री file. Streaming = events जसे येतील. Amazon Kinesis = AWS वर streaming ingest/process — न झोपणारे pipes.

या chapter मध्ये तुम्ही काय शिकाल

  • Streaming vs batch का
  • Streams vs Firehose vs Analytics
  • Shards/producers/consumers
  • MSK/SQS कधी
  • Lab, errors, FAQ, interview

1. आधी रोजचं उदाहरण

Hyderabad cab: seconds मध्ये location. Nightly CSV नको. Producers → Kinesis stream; consumers ETA/fraud. Firehose → S3 → Athena.

2. Kinesis का?

हे का लागतं?

SQS = work tickets. Streams = ordered records, many consumers, retention. Analytics ला event firehose.

3. Kinesis family काय?

हे काय आहे?

Serviceकाम
Data StreamsShards सह real-time stream
FirehoseS3 इ. वर load
AnalyticsStream SQL/Flink
Producers → Stream → Consumers/Firehose → S3Events दर सेकंद
Near real-time + archive

4. Shards सोपं

कसं करायचं (step by step)

  1. Stream = shards; limits.
  2. Partition key → shard.
  3. Iterators / EFO.
  4. Scale / on-demand.
  5. Retention for replay.
  6. IteratorAge monitor.
# Producer sketch (boto3 mental model)
# kinesis.put_record(
#   StreamName='rides',
#   Data=b'{"rider":"R1","lat":17.4}',
#   PartitionKey='R1')

5. Kinesis vs MSK vs SQS

Choiceकधी
KinesisAWS-native streaming
MSKKafka ecosystem
SQSTask queue

6. Industries

  • Mobility: GPS/ETA
  • Fintech: payments
  • IoT telemetry
  • Media clickstream

7. Lab: paper + console tour

Org block नसेल तर ap-south-1 (Mumbai). आधी budget alert.

कसं करायचं (step by step)

  1. 3 clickstream fields.
  2. Partition key + hot shard.
  3. Firehose vs consumer.
  4. On-demand vs provisioned.
  5. IteratorAge alarm.

Cleanup (billing थांबवा)

  1. Lab stream delete.
  2. Firehose stop.

8. सामान्य errors आणि fixes

प्रत्येक row = खरी चूक. Panic करण्याआधी fix वाचा.

Error / लक्षणFix
Hot shardBetter keys.
Lag ignoreIteratorAge alarm.
Record too bigSplit/compress.
Dynamic part failTest prefixes.
No replay planDocument replay.
SQS wrongUse stream.
No encryptionSSE/KMS.
Under-scaledOn-demand/reshard.
PII clearTokenize/encrypt.
Lambda loopsBatch/bisect.

9. Troubleshooting checklist

  1. Scale/on-demand.
  2. IAM PutRecord.
  3. Iterator/sub.
  4. Bucket policy.
  5. Region.
  6. NTP.

10. FAQ

प्र. Kafka?

MSK=Kafka; Kinesis native.

प्र. Direct Firehose?

Many sources direct.

प्र. Retention?

Configurable.

प्र. Exactly-once?

At-least-once + idempotent.

प्र. Cost?

Compress + sample.

11. Interview Q&A

प्र. Shard?

Throughput unit.

प्र. Partition key?

Route + cardinality.

प्र. Streams vs Firehose?

Raw vs delivery.

प्र. IteratorAge?

Consumer lag.

प्र. MSK कधी?

Kafka ecosystem.

प्र. Idempotent?

No double-apply.

12. Tips — English, मराठी आणि हिंदी

Ravindra Bagale's Tip (EN)

Pick the partition key with a whiteboard, not with a coin flip. Hot shards wake you at 3 AM.

Ravindra Bagale's Tip (MR)

Partition key whiteboard वर ठरवा. Hot shards रात्री उठवतात.

Tip (HI)

Partition key व्हाइटबोर्ड पर चुनो — hot shards रात में जगाते हैं।

घरी करून बघा

  1. 5 phone events.
  2. 5 bullets compare.
  3. Sketch.

थोडक्यात सांगायचं तर

  1. Kinesis = streaming on AWS.
  2. Ingest/load/process.
  3. Shards + keys.
  4. Idempotent + IteratorAge.

उजळणी, मुलाखत आणि तुलना cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: Amazon Kinesis म्हणजे काय?. Nightly batch = late for fraud/IoT. Streaming ingest + process. PutRecords → shards → consumers. POS → stream → live dashboard.
उजळणी card: Amazon Kinesis म्हणजे काय? · PNG download करा · Card page उघडा
उजळणी card: Shards आणि throughput. कमी shards = throttle; जास्त = cost. Shard = capacity; on-demand option. Throttle metrics; split; partition key. Hot key → split / entropy.
उजळणी card: Shards आणि throughput · PNG download करा · Card page उघडा
उजळणी card: Streams vs Firehose. फक्त S3 delivery हवे असेल. Streams=consumers; Firehose=delivery. Fraud→Streams; lake→Firehose. 60s buffer → parquet.
उजळणी card: Streams vs Firehose · PNG download करा · Card page उघडा
उजळणी card: Ordering आणि retries. Duplicates + key = order issues. Key = order; idempotent consumers. eventId + DynamoDB dedupe. billId key → order.
उजळणी card: Ordering आणि retries · PNG download करा · Card page उघडा
उजळणी card: Stream secure करा. Open producers = abuse. KMS + IAM + endpoints. Split put/get IAM; metrics on. No role → no put.
उजळणी card: Stream secure करा · PNG download करा · Card page उघडा
तुलना: Kinesis Data Streams vs Kinesis Data Firehose. Kinesis Data Streams: तुम्ही build केलेले consumers. Kinesis Data Firehose: S3/OpenSearch/Redshift delivery.
तुलना: Kinesis Data Streams vs Kinesis Data Firehose · PNG download करा · Card page उघडा
तुलना: Provisioned shards vs On-demand mode. Provisioned shards: Shard count तुम्ही; throttle/waste risk. On-demand mode: Traffic नुसार AWS scale.
तुलना: Provisioned shards vs On-demand mode · PNG download करा · Card page उघडा
मुलाखत card: Kinesis कधी?. Near-real-time event streams. Batch ≠ fraud/IoT. POS → dashboard.
मुलाखत card: Kinesis कधी? · PNG download करा · Card page उघडा
मुलाखत card: Shard म्हणजे?. Capacity unit; scale/on-demand. Hot key = throttle. Throttle → split.
मुलाखत card: Shard म्हणजे? · PNG download करा · Card page उघडा
मुलाखत card: Streams vs Firehose?. Streams=consumers; Firehose=delivery. दोन्ही pipeline मध्ये. Fraud+lake.
मुलाखत card: Streams vs Firehose? · PNG download करा · Card page उघडा
मुलाखत card: Lambda stream consumer कशी?. ESM + batch + idempotent. Bisect on error. DLQ with sequence.
मुलाखत card: Lambda stream consumer कशी? · PNG download करा · Card page उघडा

अजून cards: Ravi Sir's Cards.

सराव Tasks

या scenario बद्दल

Nairobi Ride हा नैरोबी मधला वाहतूक व्यवसाय आहे. Wanjiru Kamau त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे KES मध्ये मोजले जातात आणि AWS resources af-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 16

सोपं Streams

का: Streams.

काय करायचं: Kinesis streams.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Stream describe

का: Shards.

काय करायचं: nairobiride-rides describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Firehose

का: Delivery.

काय करायचं: Firehose list.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं Shard MB

का: Throughput.

काय करायचं: Shard write MB/s?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं SQS vs stream

का: योग्य tool.

काय करायचं: SQS = Kinesis? नाही=0.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

सोपं Partition key

का: Routing.

काय करायचं: Partition key लागते तर 1.

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

मध्यम Put record

का: Producer.

काय करायचं: nairobiride-rides R1 file://e.json.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Firehose describe

का: Destination.

काय करायचं: nairobiride-to-s3 describe.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Summary

का: Fast describe.

काय करायचं: nairobiride-rides summary.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम GetRecords

का: Consumers.

काय करायचं: stream/nairobiride-rides GetRecords.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Event JSON

का: Payload.

काय करायचं: rider R1 lat 17.4.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.

मध्यम IteratorAge

का: Lag.

काय करायचं: IteratorAge seconds?

कसं करायचं:
  1. Task मधले numbers लिहून घ्या.
  2. कागदावर step by step काढा.
  3. Box मध्ये फक्त final उत्तर लिहा.
  4. Check answer दाबा.

अवघड Shards

का: Hotspots.

काय करायचं: nairobiride-rides shards.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Delete stream

का: Lab cost.

काय करायचं: nairobiride-lab delete.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड PutRecord

का: Scoped producers.

काय करायचं: stream/nairobiride-rides PutRecord.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

अवघड Retention

का: Replay.

काय करायचं: RetentionHours 24.

कसं करायचं:
  1. Task मधल्या top-level keys पासून सुरू करा.
  2. Child keys 2 spaces ने indent करा (tabs नकोत).
  3. प्रत्येक property मध्ये task मधली value भरा.
  4. Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.