Amazon DynamoDB vs Amazon Redshift

Need advice about which tool to choose?Ask the StackShare community!

Amazon DynamoDB

3.7K
3.2K
+ 1
195
Amazon Redshift

1.5K
1.4K
+ 1
108
Add tool

Amazon DynamoDB vs Amazon Redshift: What are the differences?

Introduction:

Amazon DynamoDB and Amazon Redshift are both highly scalable and managed services offered by Amazon Web Services (AWS) for different data storage and processing needs. However, they have key differences that make them suitable for specific use cases.

1. Scalability:

Amazon DynamoDB is a NoSQL database that offers automatic and seamless scalability. It can handle massive amounts of data and adapt to changing workloads by automatically increasing or decreasing the provisioned throughput capacity. On the other hand, Amazon Redshift is a fully managed data warehousing service that allows for petabyte-scale data storage and analysis. It offers columnar storage and parallel query execution, enabling high scalability for analytical workloads.

2. Data Structure and Querying:

DynamoDB is a key-value store that organizes data in tables with primary keys. It allows for flexible schema design and supports simple key-based operations as well as complex queries with secondary indexes. Redshift, on the other hand, uses a columnar data store optimized for OLAP workloads. It supports SQL-based querying and provides advanced analytics capabilities such as window functions, joins, and aggregations.

3. Performance and Latency:

DynamoDB is designed for low-latency and high-throughput applications. It offers single-digit millisecond latency for both read and write operations, making it suitable for real-time applications. Redshift, on the other hand, is optimized for complex analytical queries and offers high query performance for large data sets. However, it may have higher latency compared to DynamoDB due to its distributed nature and columnar storage format.

4. Data Consistency:

DynamoDB offers two consistency models: eventual consistency and strong consistency. Eventual consistency allows for faster read operations with the possibility of reading stale data, while strong consistency ensures that all reads reflect the latest write. Redshift, on the other hand, offers eventual consistency as it replicates data across multiple nodes but does not provide built-in strong consistency guarantees.

5. Data Storage and Cost:

DynamoDB charges for the provisioned throughput capacity and actual storage consumed. It is suitable for scenarios where the workload is unpredictable and requires granular control over performance and cost. Redshift charges based on the amount of data stored and the number of query slots required. It is ideal for analytical workloads with predictable data storage requirements.

6. Data Lifespan and Retention:

DynamoDB is designed for storing and accessing current and frequently accessed data. It does not provide built-in data retention policies or automatic data deletion. Redshift, on the other hand, offers data retention policies and automated data deletion. It allows for loading historical data, running analytics, and maintaining data for longer periods.

In summary, Amazon DynamoDB and Amazon Redshift differ in terms of scalability, data structure and querying, performance and latency, data consistency, data storage and cost, as well as data lifespan and retention. These differences make them suitable for different use cases, whether it is real-time applications with low-latency requirements or analytical workloads with high scalability and advanced querying capabilities.

Advice on Amazon DynamoDB and Amazon Redshift

We need to perform ETL from several databases into a data warehouse or data lake. We want to

  • keep raw and transformed data available to users to draft their own queries efficiently
  • give users the ability to give custom permissions and SSO
  • move between open-source on-premises development and cloud-based production environments

We want to use inexpensive Amazon EC2 instances only on medium-sized data set 16GB to 32GB feeding into Tableau Server or PowerBI for reporting and data analysis purposes.

See more
Replies (3)
John Nguyen
Recommends
on
AirflowAirflowAWS LambdaAWS Lambda

You could also use AWS Lambda and use Cloudwatch event schedule if you know when the function should be triggered. The benefit is that you could use any language and use the respective database client.

But if you orchestrate ETLs then it makes sense to use Apache Airflow. This requires Python knowledge.

See more
Recommends
on
AirflowAirflow

Though we have always built something custom, Apache airflow (https://airflow.apache.org/) stood out as a key contender/alternative when it comes to open sources. On the commercial offering, Amazon Redshift combined with Amazon Kinesis (for complex manipulations) is great for BI, though Redshift as such is expensive.

See more
Recommends

You may want to look into a Data Virtualization product called Conduit. It connects to disparate data sources in AWS, on prem, Azure, GCP, and exposes them as a single unified Spark SQL view to PowerBI (direct query) or Tableau. Allows auto query and caching policies to enhance query speeds and experience. Has a GPU query engine and optimized Spark for fallback. Can be deployed on your AWS VM or on prem, scales up and out. Sounds like the ideal solution to your needs.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Amazon DynamoDB
Pros of Amazon Redshift
  • 62
    Predictable performance and cost
  • 56
    Scalable
  • 35
    Native JSON Support
  • 21
    AWS Free Tier
  • 7
    Fast
  • 3
    No sql
  • 3
    To store data
  • 2
    Serverless
  • 2
    No Stored procedures is GOOD
  • 1
    ORM with DynamoDBMapper
  • 1
    Elastic Scalability using on-demand mode
  • 1
    Elastic Scalability using autoscaling
  • 1
    DynamoDB Stream
  • 41
    Data Warehousing
  • 27
    Scalable
  • 17
    SQL
  • 14
    Backed by Amazon
  • 5
    Encryption
  • 1
    Cheap and reliable
  • 1
    Isolation
  • 1
    Best Cloud DW Performance
  • 1
    Fast columnar storage

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon DynamoDB
Cons of Amazon Redshift
  • 4
    Only sequential access for paginate data
  • 1
    Scaling
  • 1
    Document Limit Size
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is Amazon DynamoDB?

    With it , you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use.

    What is Amazon Redshift?

    It is optimized for data sets ranging from a few hundred gigabytes to a petabyte or more and costs less than $1,000 per terabyte per year, a tenth the cost of most traditional data warehousing solutions.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Amazon DynamoDB?
    What companies use Amazon Redshift?
    See which teams inside your own company are using Amazon DynamoDB or Amazon Redshift.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Amazon DynamoDB?
    What tools integrate with Amazon Redshift?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Jul 9 2019 at 7:22PM

    Blue Medora

    DockerPostgreSQLNew Relic+8
    11
    2337
    GitHubPythonNode.js+47
    55
    72342
    GitHubGitSlack+30
    27
    18342
    GitHubDockerAmazon EC2+23
    12
    6568
    JavaScriptGitHubPython+42
    53
    21880
    What are some alternatives to Amazon DynamoDB and Amazon Redshift?
    Google Cloud Datastore
    Use a managed, NoSQL, schemaless database for storing non-relational data. Cloud Datastore automatically scales as you need it and supports transactions as well as robust, SQL-like queries.
    MongoDB
    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
    Amazon SimpleDB
    Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest. Behind the scenes, Amazon SimpleDB creates and manages multiple geographically distributed replicas of your data automatically to enable high availability and data durability. Amazon SimpleDB provides a simple web services interface to create and store multiple data sets, query your data easily, and return the results. Your data is automatically indexed, making it easy to quickly find the information that you need. There is no need to pre-define a schema or change a schema if new data is added later. And scale-out is as simple as creating new domains, rather than building out new servers.
    MySQL
    The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
    Amazon S3
    Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web
    See all alternatives