DP-900Chapter 57 of 101Objective 1.4

OLAP vs OLTP Workloads

This chapter covers the fundamental difference between OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) workloads, a core concept for the DP-900 exam. Understanding these workload types is essential because they dictate the choice of Azure data services — for instance, using Azure SQL Database for OLTP and Azure Synapse Analytics for OLAP. Approximately 10-15% of DP-900 exam questions touch directly on OLTP vs. OLAP characteristics, and many more questions on data services require you to infer the correct service based on workload type. By the end of this chapter, you will be able to distinguish between the two, map them to appropriate Azure services, and identify common exam traps.

25 min read
Intermediate
Updated May 31, 2026

Warehouse vs. Storefront: OLAP and OLTP

Think of a retail store and a warehouse. OLTP (Online Transaction Processing) is like the storefront checkout. Each customer transaction is small, fast, and must be recorded immediately. The cashier processes one sale at a time, updating inventory and payment in real-time. If the system is slow, customers get frustrated and leave. The storefront requires high concurrency, low latency, and strict data integrity—every penny must balance. In contrast, OLAP (Online Analytical Processing) is like the warehouse inventory system. Once a month, the warehouse manager analyzes sales data to decide which products to reorder. They run a complex query that sums up thousands of transactions, grouping by product category and region. This query might take minutes or hours, but that's acceptable because it produces a strategic report. The warehouse doesn't need to process individual sales; it needs to aggregate large volumes of historical data efficiently. In database terms, OLTP systems are row-oriented (like a receipt listing each item in a row), while OLAP systems are column-oriented (like a spreadsheet where each column holds all values for one attribute, enabling fast aggregation). A real-world hybrid is a 'storefront with a warehouse in the back'—some databases can handle both but optimize for one or the other. Azure SQL Database is built for OLTP; Azure Synapse Analytics is built for OLAP.

How It Actually Works

What Are OLTP and OLAP? Why Do They Exist?

OLTP (Online Transaction Processing) and OLAP (Online Analytical Processing) are two categories of data processing workloads. They exist because the requirements for recording business transactions are fundamentally different from those for analyzing historical data. OLTP systems are designed to handle a large number of short, atomic transactions — typically INSERT, UPDATE, DELETE, or small SELECT queries — with high concurrency and low latency. Every transaction must be ACID-compliant (Atomic, Consistent, Isolated, Durable) to ensure data integrity. Examples: bank ATM transactions, e-commerce order placement, airline reservation systems. OLAP systems, on the other hand, are optimized for complex queries that aggregate large volumes of data — often millions or billions of rows — to support business intelligence (BI) and reporting. They are not ACID-focused; instead they prioritize query throughput and data compression. Examples: monthly sales reports, customer churn analysis, financial forecasting.

How They Work Internally: Row vs. Column Storage

The fundamental difference in storage engine design is row-oriented vs. column-oriented storage. OLTP databases (e.g., SQL Server, Azure SQL Database) store data row by row on disk. Each row contains all columns for a single record, stored contiguously. This design is ideal for row-level operations: when you UPDATE a customer's address, the database reads the entire row, modifies it, and writes it back. Indexes (like B-trees) are used to locate rows quickly by key values. In contrast, OLAP systems (e.g., Azure Synapse Analytics, SQL Server Analysis Services) store data column by column. Each column's values for all rows are stored together. This allows the query engine to read only the columns needed for a query, dramatically reducing I/O. For example, a query that sums sales by region only reads the 'sales amount' and 'region' columns, skipping the other 50 columns. Column storage also enables better compression because values within a column often have low cardinality (e.g., region names repeat). Compression ratios of 5x-10x are common, reducing storage cost and improving scan speeds.

Key Components, Values, Defaults, and Timers

OLTP Transaction Size: Typically very small — a few rows per transaction. The system processes hundreds or thousands of transactions per second (TPS). In Azure SQL Database, the default transaction isolation level is READ COMMITTED, which uses row versioning to avoid blocking.

