A data analyst needs to run ad-hoc SQL queries on petabytes of log data stored as Parquet files in Azure Data Lake Storage Gen2. The queries join multiple tables and require high concurrency from multiple analysts. The solution should minimize cost by only paying for queries executed. Which Azure service should they use?
Azure Synapse Serverless SQL pool is the correct choice because it lets you run T-SQL queries directly against files in Azure Data Lake Storage without provisioning any compute infrastructure. You are billed only for the amount of data processed per query (per TB scanned), and the service automatically scales to handle concurrent ad-hoc workloads, making it the most cost-effective and operationally simple option for sporadic SQL queries on petabytes of data.
Why this answer
Azure Synapse Serverless SQL pool is the correct choice because it allows running ad-hoc T-SQL queries directly on Parquet files in Azure Data Lake Storage Gen2 without provisioning any infrastructure. It uses a pay-per-query billing model, making it cost-effective for sporadic, high-concurrency workloads where you only want to pay for the compute resources consumed during query execution.
Exam trap
The trap here is that candidates often confuse 'serverless' with 'Dedicated SQL pool' or choose Spark-based services like Databricks or HDInsight, failing to recognize that the key requirement is pay-per-query billing for ad-hoc SQL on data lake storage, which only Serverless SQL pool provides.
How to eliminate wrong answers
Option B is wrong because Azure Synapse Dedicated SQL pool requires provisioning and paying for dedicated compute resources 24/7, even when no queries are running, which contradicts the requirement to minimize cost by only paying for queries executed. Option C is wrong because Azure HDInsight with Spark involves provisioning a persistent cluster with fixed compute nodes, incurring ongoing costs regardless of query activity, and is more suited for batch processing and ETL rather than ad-hoc SQL queries. Option D is wrong because Azure Databricks also requires a running cluster (even with auto-termination, there is overhead) and is optimized for Spark-based analytics and machine learning, not for serverless SQL-on-demand with pay-per-query billing.