Need advice about which tool to choose?Ask the StackShare community!
Amazon Redshift vs Amazon S3: What are the differences?
Developers describe Amazon Redshift as "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. On the other hand, Amazon S3 is detailed as "Store and retrieve any amount of data, at any time, from anywhere on the web". 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.
Amazon Redshift belongs to "Big Data as a Service" category of the tech stack, while Amazon S3 can be primarily classified under "Cloud Storage".
Some of the features offered by Amazon Redshift are:
- 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.
On the other hand, Amazon S3 provides the following key features:
- Write, read, and delete objects containing from 1 byte to 5 terabytes of data each. The number of objects you can store is unlimited.
- Each object is stored in a bucket and retrieved via a unique, developer-assigned key.
- A bucket can be stored in one of several Regions. You can choose a Region to optimize for latency, minimize costs, or address regulatory requirements. Amazon S3 is currently available in the US Standard, US West (Oregon), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney), South America (Sao Paulo), and GovCloud (US) Regions. The US Standard Region automatically routes requests to facilities in Northern Virginia or the Pacific Northwest using network maps.
"Data Warehousing" is the primary reason why developers consider Amazon Redshift over the competitors, whereas "Reliable" was stated as the key factor in picking Amazon S3.
According to the StackShare community, Amazon S3 has a broader approval, being mentioned in 3235 company stacks & 1616 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.
We offer our customer HIPAA compliant storage. After analyzing the market, we decided to go with Google Storage. The Nodejs API is ok, still not ES6 and can be very confusing to use. For each new customer, we created a different bucket so they can have individual data and not have to worry about data loss. After 1000+ customers we started seeing many problems with the creation of new buckets, with saving or retrieving a new file. Many false positive: the Promise returned ok, but in reality, it failed.
That's why we switched to S3 that just works.
Pros of Amazon Redshift
- Data Warehousing40
- Scalable27
- SQL17
- Backed by Amazon14
- Encryption5
- Cheap and reliable1
- Isolation1
- Best Cloud DW Performance1
- Fast columnar storage1
Pros of Amazon S3
- Reliable592
- Scalable493
- Cheap458
- Simple & easy329
- Many sdks83
- Logical30
- Easy Setup13
- 1000+ POPs11
- REST API11
- Secure6
- Easy4
- Plug and play4
- Web UI for uploading files3
- Flexible2
- Faster on response2
- GDPR ready2
- Easy integration with CloudFront1
- Easy to use1
- Plug-gable1
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon Redshift
Cons of Amazon S3
- Permissions take some time to get right7
- Takes time/work to organize buckets & folders properly6
- Requires a credit card5
- Complex to set up3