Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The blog technology/ https://blogs.msdn.microsoft.com/sqlserverstorageengine/2015/12/09/columnstore-index-real-time-operational-analytics-using-in-memory-technology/ describes that customers are increasingly looking for real-time operational analytics for the ability to do analytics in real-time while minimizing or eliminating the cost of ETL and setting up of a separate DW. While the customer value is compelling but it was not possible earlier when data was organized as rows. With the introduction of columnstore technology since SQL Server 2012, customers are seeing dramatic (upto 100x) speed up in the performance of analytics queries. SQL Server 2016, with the introduction of updateable nonclustered columnstore index (NCCI), makes it possible to do real-time analytics on operational schema. More importantly, you can do so without requiring any changes to your OLTP or transactional application. All you need to do is to create an NCCI on one or more tables that are needed for analytics. SQL Server query optimizer automatically chooses NCCI for analytics queries while your OLTP workload continues to run using the same btree indexes as before. In many cases, if the existing OLTP workload already had indexes for speeding up analytics queries, you can drop those indexes and replace them by a single NCCI index. If you are replacing multiple btree indexes with one NCCI index, you may infact see higher throughtput transactional workload. The picture below shows a table with NCCI. Think of it as just another index that is maintained automatically as DML transactions are run.
While this all sounds well and good, there are essentially two challenges to be addressed. First challenge is how we can get good performance for analytics queries when the database schema has been optimized for OLTP? Recall, that traditionally the Data Warehouse (DW) use Star or snowflake schema to give optimal performance for analytics queries. The schema for OLTP databases is highly normalized (i.e. with minimal data duplication) which when used for analytic queries could lead to poor performance primarily because of complexity of joins between larger number of tables. The significant query speed up made possible by columnstore index (i.e. NCCI) can overcome the complexity of query and still deliver most analytics queries in few seconds. At this point, it is important to emphasize the analytics query performance with real-time operational analytics will not be as fast as you can get with a dedicated DW but the key benefit is the ability to do analytics in real-time. Some businesses may choose to do real-time operational analytics while still maintaining a dedicated DW for extreme analytics. There are customers who have deployed NCCI in production and have eliminated the dedicated DW.
The second challenge is how to minimize or eliminate the impact of analytics on transactional workload. Many customers we talked to had indicated in very strong terms that transactional system tracks their business transactions and any slowdown in transactional workload will impact their bottom line and therefore unacceptable. SQL Server 2016 provides customers multiple options described below to eliminate or minimize the impact of analytics on operational workloads (to be covered in futures blog in detail)
The key takeaway I want you to have is (1) you can enable real-time operational analytics in your workload by just creating an NCCI with no changes to your transactional workload (2) You have multiple options available to minimize the impact of analytics on your transactional workload. Please stay tuned for additional blogs on this topic
Thanks
Sunil Agarwal
Please sign in to use this experience.
Sign in