Amazon Kinesis vs DynamoDB Streams

Home » Amazon Web Services » Amazon Kinesis vs DynamoDB Streams
Amazon Kinesis vs DynamoDB Streams

Welcome back to our comparison articles where we look at different AWS services, their benefits, and use cases. These articles are designed with the AWS Certification tests in mind and help you understand how these services work on a conceptual level. In this article, we’ll be looking at the different types of Kinesis services and how they’re different from DynamoDB streams. These AWS services come up ALL the time in your certification tests so you HAVE to have an in-depth understanding of them to do well.

What is Amazon Kinesis?

Amazon Kinesis is a suite of services that provide a way to easily collect, process, and analyze real-time data. This helps businesses make better decisions based on new insights from well-processed Kinesis data. It is also extremely cost-effective at any scale. Some use cases of Amazon Kinesis include video/audio solutions, website clickstreams, and IoT data.

The key benefit of Amazon Kinesis is that it enables you to process and analyze data as it arrives instead of having to wait until all your data is collected before the processing can begin. It is a real-time, fully managed, and scalable service that meets your in-time processing needs.

There are four types of Kinesis services that we’ll be going over in this article: Video Streams, Data Streams, Data Firehose, and Data Analytics.

Kinesis Video Streams

Amazon Kinesis Video Streams (as its name indicates) makes it easy to securely upload videos in real-time to AWS for analytics, machine learning, playback, and video processing. Kinesis Video Streams automatically provisions/scales all the infrastructure needed to ingest streaming video data from millions of devices so you don’t have to worry about the configuration of the environment. 

Video Streams stores and encrypts data gathered from your streams. One popular use case of Kinesis Video Streams is livestreaming that most of us see daily on social platforms. Other typical uses include video chatting and peer-to-peer media streaming.

Kinesis Data Streams

Amazon Kinesis Data Streams (KDS) is a massively scalable and durable real-time data streaming service. It has the ability to capture gigabytes of data per second from hundreds of thousands of sources such as database event streams, financial transactions, social media feeds, IT logs, and location-tracking events. The data collected is available in milliseconds that can then be used for real-time analytics use cases such as real-time dashboards, real-time anomaly detection, dynamic pricing, and more.

Kinesis Data Firehose

Amazon Kinesis Data Firehose is the easiest way to capture, transform, and load streaming data into data lakes, data stores, and analytics services. Firehose, like other Kinesis services, is fully managed and automatically scales to match the throughput of your data and requires no ongoing administration. It can also batch, compress, transform, and encrypt your data streams before loading, minimizing the amount of storage used while at the same time increasing security.

Kinesis Data Analytics

Amazon Kinesis Data Analytics is the easiest way to transform and analyze streaming data in real-time with Apache Flink. Apache Flink is an open-source framework and engine for processing data streams. Amazon Kinesis Data Analytics reduces the complexity of building, managing, and integrating Apache Flink applications with other AWS services.

Amazon DynamoDB Streams

Amazon DynamoDB Streams keeps track of changes made in a DynamoDB table and stores this information in a log for up to 24 hours. Applications can access this log and view the data items as they appeared before and after they were modified, in near-real time.

Whenever an application creates, updates, or deletes items in the table, DynamoDB Streams writes a stream record with the primary key attributes of the items that were modified. A stream record contains information about a data modification to a single item in a DynamoDB table. You can configure the stream so that the stream records capture additional information, such as the “before” and “after” images of modified items.

Kinesis vs DynamoDB Streams Summed Up

I know that this can be a bit of a dry read but you HAVE to understand the use cases of these different services in order to perform well on the exam. So, when you see Data Streams, think, scalable and durable data streaming. When you see Data Firehose think of capture, transform, and deliver. When you see Data Analytics, think of real-time analytics with Apache Flink. Video streams is easy because its use cases all deal with video processing and machine learning. DynamoDB Streams is unique from Kinesis in that it creates a log of changes made that can then be used to trigger other services. I hope that clears it up for you, if not – here’s a visual table for reference as you study.

Comparison Table

 Video StreamsData StreamsData FirehoseData AnalyticsDynamoDB Streams
Key FeatureStream videos to AWS for analytics and machine learningScalable and durable data streaming service in real-timeCapture, transform, and load data into data lakes and data storesUses Apache Flink to transform and analyze dataCreates a log of changes made in a DynamoDB table 
Data SourceStreaming devices that support Kinesis Video Streams SDKData sources that can call the Kinesis API (servers, mobile, IoT)Data sources that can call the Kinesis API (servers, mobile, IoT)Data sources that can call the Kinesis API (servers, mobile, IoT)DynamoDB Tables
Data OutputAmazon Rekognition, Amazon SageMaker, etcKinesis Data Analytics, Amazon EMR, Amazon EC2, AWS LambdaAmazon S3, Amazon Redshift, Amazon Elasticsearch, MongoDB, and SplunkKinesis stream, Kinesis Data Firehose Lambda DynamoDB and DynamoDB Streams Endpoints
Use Case
  • Smart technologies
  • Video-related AI & Machine Learning use cases
  • General Video processing
  • Event logging and data collection
  • Real-time analytics
  • Gaming data feed
  • IoT Analytics
  • Security monitoring
  • Clickstream Analytics
  •  Log Analytics
  • Streaming ETL functions
  • Real-time analytics
  • Event-based triggers on an item change audit or archive data
  • replicate data across multiple tables

Kinesis vs DynamoDB Streams Summed Up

I hope that clears up Kinesis and DynamoDB options for you! Of course, we can only cover so much in an article but check out our video courses for lectures and hands-on labs to really learn how these services work.

Learn how to Master the AWS Cloud

AWS Training – Our popular AWS training will maximize your chances of passing your AWS certification the first time.
Membership – For unlimited access to our cloud training catalog, enroll in our monthly or annual membership program.
Challenge Labs – Build hands-on cloud skills in a secure sandbox environment. Learn, build, test and fail forward without risking unexpected cloud bills.

Related posts: