📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials AWS Solutions Architect Kinesis Data Streams vs SQS

Kinesis Data Streams vs SQS

4 min read Quiz at the end
Choose correctly between Kinesis Data Streams and SQS based on consumer model, ordering needs, replay requirements, and throughput.

Kinesis Data Streams vs SQS — Choosing the Right Service

Both Kinesis and SQS handle streaming data, but they serve different use cases. Choosing the wrong one is a common architectural mistake.

Key Differences

FeatureKinesis Data StreamsSQS Standard
Consumer modelMultiple consumers read SAME data independentlyOne consumer processes each message
Message replayYes — replay messages up to 365 daysNo — deleted after processing
OrderingPer shard (partition key)Best-effort (not guaranteed)
ThroughputShard-based (1MB/s write, 2MB/s read per shard)Virtually unlimited
Max message size1MB256KB
Retention1 day to 365 days4 days (up to 14 days)
ConsumersMultiple consumers read same streamEach message goes to ONE consumer
PricingPer shard per hourPer million API requests

When to Choose Kinesis

  • Multiple applications need to process the SAME events (analytics team AND fraud detection team both read same stream)
  • Ordering within a partition is required (stock price changes for same ticker must be in order)
  • Need to replay historical data (re-process last 7 days of events after a bug fix)
  • Real-time analytics and dashboards (sub-second latency matters)

When to Choose SQS

  • One consumer processes each job (image processing queue, email sending queue)
  • Decoupling microservices (producer and consumer scale independently)
  • Handling traffic bursts (SQS absorbs spikes, consumers process at their own rate)
  • Order processing, task queues, job scheduling
Kinesis Pattern:
  Log Producer --> Kinesis Stream
                     |
            +--------+--------+
            |                 |
        Analytics          Security
        (Elasticsearch)    (GuardDuty rules)
  BOTH consumers get ALL events

SQS Pattern:
  Orders --> SQS Queue --> [Worker 1]
                       --> [Worker 2]  (one worker processes each order)
                       --> [Worker 3]
Exam Tip: If the question mentions 'multiple consumers reading the same data stream' or 'replay' — think Kinesis. If it mentions 'job queue', 'decoupling', or 'one consumer per message' — think SQS. The key differentiator: Kinesis supports multiple independent consumers for the same data; SQS distributes each message to exactly one consumer.