OLAP Query Complexity: Queries often involve multiple joins, aggregations (SUM, COUNT, AVG), GROUP BY, and window functions. They can scan billions of rows. In Azure Synapse Analytics, the default distribution is hash-distributed round-robin for fact tables and replicated for small dimension tables.

Latency Requirements: OLTP expects sub-second response times for individual transactions. OLAP can tolerate minutes or even hours for complex reports.

Data Freshness: OLTP data is always current (real-time). OLAP data is typically updated in batches — nightly or weekly — via ETL (Extract, Transform, Load) processes. There are exceptions like real-time analytics using streaming, but the exam focuses on the traditional batch model.

Normalization: OLTP schemas are highly normalized (3NF or higher) to eliminate redundancy and ensure data integrity. OLAP schemas are denormalized using star or snowflake schemas with fact and dimension tables to optimize query performance.

Configuration and Verification Commands

In Azure, you don't configure OLTP vs. OLAP directly; you choose the service. However, understanding T-SQL differences helps. For OLTP, you might use:

-- High-concurrency OLTP example
BEGIN TRANSACTION;
UPDATE Inventory SET Quantity = Quantity - 1 WHERE ProductID = 123;
INSERT INTO Orders (CustomerID, ProductID, Quantity) VALUES (456, 123, 1);
COMMIT TRANSACTION;

For OLAP, typical queries use aggregations:

-- OLAP aggregation query
SELECT d.Category, SUM(f.SalesAmount) AS TotalSales
FROM FactSales f
JOIN DimProduct d ON f.ProductKey = d.ProductKey
WHERE f.DateKey BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY d.Category;

In Azure Synapse, you can view distribution and compression using:

DBCC PDW_SHOWSPACEUSED('FactSales');

This shows row count, reserved space, and data compression ratio.

How OLTP and OLAP Interact with Related Technologies

ETL/ELT: OLTP and OLAP often coexist in a data pipeline. The OLTP system is the source of truth. ETL (Extract, Transform, Load) processes extract data from OLTP, transform it (cleanse, aggregate, denormalize), and load it into the OLAP system. In Azure, common tools are Azure Data Factory for orchestration and Azure Databricks or Synapse Pipelines for transformation.

Azure Services Mapping:

OLTP: Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL/PostgreSQL, Cosmos DB (for NoSQL workloads).

OLAP: Azure Synapse Analytics (formerly SQL Data Warehouse), Azure Analysis Services, Azure Databricks (for big data analytics), Power BI (for visualization).

Hybrid Workloads: Some services blur the line. For example, Azure SQL Database has columnstore indexes that allow OLTP to also run fast analytical queries on the same data. However, the exam expects you to know the primary design goal.

Data Modeling: OLTP uses Entity-Relationship (ER) modeling; OLAP uses dimensional modeling (star schema). A star schema has a central fact table (with numeric measures and foreign keys to dimensions) and surrounding dimension tables (with descriptive attributes).

Exam-Relevant Details

ACID vs. BASE: OLTP emphasizes ACID (Atomicity, Consistency, Isolation, Durability). OLAP systems often relax consistency for performance, using BASE (Basically Available, Soft state, Eventual consistency) — but the exam does not test BASE in depth. Know that OLAP is not ACID-focused.

Concurrency: OLTP supports many concurrent users (thousands) performing small operations. OLAP typically has fewer concurrent users (analysts) running heavy queries.

Data Volume: OLTP handles gigabytes to low terabytes. OLAP handles terabytes to petabytes.

Indexing: OLTP uses B-tree indexes for fast point lookups. OLAP uses columnstore indexes for fast scans and aggregations.

Backup Strategy: OLTP requires frequent transaction log backups (every few minutes) to minimize data loss. OLAP can use less frequent full backups because data changes slowly.

Common Exam Scenarios

The DP-900 exam will present a scenario — e.g., "A company needs to process thousands of customer orders per second with high consistency" — and ask you to choose the correct workload type and the best Azure service. Alternatively, they may ask which characteristic belongs to OLTP vs. OLAP. Key differentiators: read/write pattern, latency, concurrency, data freshness, schema design.

