Chapter 12. In-Memory Cubes and Visual Insight

In this chapter, we will cover:

  • Creating a cube from an existing report
  • Building a new cube
  • Scheduling data refresh
  • Creating reports and documents based on a cube
  • Exploring data with Visual Insight
  • Using the network visualization

Introduction

MicroStrategy's in-memory technology is the most important part of the Intelligence Server extension named OLAP Services.

The OLAP Services' main advantage is the ability to perform very fast queries using desktop, web, and mobile clients without the need to overload the RDBMS server. It also allows for slicing and dicing data directly in the Intelligent Server memory without having to re-execute the SQL statement against the data warehouse.

Formerly known as Intelligent Cubes and now rebranded In-Memory cubes, this technology improves the efficiency and performance of reports, documents, and Visual Insight analyses. In previous chapters we already took advantage of some OLAP features like page-by, pivoting, dynamic aggregation, and view filters; we are now exploring the use of multidimensional datasets to leverage the fast response times and the MOLAP capabilities of In-Memory cubes.

Some other advantages of cubes:

  • Can be shared and used by many reports/documents
  • Can be refreshed on a scheduled basis during off-peak hours
  • Support drilling
  • Allow self-service data analysis

You can think about In-Memory cubes as a big, fast cache that is stored in the memory of the Intelligence Server. There are exceptions to that, in fact, cubes can be unloaded and saved to disk when not used and memory is needed for other cubes. Since direct memory access is several times faster than disk I/O, it is easy to guess that the benefits of fast executions are seriously impacted by the swapping to/from disk. It is the administrator's responsibility to properly size the memory on the Intelligence Server in order to minimize this impact. Please refer to the administration manuals in the product documentation for more details on how to monitor memory usage.

So, the In-Memory cube is a static copy of result data that can be shared among many different reports. Static means that, until refreshed, the cube contains the same numbers; depending on your data warehouse ETL policy, you can decide when and how often these numbers need to be recalculated, daily, hourly, or else.

All reports and documents that read from the cube will have the same version of the truth, and this is a very nice-to-have side effect. We can restrict users' access in such a way that they can only view data inside a cube and never escape from there. This is a tremendous help to prevent snowball SQL.

On the other hand, for the advanced users, it is possible to allow drill functionalities outside the cube, so that they can navigate from the aggregate multidimensional data (MOLAP) to the underlying detailed RDBMS tables (ROLAP). This is another very useful perk to lure business analysts and give them full control over the results.

I don't need to remind you that an empowered BI user, after a training period, becomes independent, self-sufficient, and is able to satisfy his/her data needs without IT support. And this is a very, if not the most, important benefit of In-Memory cubes.

Having said that, a good in-memory strategy can make our life easier. The drawback is that we can't just "cubify" everything. There are cases when the benefits are more evident than others. For example, frequently accessed reports with a very large number of returned rows are good cube candidates; reports that run only once a month, or return a very limited set of rows, may not give added value if cubified. If you have a business user complaining that every day he/she has to spend 15 minutes waiting for the invoice report to pop up, well, that's a clear example of a candidate cube!

Note

One last remark before we continue: according to MicroStrategy's benchmarks for scalability and response time, the best cubes are those that are smaller than 5 GB in size.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset