MicroStrategy - Architecture
MicroStrategy has a metadata-driven architecture. The metadata is a central repository, which stores all the objects used by it. Also the metadata can be used by any of the MicroStrategy products, which has ensured uniformity in the values of the objects. The objects stored in the metadata are reusable.
The following diagram represents the different layer of objects created and stored in MicroStrategy metadata.
Administration Objects − This Objects layer establishes the security, user grouping, and performance parameters that govern the MicroStrategy applications.
Report Objects − This objects layer assembles the building blocks from the Schema and Analysis Object Layers to provide insightful textual and visual analysis.
Analysis Objects − This objects layer provides the building blocks for sophisticated analysis. The analysis objects are built on the objects developed in the schema layer.
Schema Objects − This objects layer provides a logical abstraction of the database schema that is tailored for the business model.
MicroStrategy can access data from data warehouses, cube databases, flat files, operational databases such as ERPs, CRMS, Web applications, etc. For this, it uses a relational OLAP architecture.
The following diagram shows an overall architecture of MicroStrategy platform describing how it accesses data from various sources using the metadata objects.
Dynamic MDX Engine − It generates optimized Multidimensional Expressions (MDX) for interactively accessing cube databases from SAP, Microsoft Analysis Services, Hyperion Essbase, etc.
Dynamic SQL Engine − It generates optimized SQL for interactively accessing data warehouses.
Freeform SQL Engine − It provides direct access to operational databases, text files, and spreadsheets via a graphical Query Builder or through freehand SQL.
Finally, MicroStrategy Architect can model multiple sources as if they were a single data source, storing all this information in MicroStrategy's unified metadata.