Walk-Through

1

Identify Workload Requirements

Start by listing the key requirements: transaction volume (e.g., 1000 orders/sec), latency tolerance (sub-second vs. minutes), data freshness (real-time vs. nightly), concurrency (thousands of users vs. a few analysts), and query pattern (point lookups vs. aggregations). For example, an e-commerce site needs OLTP for checkout, while a reporting dashboard needs OLAP. This step determines whether the system is OLTP, OLAP, or both.

2

Choose Storage Model

Based on workload, choose row-oriented (OLTP) or column-oriented (OLAP) storage. Row storage optimizes for row-level operations; column storage for column-level aggregations. In Azure, this maps to service selection: Azure SQL Database uses row storage by default but supports columnstore indexes; Azure Synapse uses column storage natively. Ensure the storage model aligns with query patterns to avoid poor performance.

3

Design Schema Appropriately

For OLTP, normalize the schema to 3NF to reduce redundancy. For OLAP, denormalize using star or snowflake schemas. In OLTP, use primary keys and foreign keys with indexes. In OLAP, create fact tables with numeric measures and dimension tables with descriptive attributes. Wrong schema design leads to slow queries or data anomalies. The exam may ask you to identify a star schema from a diagram.

4

Implement Data Integration Pipeline

If both OLTP and OLAP exist, build an ETL/ELT pipeline to move data from OLTP to OLAP. Use Azure Data Factory or Synapse Pipelines to extract data, transform (cleanse, aggregate), and load into the OLAP system. Schedule the pipeline during off-peak hours. Monitor latency between source and target. A common mistake is not handling incremental loads, causing full refreshes that are slow and expensive.

5

Optimize for Performance

For OLTP, ensure proper indexing (B-tree), use connection pooling, and tune queries to avoid blocking. For OLAP, create columnstore indexes, partition large tables, and distribute data appropriately (hash-distribute fact tables, replicate small dimension tables). In Azure Synapse, use result-set caching for repeated queries. Monitor query performance using dynamic management views (DMVs). The exam may test optimization techniques like partitioning.

What This Looks Like on the Job

Enterprise Scenario 1: E-Commerce Platform (OLTP)

A global online retailer uses Azure SQL Database for its OLTP workload. The system processes over 10,000 transactions per second during peak hours, including order placement, payment processing, and inventory updates. Each transaction must be ACID-compliant to ensure no double charges or overselling. The database is scaled using Azure SQL Database's Hyperscale tier, which allows up to 100 TB of storage and auto-scaling compute. The schema is highly normalized with tables for Customers, Orders, OrderDetails, Products, and Inventory. Indexes are carefully designed: clustered index on primary keys, non-clustered indexes on foreign keys and frequently filtered columns (e.g., OrderDate). The team uses read replicas for reporting to offload analytical queries. Common misconfigurations include insufficient indexing causing deadlocks, and choosing the wrong service tier (e.g., Basic instead of Standard) leading to throttling. The solution handles 99.99% uptime with geo-replication for disaster recovery.

Enterprise Scenario 2: Retail Analytics (OLAP)

A retail chain with 500 stores uses Azure Synapse Analytics to analyze sales data. The OLAP system ingests nightly batches of transaction data from each store's OLTP system via Azure Data Factory. The data is loaded into a star schema: a FactSales table (with columns SalesAmount, Quantity, DateKey, StoreKey, ProductKey) and dimension tables (DimDate, DimStore, DimProduct). The fact table contains 2 billion rows and is hash-distributed on StoreKey to balance query load. Columnstore indexes provide 10x compression and fast aggregation. Analysts run complex queries to identify trends, such as "total sales per region for the last quarter compared to same period last year." The system uses materialized views to pre-aggregate common metrics, reducing query time from minutes to seconds. A common issue is data skew — if one store has significantly more sales than others, its distribution node becomes a bottleneck. The team mitigates this by using round-robin distribution for the fact table instead of hash distribution. The OLAP system also integrates with Power BI for interactive dashboards.

