Courseiva

Hybrid Indexing for OLTP/OLAP

A company runs a financial application on Azure SQL Database. The Transactions table has a clustered columnstore index to support fast analytical queries on large historical datasets. However, the application also ingests a high volume of new transactions each second, and the columnstore index is causing performance degradation for these real-time inserts. The workload is hybrid (OLTP and OLAP). Which feature should the company implement to improve insert performance while still enabling efficient analytical queries on the table?

Quick Answer

The correct answer is to convert the table to a rowstore heap with a nonclustered columnstore index. This hybrid indexing approach separates the OLTP insert path from the OLAP read path, allowing the rowstore heap to handle high-volume singleton inserts efficiently while the nonclustered columnstore index still enables fast analytical queries on large datasets. On the Microsoft Azure Data Fundamentals DP-900 exam, this scenario tests your understanding of workload-optimized storage structures, specifically how to balance real-time ingestion against analytical performance in a hybrid workload. A common trap is assuming a clustered columnstore index is always best for analytics, but it degrades insert performance due to delta store overhead. Remember the memory tip: "Heap for speed, columnstore for reads"—the heap absorbs inserts like a sponge, while the columnstore snapshot provides the analytical view.

⚠ Common exam trap

Many candidates assume a clustered columnstore index is always the best choice for analytical queries, overlooking the significant insert performance penalty it imposes on high-volume OLTP workloads, and fail to recognize that a nonclustered columnstore index on a heap can provide the same analytical benefits without the insert bottleneck.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

D: Convert the table to a rowstore heap with a nonclustered columnstore index

Converting the table to a rowstore heap with a nonclustered columnstore index allows the table to handle high-volume singleton inserts efficiently (rowstore heap) while still enabling fast analytical queries via the nonclustered columnstore index. This hybrid approach separates the OLTP insert path from the OLAP read path, avoiding the overhead of maintaining a clustered columnstore index during real-time ingestion.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • A: In-memory OLTP

    Why it's wrong here

    In-memory OLTP optimizes memory-optimized tables for high-speed transactions but does not provide columnstore-based analytics on the same table in a complementary manner.

  • B: Elastic Query

    Why it's wrong here

    Elastic Query enables querying across multiple Azure SQL databases; it does not address performance trade-offs within a single table.

  • C: Hyperscale service tier

    Why it's wrong here

    Hyperscale is a service tier that provides fast scaling and large storage, but it does not inherently solve the conflict between columnstore inserts and rowstore inserts.

  • D: Convert the table to a rowstore heap with a nonclustered columnstore index

    Why this is correct

    A nonclustered columnstore index on a rowstore table allows efficient OLTP inserts into the rowstore while the columnstore index periodically processes batches for analytical performance, achieving a balanced hybrid workload.

About these practice questions

One of 820 original DP-900 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more way this is tested on DP-900

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. A financial application uses Azure SQL Database. The workload consists of a high volume of small, frequent insert operations (OLTP) and periodic complex analytical queries that scan large portions of the same table (OLAP). The table currently has a clustered columnstore index. The inserts are suffering from performance degradation. What should the company do to improve insert performance while still enabling efficient analytical queries?

hard
  • A.Replace the clustered columnstore index with a clustered rowstore index and add a nonclustered columnstore index
  • B.Use memory-optimized tables for the entire table
  • C.Partition the table by date and move older partitions to columnstore
  • D.Keep the clustered columnstore index and use batch inserts

Why A: A clustered rowstore index is optimized for high-volume OLTP inserts, while adding a nonclustered columnstore index allows the same table to support efficient analytical queries by providing a separate columnar structure. This hybrid approach avoids the insert overhead of columnstore indexes, which are designed for bulk operations and can suffer from small, frequent insert performance degradation due to delta store management and tuple mover processes.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DP-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-900 exam.