Among modern cloud data warehouse platforms, Snowflake and BigQuery have a lot in common, including columnar storage, massively parallel processing (MPP), and cost-based query planning. But each has unique features that could make it better suited to a particular organization's data analytics infrastructure.
Considering key differentiating factors can help you determine whether Snowflake or BigQuery is a better data warehouse for your business. We've done detailed deep dives on Snowflake's big benefits and BigQuery's key features in other articles; here we compare these two cloud data warehouses along several dimensions:
Snowflake and BigQuery bill for usage according to different models, though both models take into account both computation and storage.
Snowflake's architecture keeps compute, storage, and cloud services separate to optimize their independent performance. Snowflake uses a time-based pricing model for compute resources, in which users are charged on a per-second basis for execution time, but not charged for the amount of data scanned during computation. Snowflake offers multiple options for reserved or on-demand storage at different rates.
Snowflake offers five editions with additional features tied to each ascending level of price, so you can select the features that best fit your business. Editions are determined by volume and type of data, geographical region, and cloud platform.
With BigQuery, a serverless data warehouse, you don't have to think about architecture — the platform manages all resources and automates scalability and availability, so administrators don't have to make any decisions about necessary CPU or storage levels.
As for pricing, BigQuery has two options. It's on-demand model uses a query-based pricing model for compute resources. Users are charged for the amount of data their queries scan at a rate of $5 per terabyte of data processed. A flat-rate option lets customers purchase dedicated resources for query processing rather than pay for individual queries. That plan starts at $8,500 a month with an annual plan with 500 "flex slots," which are 60-second commitments of dedicated query processing capacity. Google also charges for data storage at a rate lower that of Snowflake: $20 per terabyte per month. Note that cloud providers change their pricing frequently — these rates were in place when this article was written.
Try Stitch for free
Thanks to their ability to autoscale, both Snowflake and BigQuery perform well under various load levels. You should run benchmarks using your own data, but you'll likely find that both platforms can handle most companies' workloads with excellent performance.
Neither Snowflake nor BigQuery impose a large administration overhead, especially in contrast with Amazon Redshift. Each lets administrators manage user roles and permissions and data security, but performance tuning happens automatically. As data volume grows or queries become more complex, each automatically scales in the background to meet current needs. Snowflake allows administrators to scale their compute and storage resources up and down independently. BigQuery is "serverless" — compute and storage resources can scale independently, and all scaling issues are handled automatically.
Snowflake has two facilities for data protection: Time Travel and Fail-safe.
With Time Travel, when data is modified, Snowflake preserves the state of the data before the update. Time Travel's standard retention period is one day, but Enterprise Edition customers can specify a period of up to 90 days. You can apply Time Travel to databases, schemas, and tables.
Fail-safe provides a seven-day period after the Time Travel retention period ends during which Snowflake can recover historical data. You must ask Snowflake to do the recovery; the feature is intended to be a way for Snowflake to recover data that may have been lost or damaged due to extreme operational failures.
Snowflake charges storage fees for the historical data maintained for both Time Travel and Fail-safe.
BigQuery maintains a complete seven-day history of changes against its tables. Administrators can revert changes without having to request a recovery from backups.
Get started now
Both Snowflake and BigQuery use AES encryption on data at rest, and support customer-managed keys. Both rely on roles for providing access to resources.
For authentication, Snowflake allows federated user access via Okta, Microsoft Active Directory Federation Services (ADFS), and most SAML 2.0-compliant vendors. BigQuery allows federated user access via Microsoft Active Directory. Both support multifactor authentication (MFA), and offer OAuth 2 for authorized account access without sharing or storing user login credentials.
Snowflake offers granular permissions for schemas, tables, views, procedures, and other objects, but not individual columns. BigQuery only offers permissions on datasets, and not on individual tables, views, or columns.
What about network security? Snowflake lacks built-in virtual private networking, but if your Snowflake data warehouse is hosted on AWS, you can configure AWS PrivateLink to connect your Snowflake account to one or more AWS VPCs. BigQuery allows you to configure a network security perimeter with Google Cloud Platform's Virtual Private Cloud (VPC) Service Controls.
Overall, both Snowflake and BigQuery have a lot going for them. Both impose a low maintenance burden, and costs are a function of how much compute and storage you need. You should do testing with your own data — ingesting data, running reports — to determine which cloud data warehouse better suits your organization. Opting for one over the other involves identifying which solution makes the most sense for your data strategy. Like most modern cloud data warehouse platforms, Snowflake and BigQuery offer free trials and proof-of-concept support to help businesses get firsthand experience with the ways their solutions deliver value.
Successful businesses that depend on sound intelligence need a high-performing cloud data warehouse. On the road to better business intelligence, both Snowflake and BigQuery are prime destinations. No matter which one you select as your data warehouse, getting all of your organization's data ingested is critical to providing the background you need for better business intelligence.