🟢

DynamoDB – Streams

  • An ordered stream of item-level changes (create, update, delete) in a DynamoDB table.
  • Enables real-time and near-real-time event-driven architectures.

Use Cases

  • Send notifications or emails when items change.
  • Real-time analytics and dashboards.
  • Populate derivative or aggregate tables.
  • Cross-region data replication.
  • Trigger AWS Lambda functions on updates.

Stream Types

DynamoDB Streams
  • 24-hour retention.
  • Limited concurrent consumers.
  • Process with Lambda triggers or Kinesis Adapter.
Kinesis Data Streams (enhanced option)
  • Up to 1-year retention.
  • Supports high fan-out and many consumers.
  • Integrates with Lambda, Kinesis Data Analytics, Firehose, Glue Streaming ETL.
Use DynamoDB Streams for lightweight triggers.
Use Kinesis for complex or high-volume streaming pipelines.

Architecture & Integrations

Flow:
DynamoDB Table → Stream → Processing Layer → Destinations
Integration Options
  • Lambda – Direct triggers for lightweight processing.
  • Kinesis Client Library (KCL) – Advanced processing via Kinesis Adapter.
  • Kinesis Data Firehose – Deliver to S3, Redshift, OpenSearch.
  • Amazon SNS – Notifications or fan-out messaging.
Processing Examples
  • Filter and transform stream data.
  • Fan-out to multiple systems.
  • Real-time enrichment before storage.