Amazon Athena vs Azure Functions

Need advice about which tool to choose?Ask the StackShare community!

Amazon Athena

493
837
+ 1
49
Azure Functions

670
698
+ 1
62
Add tool

Amazon Athena vs Azure Functions: What are the differences?

Key Differences between Amazon Athena and Azure Functions

Amazon Athena and Azure Functions are both cloud-based services provided by Amazon Web Services (AWS) and Microsoft Azure respectively. While they are both used in the cloud computing domain, they have some key differences.

  1. Purpose and Functionality: Amazon Athena is an interactive query service that allows users to analyze data in Amazon S3 using SQL. It is primarily used for ad-hoc querying and analysis of data. On the other hand, Azure Functions is a serverless computing service that allows developers to run event-driven code in Azure. It enables the development of scalable, event-based applications and offers various triggers and bindings to integrate with other Azure services.

  2. Language Support: Amazon Athena supports SQL as its query language, making it accessible to users familiar with SQL. However, Azure Functions supports a wider range of programming languages including C#, JavaScript, PowerShell, Python, and TypeScript. This gives developers more flexibility in choosing the language they are most comfortable with.

  3. Billing Model: Amazon Athena follows a pay-per-query model, where users are charged based on the amount of data scanned by their queries. This provides cost-effectiveness for occasional and small-scale queries. On the other hand, Azure Functions follows a pay-as-you-go pricing model, where users are charged based on the number of executions and the resources utilized by their functions. This allows users to pay only for the actual usage of their functions.

  4. Event Triggers: Azure Functions supports a wide range of triggers such as HTTP requests, timers, message queues, and database events. These triggers can automatically invoke the functions when specific events occur. In contrast, Amazon Athena does not have built-in event triggers. It relies on users manually invoking queries through the Athena API or the AWS Management Console.

  5. Scalability and Infrastructure: Azure Functions automatically scales based on the number of incoming requests and the configured scale settings. It abstracts away the underlying infrastructure, allowing developers to focus on writing code. Amazon Athena, on the other hand, is built on top of Amazon S3 and uses a distributed query engine to process queries. It scales automatically to handle large datasets but may require users to optimize their queries for better performance.

  6. Integration with Other Services: Azure Functions has tight integration with various Azure services like Azure Storage, Azure Event Hubs, Azure Cosmos DB, and Azure Service Bus. This enables seamless integration and data processing between different services. Amazon Athena can integrate with other AWS services such as AWS Glue, Amazon QuickSight, and Amazon QuickSight to form a comprehensive data analytics stack within the AWS ecosystem.

In summary, Amazon Athena is primarily focused on ad-hoc querying and analysis of data using SQL, while Azure Functions is geared towards building event-driven applications with support for multiple programming languages and a wide range of event triggers.

Advice on Amazon Athena and Azure Functions

Need advice on what platform, systems and tools to use.

Evaluating whether to start a new digital business for which we will need to build a website that handles all traffic. Website only right now. May add smartphone apps later. No desktop app will ever be added. Website to serve various countries and languages. B2B and B2C type customers. Need to handle heavy traffic, be low cost, and scale well.

We are open to either build it on AWS or on Microsoft Azure.

Apologies if I'm leaving out some info. My first post. :) Thanks in advance!

See more
Replies (2)
Anis Zehani

I recommend this : -Spring reactive for back end : the fact it's reactive (async) it consumes half of the resources that a sync platform needs (so less CPU -> less money). -Angular : Web Front end ; it's gives you the possibility to use PWA which is a cheap replacement for a mobile app (but more less popular). -Docker images. -Kubernetes to orchestrate all the containers. -I Use Jenkins / blueocean, ansible for my CI/CD (with Github of course) -AWS of course : u can run a K8S cluster there, make it multi AZ (availability zones) to be highly available, use a load balancer and an auto scaler and ur good to go. -You can store data by taking any managed DB or u can deploy ur own (cheap but risky).

You pay less money, but u need some technical 2 - 3 guys to make that done.

Good luck

See more

My advice will be Front end: React Backend: Language: Java, Kotlin. Database: SQL: Postgres, MySQL, Aurora NOSQL: Mongo db. Caching: Redis. Public : Spring Webflux for async public facing operation. Admin api: Spring boot, Hibrernate, Rest API. Build Container image. Kuberenetes: AWS EKS, AWS ECS, Google GKE. Use Jenkins for CI/CD pipeline. Buddy works is good for AWS. Static content: Host on AWS S3 bucket, Use Cloudfront or Cloudflare as CDN.

Serverless Solution: Api gateway Lambda, Serveless Aurora (SQL). AWS S3 bucket.

See more

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?

See more
Replies (4)

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

See more
Carlos Acedo
Data Technologies Manager at SDG Group Iberia · | 5 upvotes · 246.4K views
Recommends
on
Amazon RedshiftAmazon Redshift

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.

See more
Alexis Blandin
Recommends
on
Amazon AthenaAmazon Athena

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

See more
Recommends

you can change your PSV fomat data to parquet file format with AWS GLUE and then your query performance will be improved

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Amazon Athena
Pros of Azure Functions
  • 16
    Use SQL to analyze CSV files
  • 8
    Glue crawlers gives easy Data catalogue
  • 7
    Cheap
  • 6
    Query all my data without running servers 24x7
  • 4
    No data base servers yay
  • 3
    Easy integration with QuickSight
  • 2
    Query and analyse CSV,parquet,json files in sql
  • 2
    Also glue and athena use same data catalog
  • 1
    No configuration required
  • 0
    Ad hoc checks on data made easy
  • 14
    Pay only when invoked
  • 11
    Great developer experience for C#
  • 9
    Multiple languages supported
  • 7
    Great debugging support
  • 5
    Can be used as lightweight https service
  • 4
    Easy scalability
  • 3
    WebHooks
  • 3
    Costo
  • 2
    Event driven
  • 2
    Azure component events for Storage, services etc
  • 2
    Poor developer experience for C#

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon Athena
Cons of Azure Functions
    Be the first to leave a con
    • 1
      No persistent (writable) file system available
    • 1
      Poor support for Linux environments
    • 1
      Sporadic server & language runtime issues
    • 1
      Not suited for long-running applications

    Sign up to add or upvote consMake informed product decisions

    What is 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.

    What is Azure Functions?

    Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Amazon Athena?
    What companies use Azure Functions?
    Manage your open source components, licenses, and vulnerabilities
    Learn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Amazon Athena?
    What tools integrate with Azure Functions?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Aug 28 2019 at 3:10AM

    Segment

    PythonJavaAmazon S3+16
    7
    2606
    Jul 2 2019 at 9:34PM

    Segment

    Google AnalyticsAmazon S3New Relic+25
    10
    6857
    What are some alternatives to Amazon Athena and Azure Functions?
    Presto
    Distributed SQL Query Engine for Big Data
    Amazon Redshift Spectrum
    With Redshift Spectrum, you can extend the analytic power of Amazon Redshift beyond data stored on local disks in your data warehouse to query vast amounts of unstructured data in your Amazon S3 “data lake” -- without having to load or transform any data.
    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.
    Cassandra
    Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
    Spectrum
    The community platform for the future.
    See all alternatives