Amazon Redshift vs Google BigQuery: Battle of the Biggest OLAP Data Warehouses
By: Anuj Syal
Tags: AWS, Google Cloud Platform, Data Analysis, Database, Bigquery

Amazon Redshift vs Google BigQuery: Battle of the Biggest OLAP Data Warehouses

For enterprises in the big data domain, it is imperative to have data warehouses that are agile, scalable, and at the same time cost-effective. Given how modern businesses are increasingly looking at big data as a solution to enhance in all areas; from customer support to production pace, analytical data warehouses have become critical to most business needs.

While the world of data analytics is still blooming, the large fishes have successfully established their hold in the market with their own data warehouses. Industry giants Amazon and Google — companies at the core of the big data boom, offer their highly sought-after data warehouses Redshift and BigQuery. I will be analyzing these two of the biggest online analytical processing (OLAP) data warehouses in today’s blog to help you pick the better possible solution for your data needs. But before we delve deep into which of the two data warehouses is better, I will take you through a brief overview of what a data warehouse is. Read on.

It’s a big data storeroom!

Photo by Nana Smirnova on Unsplash

A data warehouse can be considered simply as a storage container or place where large amounts of data are fed for processing. Now, the process of acquiring certain information from this warehouse, or the way a data query is handled, differs from one warehouse to the other in terms of its architecture. Additionally, similar to the size of a storage container and the amount of content that can be stored or processed in it, data warehouses also come with their set of limitations and capabilities, based on which enterprises can find their perfect fit. Now, let us look at the two power-packed OLAP data warehouses in detail.

AWS Redshift

Amazon Redshift is a data warehouse, part of the e-commerce giant’s Amazon Web Services (AWS) cloud-computing platform. Released first 8 years ago, Redshift allows enterprise users to start with a small amount of data, a few hundred gigabytes of it, and move up to a scale of petabytes of data, all enabled with the power of cloud.

How does it work?

A quick and cost-effective BI tool for all data using standard SQL, Redshift stores data in a cluster or block form, allowing for faster and seamless queries as compared to traditional or on-premise data warehouses. The cluster format minimizes the instances of information input or output to focus on only relevant information extraction.

Unlike traditional data warehouses, Redshift allows you to make complex analytic queries against terabytes to petabytes of structured and semi-structured data. It uses sophisticated query optimization, columnar storage, and parallel query execution across multiple physical resources.

By using familiar SQL-based clients and BI tools using standard Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC), Redshift promises impressively fast querying capabilities, most coming back in seconds.

When it comes to pricing, Redshift allows you to start small with a few gigabytes of data for just $0.25 per hour and scale up to terabytes and petabytes for $1,000 per terabyte per year claimed less than a tenth the cost of traditional on-premises solutions. It also includes Amazon Redshift Spectrum to help you run SQL queries directly against exabytes of unstructured data in Amazon S3 data lakes.

Even if the data size is voluminous, Redshift Spectrum automatically scales up the compute capacity based on the data retrieved for faster queries against Amazon Simple Storage Service or S3. What’s more, you don’t need loading or transformation. You can use open data formats, including Avro, CSV, Grok, Amazon Ion, JSON, ORC, Parquet, RCFile, RegexSerDe, Sequence, Text, Hudi, Delta and TSV.

Redshift at a glance:

Quick and cost-effective

Stores data in columnar format

Less than a tenth of the cost of traditional on-premises solutions

Parallel query execution

Allows SQL queries directly

Secure with AWS IAM integration, column-level access control, VPC, encryption, and more.

Uses replication and continuous backups to improve performance

Best use cases

Redshift is well-suited for enterprises handling time-sensitive workloads , requiring real-time analysis. For example, daily stock market index reporting, ad bidding, or live dashboards. The predictive models on top of Redshift allow for near real-time ad-bidding. Live data streaming use cases, requiring continuous querying by refreshing is also handled impressively.

Google BigQuery

Google BigQuery is another sought-after data warehouse under the search giant’s own cloud infrastructure, Google Cloud. The serverless, multi-cloud data warehouse is designed to handle voluminous data while promising agility and scalability.

How does it work?

