Analytics Optimization with Columnstore Indexes in Microsoft SQL Server: Optimizing OLAP Workloads

  • 3h 38m
  • Edward Pollack
  • Apress
  • 2022

Meet the challenge of storing and accessing analytic data in SQL Server in a fast and performant manner. This book illustrates how columnstore indexes can provide an ideal solution for storing analytic data that leads to faster performing analytic queries and the ability to ask and answer business intelligence questions with alacrity. The book provides a complete walk through of columnstore indexing that encompasses an introduction, best practices, hands-on demonstrations, explanations of common mistakes, and presents a detailed architecture that is suitable for professionals of all skill levels.

With little or no knowledge of columnstore indexing you can become proficient with columnstore indexes as used in SQL Server, and apply that knowledge in development, test, and production environments. This book serves as a comprehensive guide to the use of columnstore indexes and provides definitive guidelines. You will learn when columnstore indexes should be used, and the performance gains that you can expect. You will also become familiar with best practices around architecture, implementation, and maintenance. Finally, you will know the limitations and common pitfalls to be aware of and avoid.

As analytic data can become quite large, the expense to manage it or migrate it can be high. This book shows that columnstore indexing represents an effective storage solution that saves time, money, and improves performance for any applications that use it. You will see that columnstore indexes are an effective performance solution that is included in all versions of SQL Server, with no additional costs or licensing required.

What You Will Learn

  • Implement columnstore indexes in SQL Server
  • Know best practices for the use and maintenance of analytic data in SQL Server
  • Use metadata to fully understand the size and shape of data stored in columnstore indexes
  • Employ optimal ways to load, maintain, and delete data from large analytic tables
  • Know how columnstore compression saves storage, memory, and time
  • Understand when a columnstore index should be used instead of a rowstore index
  • Be familiar with advanced features and analytics

About the Author

Edward Pollack has over 20 years of experience in database and systems administration, architecture, and development, becoming an advocate for designing efficient data structures that can withstand the test of time. He has spoken at many events, such as SQL Saturdays, PASS Community Summit, Dativerse, and at many user groups and is the organizer of SQL Saturday Albany. Edward has authored many articles, as well as the book Dynamic SQL: Applications, Performance, and Security, and a chapter in Expert T-SQL Window Functions in SQL Server.

In his free time, Ed enjoys video games, sci-fi & fantasy, traveling and baking. He lives in the sometimes-frozen icescape of Albany, NY with his wife Theresa and sons Nolan and Oliver, and a mountain of (his) video game plushies that help break the fall when tripping on (their) kids’ toys. --This text refers to the paperback edition.

In this Book

  • About the Technical Reviewer
  • Introduction
  • Chapter 1: Introduction to Analytic Data in a Transactional Database
  • Chapter 2: Transactional vs. Analytic Workloads
  • Chapter 3: What Are Columnstore Indexes?
  • Chapter 4: Columnstore Index Architecture
  • Chapter 5: Columnstore Compression
  • Chapter 6: Columnstore Metadata
  • Chapter 7: Batch Execution
  • Chapter 8: Bulk Loading Data
  • Chapter 9: Delete and Update Operations
  • Chapter 10: Segment and Rowgroup Elimination
  • Chapter 11: Partitioning
  • Chapter 12: Nonclustered Columnstore Indexes on Rowstore Tables
  • Chapter 13: Nonclustered Rowstore Indexes on Columnstore Tables
  • Chapter 14: Columnstore Index Maintenance
  • Chapter 15: Columnstore Index Performance