Need advice about which tool to choose?Ask the StackShare community!
Amazon Athena vs Druid: What are the differences?
Introduction
1. Querying Mechanism: Amazon Athena and Druid have different querying mechanisms. Amazon Athena is based on Presto, a distributed SQL query engine, which allows users to write SQL queries to analyze data in Amazon S3. On the other hand, Druid is a time-series database that specializes in real-time analytics and has its own query language, called Druid Query Language (DSL). While Athena offers SQL-like syntax for querying, Druid's DSL is specifically designed for efficient querying of time-series data.
2. Data Ingestion and Storage: One key difference between Amazon Athena and Druid is their approach to data ingestion and storage. Athena directly queries data stored in Amazon S3, without the need for any data ingestion process. In contrast, Druid requires a data ingestion process where data is loaded into its distributed, column-oriented storage format. This format enables efficient querying and aggregation over large datasets.
3. Architecture and Scalability: Amazon Athena follows a serverless architecture, where the underlying infrastructure is managed by AWS, allowing users to focus solely on the data analysis aspect. It scales automatically based on the query load and can handle concurrent queries from multiple users efficiently. Druid, on the other hand, follows a distributed architecture and is designed to handle high ingest rates and queries on large volumes of data in real-time. It can scale horizontally by adding more nodes to the cluster.
4. Data Types and Capabilities: Another difference lies in the supported data types and capabilities of Amazon Athena and Druid. Athena supports a wider range of data types, including primitive types, such as strings, numbers, booleans, and complex types like arrays and maps. It also provides features like window functions, time-based functions, and joins. In contrast, Druid has a more limited set of data types focused on time-series data, such as timestamps, numerics, strings, and arrays. It offers advanced capabilities for time-series analysis, including roll-ups, filtering, granular aggregations, and approximate query processing.
5. Cost Structure: The cost structure for using Amazon Athena and Druid differs significantly. Athena follows a pay-as-you-go model, where users are billed based on the amount of data scanned by their queries. This allows for cost optimization as users can control the query size and limit unnecessary scanning. Druid, on the other hand, requires users to provision and manage their own infrastructure, including storage, compute, and networking resources. The cost is based on the infrastructure resources allocated and maintained by the user.
6. Integration and Ecosystem: Amazon Athena integrates seamlessly with other AWS services, such as AWS Glue for data cataloging and AWS Lambda for serverless data processing. It also provides easy integration with popular BI tools and visualization platforms. Druid, being a standalone open-source project, offers integrations with various data sources, including Kafka, Hadoop, and cloud storage services like Amazon S3. It has a vibrant ecosystem of ingestion and query tools, along with community-driven extensions and plugins.
In Summary, Amazon Athena and Druid differ in their querying mechanism, data ingestion and storage approach, architecture and scalability, supported data types and capabilities, cost structure, and integration ecosystem.
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
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 Druid
- Real Time Aggregations15
- Batch and Real-Time Ingestion6
- OLAP5
- OLAP + OLTP3
- Combining stream and historical analytics2
- OLTP1
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon Athena
Cons of Druid
- Limited sql support3
- Joins are not supported well2
- Complexity1