At the heart of BigQuery is Dremel — Google’s query service that allows you to run SQL queries against mammoth data sets and get accurate results in seconds! BigQuery is, therefore, an externalization of Dremel, providing its core set of features to third-party developers using Rest API, a command-line interface, a web UI, and access control. To give an estimate of its potential, Dremel can scan 35 billion rows without an index in tens of seconds. By sharing Google’s own cloud infrastructure, it can parallelize each query and run it on tens of thousands of servers simultaneously.

Coming back to BigQuery, it shares the same architecture and performance characteristics as Dremel. By leveraging Google’s computational and cloud infrastructure, benefits include multiple replications across regions and high data center scalability, without needing any management by the developer.

BigQuery also stores data in a columnar format called Capacitor. Each column in the table is stored in a separate file block and all columns are stored in a single capacitor file which is then compressed and encrypted.

It allows data analysis across clouds using the standard SQL. It is fully managed and aimed at large-scale data processing for enterprises. One of the key differentiating features of BigQuery is that it is more AI and ML compatible. It allows you to gain data insights using natural language processing (NLP), offers built-in ML and AI integrations, provides ODBC and JDBC drivers, and provides seamless data integration using tools from Google.

BigQuery at a glance:

Compatible with large datasets

Supports AI, ML integrations

Ease of use for non-programmers

Relies on Google’s own cloud infrastructure

Uses filing system for data storage

Fast and self-managed

Best use cases

As the name suggests, BigQuery is at its optimum level when the data queries are spiky and the idle time is high. Some examples include recommendations on e-commerce websites that run once a day, quarterly reports that demand occasional complex queries, sales intelligence for teams to make ad-hoc discovery via custom data analysis, and most importantly, machine learning for discovering and analyzing patterns in data, such as consumer behavior.

The commonalities

Given both data warehouses promise a lot of potential for BI needs, it is evident for them to offer some common features. Here’s a look at some of them:

SQL standards: Both BigQuery and Redshift support standard SQL data types. The former, however, works with some standard SQL data types.

Updates & deletes: Both tools are append-only but can handle updates and deletes if things go wrong in the query.

Security: Redshift uses Amazon IAM while BigQuery uses Google Cloud IAM, allowing for secure identity management.

The differentiators

Integrations: Redshift and BigQuery both offer a large number of integrations. However, Google’s BigQuery stands out for its ML integrations, enabling data scientists to build and operationalize ML models on structured or semi-structured data.

Scalability: With Redshift, enterprises can’t scale resources independently as the storage and compute are not separate. Any fine-tuning requires cluster reconfiguration which is a time-consuming process. BigQuery, on the other hand, has separate storage and compute, providing greater flexibility, and more provision for scalability.

Maintenance: Redshift requires periodic vacuuming or table analysis. You may end up spending hours doing simple maintenance like updating. BigQuery is low maintenance; it has no indexes or column constraints and doesn’t allow performance tuning capabilities. It is a fully managed service by Google which handles all the backend configuration and tuning.

Pricing: With Redshift, you can start at $0.25 per hour and scale up to petabytes of data and thousands of concurrent users, amounting to $1,000 per terabyte per year. You can choose to also opt for on-demand pricing that allows you to pay an hourly rate based on the type and number of nodes in your cluster. Redshift is also available in a pay-as-you-go pricing model based on spectrum, scaling, storage, and deploying ML models. BigQuery, on the other hand, charges for data storage, streaming inserts, and querying data, but loading and exporting data are free of charge. There are two subscription models — pay-as-you-go pricing at $5 per terabyte and flat-rate pricing which starts at $1,700 per month for 100 reserved slots or $4 per hour for 100 flex slots.

Who takes the cake?

If you are an enterprise dealing with data processing and want to hop on the new-age digital transformation, both Redshift and BigQuery are extremely promising data warehouse solutions. With similar amounts of potential to handle large data queries and deliver fast and accurate results, deciding between the two services boils down to the nature of workflow and BI needs.

In my opinion, Google’s BigQuery is a more robust solution than Redshift as it offers additional features such as ML integration natively. With Google’s own cloud infrastructure at the core, it makes for a more price-effective tool. It is fully managed which reduces the need to deploy system engineers to continuously do the fine-tuning as required if you are using Redshift. For larger data volumes and varied query loads, BigQuery fits the bill perfectly.