Scenario 3: Hybrid Workload in Azure SQL Database

A mid-sized company uses Azure SQL Database with columnstore indexes to support both OLTP and OLAP workloads on the same database. The OLTP part handles order entry during the day, while the OLAP part runs nightly reports. The columnstore index is created on a non-clustered columnstore index on the Orders table, allowing fast aggregations without affecting OLTP performance. However, the system experiences higher latency for OLTP updates because columnstore indexes are not optimized for point updates. The solution is to use a memory-optimized table for high-frequency updates and a columnstore index for historical data. This hybrid approach is a compromise and not recommended for large-scale OLAP; the exam focuses on the pure separation of workloads.

How DP-900 Actually Tests This

What DP-900 Tests on OLTP vs. OLAP

DP-900 objective 1.4: "Describe the differences between OLTP and OLAP workloads." The exam expects you to:

Identify characteristics of each workload (e.g., OLTP: high concurrency, low latency, ACID; OLAP: complex queries, large volumes, denormalized schema).

Map workloads to appropriate Azure services (e.g., Azure SQL Database for OLTP, Azure Synapse Analytics for OLAP).

Recognize scenarios: if a scenario mentions "thousands of users updating data in real-time," it's OLTP; if it mentions "aggregating years of sales data for reporting," it's OLAP.

Common Wrong Answers and Why Candidates Choose Them

1.

"OLAP systems require ACID compliance" – Wrong. OLAP systems often relax ACID for performance. ACID is a hallmark of OLTP. Candidates confuse the two because both are database workloads.

2.

"OLTP systems use columnstore indexes" – Wrong. Columnstore indexes are for OLAP. OLTP uses rowstore indexes. Candidates may know columnstore improves query performance but forget it's for analytical queries.

3.

"OLAP systems handle high concurrency of small transactions" – Wrong. That's OLTP. OLAP has few concurrent users running heavy queries. Candidates might think 'analytics' means many users, but it's typically a small team.

4.

"Azure SQL Database is designed for OLAP" – Wrong. It's primarily OLTP. Azure Synapse is for OLAP. Candidates may not know the specific Azure service mapping.

Specific Numbers and Terms That Appear Verbatim

ACID: Atomicity, Consistency, Isolation, Durability — expect a question asking which workload requires ACID.

Rowstore vs. Columnstore: Know that rowstore is for OLTP, columnstore for OLAP.

Star Schema: Fact table and dimension tables — be able to identify from a diagram.

ETL: Extract, Transform, Load — the process that moves data from OLTP to OLAP.

Azure Synapse Analytics: The primary Azure OLAP service (formerly SQL Data Warehouse).

Edge Cases and Exceptions

Hybrid Systems: Azure SQL Database can have columnstore indexes, enabling some OLAP on an OLTP system. The exam may test that the primary design goal is still OLTP.

Cosmos DB: Although a NoSQL database, it is often used for OLTP-like workloads (high concurrency, low latency). Know that it is not ACID in the traditional sense but offers single-document atomicity.

Real-time Analytics: Some OLAP systems use streaming (e.g., Azure Stream Analytics) for near-real-time data. The exam focuses on traditional batch OLAP.

How to Eliminate Wrong Answers

If the question mentions "high concurrency" or "low latency," eliminate OLAP answers.

If the question mentions "aggregations," "large datasets," or "historical data," eliminate OLTP answers.

If the question asks for the best Azure service, match OLTP to Azure SQL Database/Managed Instance and OLAP to Azure Synapse/Analysis Services.

Key Takeaways

OLTP is for transactional workloads: high concurrency, low latency, ACID, rowstore, normalized schema.

OLAP is for analytical workloads: complex aggregations, large data volumes, columnstore, denormalized schema.

Azure SQL Database is the primary OLTP service; Azure Synapse Analytics is the primary OLAP service.

