StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Databases
  4. Big Data As A Service
  5. Google BigQuery vs Presto

Google BigQuery vs Presto

OverviewDecisionsComparisonAlternatives

Overview

Google BigQuery
Google BigQuery
Stacks1.8K
Followers1.5K
Votes152
Presto
Presto
Stacks394
Followers1.0K
Votes66

Google BigQuery vs Presto: What are the differences?

Introduction

Google BigQuery and Presto are both popular query engines used for analyzing large datasets. While they share some similarities, there are key differences between the two that set them apart in terms of functionality and performance. In this article, we will explore six major differences between Google BigQuery and Presto.

  1. Underlying Architecture: Google BigQuery is a fully managed serverless data warehouse service provided by Google Cloud. It uses proprietary storage and query execution technology to handle large-scale data processing. On the other hand, Presto is an open-source distributed SQL query engine that can be deployed on-premises or in the cloud. It utilizes a distributed architecture and can process data from a variety of sources.

  2. Data Storage: In BigQuery, data is stored in Google's proprietary columnar storage format, which is designed for efficient query performance. It offers advanced compression techniques and automatic data shuffling for parallel processing. In contrast, Presto doesn't have its own storage layer and can process data stored in various formats, including Hadoop Distributed File System (HDFS), Amazon S3, and more.

  3. Cost Model: BigQuery operates on a fully managed pricing model, where users are billed based on the amount of data processed and the type of operations performed. It provides a predictable cost structure, with options for on-demand or flat-rate pricing. Presto, being an open-source project, is cost-free to use but requires manual setup and management. However, users still need to consider the infrastructure costs for running Presto on their own cluster.

  4. Query Optimization: BigQuery's query optimizer is built into the service and automatically tunes the execution plans for better performance. It takes advantage of columnar storage, parallel processing, and other optimizations to speed up queries. On the other hand, Presto relies on cost-based optimization and joins reordering techniques to optimize query execution plans. It provides users with more control over query tuning but requires manual intervention.

  5. Data Partitioning and Clustering: BigQuery supports partitioning and clustering of data, which helps to improve query performance by reducing the amount of data read during queries. Partitioning can be done based on a specific column or by ingestion time, while clustering helps to physically order the data within each partition. Presto doesn't have native support for these features, although it can leverage external tools or techniques to achieve similar optimizations.

  6. Integration with Ecosystem: BigQuery integrates seamlessly with other Google Cloud services, such as Google Data Studio, Google Analytics, and Machine Learning APIs. It also has connectors for various data ingestion methods, such as Dataflow and Pub/Sub. Presto, being an open-source project, can be extended or customized to integrate with a wide range of tools and platforms. It has connectors for popular systems like Hive, Hadoop, and more.

In summary, Google BigQuery is a fully managed data warehouse with proprietary storage and query execution technology, optimized for scalability, ease of use, and integration with the Google Cloud ecosystem. Presto, on the other hand, is an open-source distributed SQL query engine that can be deployed in different environments, provides more flexibility in data sources, query optimization, and customization, but requires manual management and setup.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Google BigQuery, Presto

Ashish
Ashish

Tech Lead, Big Data Platform at Pinterest

Nov 27, 2019

Needs adviceonApache HiveApache HivePrestoPrestoAmazon EC2Amazon EC2

To provide employees with the critical need of interactive querying, we’ve worked with Presto, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.

Our infrastructure is built on top of Amazon EC2 and we leverage Amazon S3 for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.

We have hundreds of petabytes of data and tens of thousands of Apache Hive tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.

Each query submitted to Presto cluster is logged to a Kafka topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a previous post. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.

Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and Kubernetes pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.

#BigData #AWS #DataScience #DataEngineering

3.72M views3.72M
Comments
Julien
Julien

CTO at Hawk

Sep 19, 2020

Decided

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

193k views193k
Comments
Karthik
Karthik

CPO at Cantiz

Nov 5, 2019

Decided

The platform deals with time series data from sensors aggregated against things( event data that originates at periodic intervals). We use Cassandra as our distributed database to store time series data. Aggregated data insights from Cassandra is delivered as web API for consumption from other applications. Presto as a distributed sql querying engine, can provide a faster execution time provided the queries are tuned for proper distribution across the cluster. Another objective that we had was to combine Cassandra table data with other business data from RDBMS or other big data systems where presto through its connector architecture would have opened up a whole lot of options for us.

