Need advice about which tool to choose?Ask the StackShare community!
Amazon DynamoDB vs Amazon Redshift: What are the differences?
Amazon DynamoDB: Fully managed NoSQL database service. All data items are stored on Solid State Drives (SSDs), and are replicated across 3 Availability Zones for high availability and durability. With DynamoDB, 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; Amazon Redshift: Fast, fully managed, petabyte-scale data warehouse service. Redshift makes it simple and cost-effective to efficiently analyze all your data using your existing business intelligence tools. It is optimized for datasets 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.
Amazon DynamoDB belongs to "NoSQL Database as a Service" category of the tech stack, while Amazon Redshift can be primarily classified under "Big Data as a Service".
Some of the features offered by Amazon DynamoDB are:
- Automated Storage Scaling – There is no limit to the amount of data you can store in a DynamoDB table, and the service automatically allocates more storage, as you store more data using the DynamoDB write APIs.
- Provisioned Throughput – When creating a table, simply specify how much request capacity you require. DynamoDB allocates dedicated resources to your table to meet your performance requirements, and automatically partitions data over a sufficient number of servers to meet your request capacity. If your throughput requirements change, simply update your table's request capacity using the AWS Management Console or the Amazon DynamoDB APIs. You are still able to achieve your prior throughput levels while scaling is underway.
- Fully Distributed, Shared Nothing Architecture – Amazon DynamoDB scales horizontally and can seamlessly scale a single table over hundreds of servers.
On the other hand, Amazon Redshift provides the following key features:
- Optimized for Data Warehousing- It uses columnar storage, data compression, and zone maps to reduce the amount of IO needed to perform queries. Redshift has a massively parallel processing (MPP) architecture, parallelizing and distributing SQL operations to take advantage of all available resources.
- Scalable- With a few clicks of the AWS Management Console or a simple API call, you can easily scale the number of nodes in your data warehouse up or down as your performance or capacity needs change.
- No Up-Front Costs- You pay only for the resources you provision. You can choose On-Demand pricing with no up-front costs or long-term commitments, or obtain significantly discounted rates with Reserved Instance pricing.
"Predictable performance and cost" is the top reason why over 53 developers like Amazon DynamoDB, while over 27 developers mention "Data Warehousing" as the leading cause for choosing Amazon Redshift.
Netflix, Medium, and Lyft are some of the popular companies that use Amazon DynamoDB, whereas Amazon Redshift is used by Lyft, Coursera, and 9GAG. Amazon DynamoDB has a broader approval, being mentioned in 444 company stacks & 187 developers stacks; compared to Amazon Redshift, which is listed in 270 company stacks and 68 developer stacks.
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.
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.
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.
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.
Pros of Amazon DynamoDB
- Predictable performance and cost62
- Scalable56
- Native JSON Support35
- AWS Free Tier21
- Fast7
- No sql3
- To store data3
- Serverless2
- No Stored procedures is GOOD2
- ORM with DynamoDBMapper1
- Elastic Scalability using on-demand mode1
- Elastic Scalability using autoscaling1
- DynamoDB Stream1
Pros of Amazon Redshift
- Data Warehousing40
- Scalable27
- SQL17
- Backed by Amazon14
- Encryption5
- Cheap and reliable1
- Isolation1
- Best Cloud DW Performance1
- Fast columnar storage1
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon DynamoDB
- Only sequential access for paginate data4
- Scaling1
- Document Limit Size1