In today’s world, users expect their reporting applications to provide near instantaneous response times despite the fact that today’s analytic applications consist of dashboards containing dozens of visualizations built on top of exploding data volumes.
MicroStrategy has made significant changes to its in-memory architecture as part of their version 10 release to address the new realities of high-performance analytics.
If your MicroStrategy environment consists of large Intelligent Cubes or if you support large data imports for self-service analytics, you need to know about the new partitioning capabilities in MicroStrategy 10 Secure Enterprise.
It is important to understand that MicroStrategy’s Parallel Partitioned Cubes are not intended to replace your data mart or data warehouse. They can be loaded from these traditional databases or directly from Hadoop or other data files and are intended to complement your existing data sources by providing a “hot” data layer for reports or applications requiring extremely high performance.
For those of you who are familiar with earlier versions of MicroStrategy, the concept of Intelligent Cubes is a familiar one. So is the fact that one of their key challenges is that they can take a really long time to load. With the Parallel Partitioned Cube functionality in MicroStrategy 10, partitions are processed in parallel across the processor cores of your Intelligence Server, resulting in significant improvements in both cube load times and report response times. In internal tests, MicroStrategy has seen up to 4x faster cube load times and 50% faster data interactions than in MicroStrategy 9.4.1.
Another significant limitation of the cube architecture in previous versions of MicroStrategy was the two billion row per cube limitation. This may sound like a lot of data, but it is not uncommon for customers to hit this limit. With MicroStrategy 10, you can overcome this row limitation by enabling data partitioning across multiple cores of a CPU, effectively splitting the data within the cube into 2B chunks.
Tips for Partitioning Cubes in MicroStrategy 10
MicroStrategy suggests the following guidelines when designing partitions:
- Partitioning is supported with integer, date and text data types
- Partition attributes should contain a relatively uniform distribution of values
- The more fact tables an attribute appears in, the better candidate it is for partitioning
- Large fact tables make good candidates for partitioning
- The number of partitions that you split your dataset into should be less than or equal to the number of CPU cores on your Intelligence Server
- Join columns make good partition attributes
- Attributes frequently used for filtering are not good partition candidates
Until you upgrade, you can’t take advantage of any of the great new functionality offered in MicroStrategy 10.