225k views225k
Comments

Detailed Comparison

Google BigQuery
Google BigQuery
Presto
Presto

Run super-fast, SQL-like queries against terabytes of data in seconds, using the processing power of Google's infrastructure. Load data with ease. Bulk load your data using Google Cloud Storage or stream it in. Easy access. Access BigQuery by using a browser tool, a command-line tool, or by making calls to the BigQuery REST API with client libraries such as Java, PHP or Python.

Distributed SQL Query Engine for Big Data

All behind the scenes- Your queries can execute asynchronously in the background, and can be polled for status.;Import data with ease- Bulk load your data using Google Cloud Storage or stream it in bursts of up to 1,000 rows per second.;Affordable big data- The first Terabyte of data processed each month is free.;The right interface- Separate interfaces for administration and developers will make sure that you have access to the tools you need.
-
Statistics
Stacks
1.8K
Stacks
394
Followers
1.5K
Followers
1.0K
Votes
152
Votes
66
Pros & Cons
Pros
  • 28
    High Performance
  • 25
    Easy to use
  • 22
    Fully managed service
  • 19
    Cheap Pricing
  • 16
    Process hundreds of GB in seconds
Cons
  • 1
    You can't unit test changes in BQ data
  • 0
    Sdas
Pros
  • 18
    Works directly on files in s3 (no ETL)
  • 13
    Open-source
  • 12
    Join multiple databases
  • 10
    Scalable
  • 7
    Gets ready in minutes
Integrations
Xplenty
Xplenty
Fluentd
Fluentd
Looker
Looker
Chartio
Chartio
Treasure Data
Treasure Data
PostgreSQL
PostgreSQL
Kafka
Kafka
Redis
Redis
MySQL
MySQL
Hadoop
Hadoop
Microsoft SQL Server
Microsoft SQL Server

What are some alternatives to Google BigQuery, Presto?

Apache Spark

Apache Spark

Spark is a fast and general processing engine compatible with Hadoop data. It can run in Hadoop clusters through YARN or Spark's standalone mode, and it can process data in HDFS, HBase, Cassandra, Hive, and any Hadoop InputFormat. It is designed to perform both batch processing (similar to MapReduce) and new workloads like streaming, interactive queries, and machine learning.

Amazon Redshift

Amazon Redshift

It is optimized for data sets 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.

Qubole

Qubole

Qubole is a cloud based service that makes big data easy for analysts and data engineers.

Amazon EMR

Amazon EMR

It is used in a variety of applications, including log analysis, data warehousing, machine learning, financial analysis, scientific simulation, and bioinformatics.

Amazon Athena

Amazon Athena

Amazon Athena is an interactive query service that makes it easy to analyze data in Amazon S3 using standard SQL. Athena is serverless, so there is no infrastructure to manage, and you pay only for the queries that you run.

Apache Flink

Apache Flink

Apache Flink is an open source system for fast and versatile data analytics in clusters. Flink supports batch and streaming analytics, in one system. Analytical programs can be written in concise and elegant APIs in Java and Scala.

lakeFS

lakeFS

It is an open-source data version control system for data lakes. It provides a “Git for data” platform enabling you to implement best practices from software engineering on your data lake, including branching and merging, CI/CD, and production-like dev/test environments.

Druid

Druid

Druid is a distributed, column-oriented, real-time analytics data store that is commonly used to power exploratory dashboards in multi-tenant environments. Druid excels as a data warehousing solution for fast aggregate queries on petabyte sized data sets. Druid supports a variety of flexible filters, exact calculations, approximate algorithms, and other useful calculations.

Altiscale

Altiscale

we run Apache Hadoop for you. We not only deploy Hadoop, we monitor, manage, fix, and update it for you. Then we take it a step further: We monitor your jobs, notify you when something’s wrong with them, and can help with tuning.

Snowflake

Snowflake

Snowflake eliminates the administration and management demands of traditional data warehouses and big data platforms. Snowflake is a true data warehouse as a service running on Amazon Web Services (AWS)—no infrastructure to manage and no knobs to turn.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase