Need advice about which tool to choose?Ask the StackShare community!
Amazon Redshift vs Snowflake: What are the differences?
Introduction
When choosing a data warehouse solution for your business, it's crucial to understand the key differences between Amazon Redshift and Snowflake. Both are popular options that offer unique features and capabilities, making it essential to assess which one aligns best with your specific requirements.
Architecture: Amazon Redshift follows a shared-disk architecture, where data is stored in nodes and queries are processed by the leader node. On the other hand, Snowflake utilizes a multi-cluster, shared-everything architecture, where storage and compute are separate, allowing for independent scaling of both resources. This means that Snowflake can offer a more cost-effective and scalable solution for organizations with varying workloads.
Concurrency: Amazon Redshift has a limit on the number of concurrent queries that can be processed based on the number of nodes in the cluster. In contrast, Snowflake offers higher levels of concurrency by separating compute resources from storage, allowing multiple queries to be executed simultaneously without affecting performance. This can be advantageous for businesses with high concurrency requirements.
Data Sharing: Snowflake provides robust data sharing capabilities that allow organizations to securely share data with external partners or other departments without the need for data movement. In comparison, Amazon Redshift requires data to be replicated or transferred to external users, rendering it less efficient for real-time data sharing scenarios.
Performance: Snowflake's architecture enables automatic query optimization and enhanced performance through features such as query federation, while Amazon Redshift users may need to manually manage query optimization and tuning for optimal performance. This can result in Snowflake offering superior performance out of the box, especially for users without extensive technical expertise.
Cost Model: In terms of cost, Snowflake operates on a consumption-based pricing model, where users are charged based on the amount of data processed and the level of compute resources allocated. Amazon Redshift, on the other hand, follows a more traditional pricing model based on the type and number of nodes in the cluster. For organizations looking for more flexibility and cost transparency, Snowflake's pricing model may be more appealing.
Ecosystem Integrations: While both platforms support various integrations with popular BI tools and data sources, Snowflake has a larger ecosystem of connectors and partnerships with third-party vendors. This can be beneficial for organizations looking to seamlessly integrate Snowflake into their existing data ecosystem or leverage specific tools for analytics and reporting.
In Summary, when comparing Amazon Redshift and Snowflake, it's essential to consider factors such as architecture, concurrency, data sharing capabilities, performance, cost model, and ecosystem integrations to make an informed decision based on your organization's requirements and priorities.
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.
Cloud Data-warehouse is the centerpiece of modern Data platform. The choice of the most suitable solution is therefore fundamental.
Our benchmark was conducted over BigQuery and Snowflake. These solutions seem to match our goals but they have very different approaches.
BigQuery is notably the only 100% serverless cloud data-warehouse, which requires absolutely NO maintenance: no re-clustering, no compression, no index optimization, no storage management, no performance management. Snowflake requires to set up (paid) reclustering processes, to manage the performance allocated to each profile, etc. We can also mention Redshift, which we have eliminated because this technology requires even more ops operation.
BigQuery can therefore be set up with almost zero cost of human resources. Its on-demand pricing is particularly adapted to small workloads. 0 cost when the solution is not used, only pay for the query you're running. But quickly the use of slots (with monthly or per-minute commitment) will drastically reduce the cost of use. We've reduced by 10 the cost of our nightly batches by using flex slots.
Finally, a major advantage of BigQuery is its almost perfect integration with Google Cloud Platform services: Cloud functions, Dataflow, Data Studio, etc.
BigQuery is still evolving very quickly. The next milestone, BigQuery Omni, will allow to run queries over data stored in an external Cloud platform (Amazon S3 for example). It will be a major breakthrough in the history of cloud data-warehouses. Omni will compensate a weakness of BigQuery: transferring data in near real time from S3 to BQ is not easy today. It was even simpler to implement via Snowflake's Snowpipe solution.
We also plan to use the Machine Learning features built into BigQuery to accelerate our deployment of Data-Science-based projects. An opportunity only offered by the BigQuery solution
Pros of Amazon Redshift
- Data Warehousing41
- Scalable27
- SQL17
- Backed by Amazon14
- Encryption5
- Cheap and reliable1
- Isolation1
- Best Cloud DW Performance1
- Fast columnar storage1
Pros of Snowflake
- Public and Private Data Sharing7
- Multicloud4
- Good Performance4
- User Friendly4
- Great Documentation3
- Serverless2
- Economical1
- Usage based billing1
- Innovative1