Skip to main content
BRILLIQS

Azure Synapse Analytics

An Azure service bringing warehouse queries, Spark processing and data integration together in one workspace.

Azure Synapse Analytics is an analytics service on Azure. It combines several engines in one workspace: a provisioned SQL pool for warehouse workloads, a serverless SQL option for querying files in storage, Apache Spark pools for processing, and pipelines for moving data. They share a workspace and a security model.

Several tools under one roof

Analytics work rarely uses one engine.

Data has to be moved from source systems. Some of it needs processing that SQL handles awkwardly. Reporting queries want a warehouse. Exploration wants a way to look at files without committing to loading them.

Assembled from separate services, this means several environments, several security configurations and several places to look when something goes wrong.

Synapse puts these in one workspace. The engines remain distinct, and what they share is the workspace, the security model and the connection to storage.

Understanding the parts separately is the way to make sense of it, because the name covers four different things.

Dedicated SQL pools

This is the warehouse engine. Capacity is provisioned, data is distributed across nodes, and SQL queries run against it.

The characteristics are those of a provisioned warehouse. Capacity is chosen, it costs while running, and it can be paused when not needed. Performance depends on how data is distributed across the nodes, which is a design decision made when tables are created.

That distribution choice deserves emphasis. Tables distributed badly cause queries to move large amounts of data between nodes, which is the usual explanation when a distributed warehouse performs poorly. It is a modelling decision, not a setting to adjust afterwards.

Serverless SQL

This queries files in storage directly. No capacity is provisioned and billing follows the data a query processes.

Its value is removing a step. Files land in a data lake from various sources. Before deciding whether to load them into a warehouse, someone needs to know what is in them. Serverless SQL answers that with a query rather than a project.

It also serves data queried occasionally, where the effort of loading and maintaining it in a warehouse is disproportionate to how often anyone asks.

It is not a replacement for the warehouse. Files in general purpose storage are not organised for repeated analytical querying, and data used constantly by many people performs better loaded.

Spark pools

Spark handles processing that SQL does not suit.

Deeply nested or irregular files. Transformations expressed more naturally in code. Machine learning. Work where a procedural language is simply a better fit for what is being expressed.

Having Spark in the same workspace means the choice between SQL and Spark is made per task. Without it, the choice tends to be made once per platform, and then everything gets forced through whichever engine was chosen.

Spark pools are clusters, so they are sized, started and stopped. The cost model is that of a cluster rather than of a query.

Pipelines

Pipelines move data. They connect to source systems, extract, and land data in storage or the warehouse on a schedule.

The capability is closely related to Azure Data Factory, and having it inside the workspace means the movement of data and the analysis of it are built and monitored together rather than in separate services.

Choosing between the parts

The practical question with Synapse is not whether to use it but which engine to use for what.

Steady reporting on data used constantly suits a dedicated pool. Exploration and occasional queries over files suit serverless. Processing that SQL expresses awkwardly suits Spark. Movement suits pipelines.

Getting this wrong is the main way costs and performance disappoint. A dedicated pool left running for occasional queries is expensive. Complex transformation forced into SQL because the warehouse is where the data lives is painful to write and maintain.

Who uses it

Synapse is used by data engineers, analysts and platform teams on Azure. It suits organisations already invested in Azure, where identity, storage and monitoring integrate with what is in place.

Points to consider

Synapse is an Azure service. The official documentation is the reference for capabilities, limits and pricing.

Microsoft has since introduced Fabric, which covers overlapping ground with a different structure. Both exist, and the official documentation includes guidance on choosing between them. For anyone starting a new analytics platform on Azure, reading that guidance before committing is worthwhile.

The workspace is shared; the engines are not interchangeable. Each has its own performance characteristics, cost model and design considerations, and treating them as one system leads to expensive misunderstandings.

Distribution design in dedicated pools is the decision that most affects whether the warehouse performs, and it is difficult to change once tables hold data.

Getting started

The official documentation covers each engine separately along with the workspace concepts. Querying a few files with serverless SQL is the quickest way to see something useful, since it requires no capacity to be provisioned and no data to be loaded.

Key features of Azure Synapse Analytics

Capabilities described in the official documentation.

Dedicated SQL pools

A provisioned warehouse engine distributes data across nodes for large scale SQL workloads.

Serverless SQL over files

Files in a data lake are queried with SQL without being loaded into a warehouse first.

Apache Spark pools

Spark clusters run within the same workspace for processing that SQL does not suit.

Pipelines for moving data

Data integration activities are built and scheduled in the same environment as the analysis.

Advantages of Azure Synapse Analytics

Factual advantages that follow from the features above.

Several engines share one workspace

Warehouse queries, Spark work and data movement sit together rather than in separate services.

Data in the lake is reachable

Serverless SQL means files can be examined before any decision to load them is made.

Cost follows the engine chosen

Provisioned and serverless options allow steady and occasional workloads to be handled differently.

It fits an Azure estate

Identity, storage and monitoring align with other Azure services already in use.

Common use cases for Azure Synapse Analytics

Situations the official documentation describes this tool as being used for.

Manufacturing

Running an enterprise data warehouse

A dedicated SQL pool serves reporting workloads over consolidated data.

Energy

Exploring files in a data lake

Serverless SQL queries files directly to establish what they contain before loading.

Retail

Processing data with Spark

Transformations unsuited to SQL run on Spark pools within the same workspace.

Public sector

Scheduling data movement

Pipelines bring data from source systems into storage on a defined schedule.

Official website

Everything on this page is based on the official documentation for Azure Synapse Analytics. You can read the source here.

Azure Synapse Analytics official documentation

Frequently asked questions about Azure Synapse Analytics

Answers taken from the official documentation for this tool.

A dedicated SQL pool is provisioned capacity that is paused and resumed and is billed while running. Serverless SQL has no provisioned capacity and is billed by the data a query processes. Dedicated pools hold data in the warehouse; serverless queries files in storage.

Fabric is a later Microsoft analytics offering that covers overlapping ground with a different structure. Both exist and the official documentation describes each and the guidance on choosing between them, which is the reliable reference as the products evolve.

Because some work does not suit SQL. Processing semi structured files, applying machine learning, and transformations expressed more naturally in code are all easier in Spark. Having both in one workspace means the choice is per task rather than per platform.

Often yes. Querying files avoids a loading step and is convenient for exploration and occasional analysis. Data queried repeatedly by many users generally performs better when loaded into a warehouse where it is organised for that purpose.