Columnstore indexes are key for OLAP performance; B-tree indexes are key for OLTP.

Star schema consists of fact tables (numeric measures) and dimension tables (descriptive attributes).

ETL processes move data from OLTP to OLAP systems.

The exam often asks you to identify workload type from scenario descriptions.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

OLTP

Row-oriented storage

ACID compliant

High concurrency (thousands of users)

Low latency (sub-second)

Normalized schema (3NF)

OLAP

Column-oriented storage

Not ACID-focused (relaxed consistency)

Low concurrency (few analysts)

Higher latency (seconds to hours)

Denormalized schema (star/snowflake)

Watch Out for These

Mistake

OLTP and OLAP are just different names for the same thing.

Correct

They are fundamentally different in storage, query patterns, concurrency, and purpose. OLTP is for transactional processing; OLAP is for analytical processing. Using the wrong system leads to poor performance.

Mistake

OLAP systems are always faster than OLTP systems.

Correct

OLAP systems are optimized for complex aggregations, not for small, fast transactions. For point lookups, OLTP is much faster. Speed depends on workload.

Mistake

Azure SQL Database supports both OLTP and OLAP equally well.

Correct

Azure SQL Database is primarily OLTP. It can run analytical queries using columnstore indexes, but it is not optimized for large-scale OLAP. Azure Synapse Analytics is the dedicated OLAP service.

Mistake

OLTP databases are always normalized, and OLAP databases are always denormalized.

Correct

While typical, there are exceptions. Some OLTP systems use denormalization for performance, and some OLAP systems use normalized schemas (snowflake schema). The exam expects the general rule.

Mistake

OLTP systems do not need indexes.

Correct

OLTP systems rely heavily on indexes (especially B-tree) to speed up row-level operations. Without indexes, point lookups would require full table scans, causing poor performance.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What is the difference between OLTP and OLAP?

OLTP (Online Transaction Processing) handles many small, concurrent transactions with low latency and ACID compliance. OLAP (Online Analytical Processing) handles complex queries on large historical datasets, using columnstore storage and denormalized schemas. In Azure, use Azure SQL Database for OLTP and Azure Synapse Analytics for OLAP.

Which Azure services are best for OLTP workloads?

Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, and Azure Cosmos DB (for NoSQL) are optimized for OLTP. They provide high concurrency, low latency, and ACID compliance where applicable.

What is a star schema in data warehousing?

A star schema is a denormalized data model used in OLAP. It has one central fact table containing numeric measures and foreign keys to surrounding dimension tables. Dimension tables contain descriptive attributes. This design optimizes query performance for aggregations and is common in Azure Synapse Analytics.

Can Azure SQL Database be used for OLAP?

Yes, but with limitations. Azure SQL Database supports non-clustered columnstore indexes for analytical queries on the same data. However, it is not designed for large-scale OLAP; Azure Synapse Analytics is the recommended service for dedicated OLAP workloads.

What is the role of ETL in OLTP and OLAP?

ETL (Extract, Transform, Load) moves data from OLTP systems (source) to OLAP systems (target). It extracts data, transforms it (cleansing, aggregation, denormalization), and loads it into the OLAP data warehouse. This enables historical analysis without impacting OLTP performance.

Why does OLAP use columnstore indexes?

Columnstore indexes store data column-wise, allowing the query engine to read only the columns needed for a query. This reduces I/O and enables high compression (5-10x). They are ideal for aggregations and scans over large datasets, which are common in OLAP workloads.

What is ACID and why is it important for OLTP?

ACID stands for Atomicity, Consistency, Isolation, Durability. It ensures that transactions are processed reliably. For example, in a bank transfer, ACID guarantees that money is deducted from one account and credited to another without partial failures. OLTP systems require ACID to maintain data integrity.

Terms Worth Knowing

Ready to put this to the test?

You've just covered OLAP vs OLTP Workloads — now see how well it sticks with free DP-900 practice questions. Full explanations included, no account needed.

Done with this chapter?