Need advice about which tool to choose?Ask the StackShare community!
Amazon Athena vs Google BigQuery: What are the differences?
Introduction:
Amazon Athena and Google BigQuery are both cloud-based data warehousing and analytics services. While they have similarities in terms of providing scalable and cost-effective solutions for processing large datasets, there are key differences between the two platforms. The following paragraphs highlight some of these differences:
Data Storage and Structure: Amazon Athena stores data in Amazon S3, allowing users to directly query the data without the need for complex ETL processes. On the other hand, Google BigQuery has its own dedicated storage system, which eliminates the need for a separate storage service. It also supports a wide range of data formats, including native support for nested and repeated fields.
Query Execution and Performance: Amazon Athena uses Presto, an open-source distributed SQL query engine, for query execution. This makes it suitable for running ad-hoc queries and provides flexibility in terms of data formats. Google BigQuery, on the other hand, uses a proprietary query engine optimized for large-scale data processing. It employs a columnar storage format and parallel processing techniques, which generally contribute to faster query performance.
Pricing Structure: Amazon Athena follows a pay-per-query pricing model, where users are billed based on the amount of data scanned by the queries. This can provide cost savings for occasional or small-scale usage. In contrast, Google BigQuery has tiered pricing based on storage and query usage, which may be more suitable for users with predictable or high-volume workloads.
Data Partitioning and Clustering: Amazon Athena supports partitioning and clustering of data, allowing users to optimize query performance by reducing the amount of data scanned. This is particularly useful for table scans on large datasets. Google BigQuery, on the other hand, automatically partitions and clusters data based on the table's schema and query patterns, further enhancing query performance.
Integration with Ecosystem: Amazon Athena integrates well with other AWS services, making it a good choice for users already utilizing the AWS ecosystem. It also has seamless integration with AWS Glue, allowing for automated and scalable ETL processes. Google BigQuery integrates well with other Google Cloud Platform services, providing a cohesive experience for users in the Google Cloud ecosystem.
Data Transfer and Loading: Amazon Athena supports querying data directly from external sources like Amazon Redshift and Amazon DynamoDB, making it easier to analyze data across different services. Google BigQuery, on the other hand, offers native connectors for various Google services like Google Sheets and Google Analytics, simplifying data loading and analysis within the Google Cloud environment.
In Summary, Amazon Athena and Google BigQuery differ in terms of data storage, query execution, pricing structure, data partitioning and clustering, ecosystem integration, and data transfer/loading capabilities. The choice between the two depends on specific use cases, existing infrastructure, and preferences.
Hi all,
Currently, we need to ingest the data from Amazon S3 to DB either Amazon Athena or Amazon Redshift. But the problem with the data is, it is in .PSV (pipe separated values) format and the size is also above 200 GB. The query performance of the timeout in Athena/Redshift is not up to the mark, too slow while compared to Google BigQuery. How would I optimize the performance and query result time? Can anyone please help me out?
you can use aws glue service to convert you pipe format data to parquet format , and thus you can achieve data compression . Now you should choose Redshift to copy your data as it is very huge. To manage your data, you should partition your data in S3 bucket and also divide your data across the redshift cluster
First of all you should make your choice upon Redshift or Athena based on your use case since they are two very diferent services - Redshift is an enterprise-grade MPP Data Warehouse while Athena is a SQL layer on top of S3 with limited performance. If performance is a key factor, users are going to execute unpredictable queries and direct and managing costs are not a problem I'd definitely go for Redshift. If performance is not so critical and queries will be predictable somewhat I'd go for Athena.
Once you select the technology you'll need to optimize your data in order to get the queries executed as fast as possible. In both cases you may need to adapt the data model to fit your queries better. In the case you go for Athena you'd also proabably need to change your file format to Parquet or Avro and review your partition strategy depending on your most frequent type of query. If you choose Redshift you'll need to ingest the data from your files into it and maybe carry out some tuning tasks for performance gain.
I'll recommend Redshift for now since it can address a wider range of use cases, but we could give you better advice if you described your use case in depth.
It depend of the nature of your data (structured or not?) and of course your queries (ad-hoc or predictible?). For example you can look at partitioning and columnar format to maximize MPP capabilities for both Athena and Redshift
you can change your PSV fomat data to parquet file format with AWS GLUE and then your query performance will be improved
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 Athena
- Use SQL to analyze CSV files16
- Glue crawlers gives easy Data catalogue8
- Cheap7
- Query all my data without running servers 24x76
- No data base servers yay4
- Easy integration with QuickSight3
- Query and analyse CSV,parquet,json files in sql2
- Also glue and athena use same data catalog2
- No configuration required1
- Ad hoc checks on data made easy0
Pros of Google BigQuery
- High Performance28
- Easy to use25
- Fully managed service22
- Cheap Pricing19
- Process hundreds of GB in seconds16
- Big Data12
- Full table scans in seconds, no indexes needed11
- Always on, no per-hour costs8
- Good combination with fluentd6
- Machine learning4
- Easy to manage1
- Easy to learn0
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon Athena
Cons of Google BigQuery
- You can't unit test changes in BQ data1
- Sdas0