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 Streams Data Streams Data Firehose Data Analytics DynamoDB Streams
Key Feature Stream videos to AWS for analytics and machine learning Scalable and durable data streaming service in real-time Capture, transform, and load data into data lakes and data stores Uses Apache Flink to transform and analyze data Creates a log of changes made in a DynamoDB table 
Data Source Streaming devices that support Kinesis Video Streams SDK Data 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 Output Amazon Rekognition, Amazon SageMaker, etc Kinesis Data Analytics, Amazon EMR, Amazon EC2, AWS Lambda Amazon S3, Amazon Redshift, Amazon Elasticsearch, MongoDB, and Splunk Kinesis 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.

Check out our AWS Training Courses

At Digital Cloud Training we provide the highest quality AWS training courses in the market at affordable prices. Our training options include:

  • Video-based training courses that seamlessly blend theoretical education with hands-on practice so you can not only prepare to answer tricky exam questions but learn critical hands-on skills that will set you up for your next job.
  • Practice tests with large banks of questions that reflect the style and difficulty of the real AWS exam so you can be well prepared to easily pass your exam on the day. All questions come with detailed explanations and reference links and the tests are offered in multiple formats for training and exam simulation.
  • Cheat Sheets and eBooks that help you to memorize and cross-check key facts you need to know for the exam and also take your studies offline. These are great resources for final exam preparation.

Check out our catalog of courses to get started with your AWS certification journey.

Got Questions?

Contact us here.

Related Articles