MicroStrategy Architecture

MicroStrategy Architecture

MicroStrategy Architecture Overview

Introduction to MicroStrategy Objects

  • The session begins with a recap of the previous discussion on MicroStrategy architecture, emphasizing the different types of objects within MicroStrategy.
  • Participants are prompted to name the various types of objects discussed earlier, which include public objects, schema (SCH) objects, and configuration objects.

Roles and Responsibilities

  • Clarification is provided on who works with each type of object: developers work on schema objects, while architects handle both schema and public objects. Administrators also have specific roles related to these objects.
  • A brief overview is given about the roles in relation to MicroStrategy basics, including how reports are created using dimensions and metrics (or measures).

Creating Basic Reports

  • To create a basic report in MicroStrategy, users need an interface that allows for design; this can be done through tools like MicroStrategy Developer or via web components.
  • The importance of understanding the tools available for report creation is highlighted, noting that some features may only be accessible through web interfaces.

Recap of Previous Session

  • A summary of what was covered in the last session includes types of objects, roles involved in their management, and steps taken to create a basic report using dimensions and metrics.

Understanding MicroStrategy Architecture

Types of Architectures

  • The instructor introduces different architectural models used in MicroStrategy: two-tier architecture, three-tier architecture, and four-tier architecture. Each model's relevance in real-time applications will be explored.

Importance of Architecture Knowledge

  • Understanding these architectures is crucial before building reports as it provides insight into backend processes when running reports within the system.

Backend Processes During Report Execution

  • When a user clicks "run report" in the developer interface, there are significant backend operations that occur. This session aims to clarify those processes for better comprehension.

Data Warehouse Context

Understanding MicroStrategy Architecture: Two-Tier to Four-Tier Connections

Overview of MicroStrategy Architecture

  • The architecture of MicroStrategy can be understood through a tiered approach, starting from two-tier connections and expanding to three-tier and four-tier architectures. Each additional component adds complexity but also functionality.

Components of Two-Tier Architecture

  • In a two-tier connection, the main components include:
  • Data Warehouse or roll app system.
  • Metadata.
  • Developer interface used for report design.

Transitioning to Three-Tier Architecture

  • Moving from two-tier to three-tier architecture introduces an additional component:
  • The MicroStrategy Intelligent Server is added while retaining the developer, metadata, and warehouse components.

Expanding to Four-Tier Architecture

  • The four-tier architecture includes all previous components plus one more:
  • MicroStrategy Web interface is introduced alongside the developer, metadata, warehouse, and intelligent server.

Connection Types in Different Architectures

  • Each architectural tier has specific connection types:
  • ODBC (Open Database Connectivity) is essential for two-tier connections.
  • TCP/IP and HTTP connections are introduced in higher tiers for enhanced communication between components.

Discussion on Metadata

  • Metadata serves as "data about data," providing crucial information regarding the structure of data within the warehouse.
  • It helps identify tables and their relationships within the data warehouse context.

Example Use Case of Metadata

Indexing in Data Warehousing

Understanding Indexing

  • Indexing acts as a reference point, similar to an index in a textbook, allowing users to locate specific topics efficiently.
  • The difference between books with and without indexes highlights the importance of indexing for easy access to information.

Importance of Metadata

  • Metadata serves as indexing information for data warehouses, which can contain vast amounts of data (terabytes to petabytes).
  • Without metadata, running reports directly on the data warehouse would be time-consuming due to the need for extensive scanning.

Role of Metadata in Data Retrieval

  • Metadata functions as a repository that stores indexing information about where specific data resides within tables.
  • When generating reports, metadata directs queries to the appropriate tables based on region, category, and sales information.

Two-Tier Connection Explained

  • In a two-tier connection setup, tools like MicroStrategy interface with both metadata and the data warehouse.
  • ODBC or DSN connections are essential for establishing physical links between interfaces and databases.

Report Generation Process

  • Reports designed in MicroStrategy utilize three types of objects: public schema and configuration; these definitions are stored in metadata.
  • The actual data is retrieved from the data warehouse after collecting object definitions from metadata during report execution.

Limitations of Two-Tier Architecture

MicroStrategy Connection Types Explained

Overview of Two-Tier and Three-Tier Connections

  • The discussion begins with the explanation of a two-tier connection where users connect to MicroStrategy using an ODBC connection to access metadata, which retrieves object definitions.
  • Users then connect to a Data Warehouse, allowing data to be displayed on their monitors or reports.
  • A question arises about the relationship between metadata and the Data Warehouse; it is clarified that there is no direct connection from metadata to the Data Warehouse.

Understanding Metadata in MicroStrategy

  • Metadata serves as an index for the Data Warehouse, containing information about what data exists without holding actual data itself.
  • It is confirmed that metadata functions as a separate database that indexes data present in various databases like Oracle or SQL Server.
  • The speaker emphasizes that while both metadata and data warehouses can exist independently, they are crucial for creating reports and filters within MicroStrategy.

Transitioning to Three-Tier Connections

  • The conversation shifts towards three-tier connections, highlighting how multiple users can connect through an intelligent server rather than directly accessing databases.
  • Key differences between two-tier and three-tier connections are discussed; notably, the addition of TCP/IP connections in three-tier setups enhances communication between servers and databases.

Role of Intelligent Server

  • The intelligent server acts as an intermediary for user connections, managing security checks and access permissions based on user roles.
  • It also handles caching and enterprise reporting functionalities essential for efficient data retrieval and management within projects.

Importance of TCP/IP Connections

Understanding MicroStrategy Architecture and Components

Overview of Data Flow in MicroStrategy

  • The data flow involves a TCP/IP connection, where users log into a desktop interface to create reports. Control is then transferred to the MicroStrategy Intelligent Server.
  • Upon running a report, it goes through the Intelligent Server to access metadata, collects object definitions, and retrieves data from the data warehouse before publishing the report.
  • In a three-tier architecture, the Intelligent Server plays a crucial role in managing connections between interfaces and databases.

Introduction of Web Server Component

  • In a four-tier architecture, an additional component called the MicroStrategy Web server is introduced for accessing reports online.
  • Developers can run reports via desktop interfaces; however, business users prefer not to install software on their machines for viewing reports.
  • Business users often require access to reports on mobile devices or tablets without needing to install MicroStrategy software.

Functionality of Web Server

  • A web server allows developers to share URLs for report access. Users can view these reports directly in their web browsers.
  • Similar to services like Gmail, this web server facilitates user access by requiring credentials (user ID and password).

Authentication Process

  • An LDAP server handles authentication by verifying if a user is valid before allowing them access to the MicroStrategy Intelligent Server.
  • Successful authentication routes requests back through the Intelligent Server for further processing involving metadata and data retrieval.

Comparison of Architectural Tiers

  • The two-tier architecture includes components like metadata and database; three-tier adds an Intelligent Server; four-tier introduces web capabilities with enhanced authentication processes.
  • Authentication occurs at both server levels before reaching the MicroStrategy environment, ensuring only valid users gain access.

Mobile Access and Custom Portals

  • Reports can be accessed on various mobile platforms (iPhone, Android), enhancing flexibility for users who need information on-the-go.

MicroStrategy Dashboard and Reporting Tools

Overview of Reporting Portals

  • MicroStrategy allows users to build various reporting portals, which can be developed using desktop tools or Microsoft Office products.
  • Many clients prefer using Microsoft Excel for data viewing due to familiarity with Microsoft products.

Mobile Configuration and Data Sources

  • Users can access reports on mobile devices by establishing server-level connections; a specific URL is required for report viewing on phones.
  • Reports can be generated from diverse data sources, including databases, OLAP systems, and online information.

Importance of Intelligent Server

  • The integration of an Intelligent Server is crucial for web connectivity and mobile access in MicroStrategy.
  • Key components include MicroStrategy Web, Desktop, Architect, and the Software Development Kit (SDK).

Customization with SDK

  • The SDK allows developers familiar with Java.NET to customize the look and feel of reports beyond default settings.
  • Users can modify folder lists and other UI elements through the SDK.

Administrative Tools Overview

Enterprise Manager

  • Enterprise Manager connects to the MicroStrategy Intelligence Server for statistical analysis and performance monitoring.
  • It helps identify unused reports or users over time to facilitate cleanup efforts.

Command Manager

  • Command Manager automates tasks by allowing users to create scripts that execute SQL statements instead of manual operations.

Object Manager

  • Object Manager facilitates migration between different environments (development, QA, production), ensuring smooth transitions during project development cycles.

Integrity Manager

MicroStrategy Architecture and Intelligent Server Overview

Understanding Report Automation and Integrity Manager

  • The Integrity Manager aids in automating unit testing, allowing users to compare reports before and after modifications, highlighting changes effectively.
  • Various methods exist for running reports, with discussions planned on server advantages and detailed functionalities.

MicroStrategy Architecture: Tiered Components

  • MicroStrategy operates on different architectural tiers; the two-tier architecture includes components like data warehouse, metadata, and MicroStrategy Developer.
  • In a three-tier architecture, the intelligent server is added alongside the data warehouse and metadata.
  • The four-tier architecture introduces an additional web server component for enhanced functionality.

Connection Types in MicroStrategy

  • Connections are crucial for development; ODBC connections link the developer to both the data warehouse and metadata.
  • A TCP/IP connection is established between the MicroStrategy Developer and Intelligent Server in a three-tier setup.
  • HTTP connections facilitate communication between the web server and intelligent server.

Real-Time Project Considerations

  • Real-time projects typically require a four-tier architecture due to multiple business users needing report access via web or mobile interfaces.

Role of Intelligent Server

  • The Intelligent Server manages job scheduling, determining which reports run at specific times while automating tasks efficiently.
  • It supports caching mechanisms and utilizes in-memory processing through intelligent cubes for improved performance.
  • Integration capabilities allow connections to web or mobile servers, essential for comprehensive reporting solutions.

Understanding Server Functions and Performance Optimization

Overview of Server Capabilities

  • The server enables the creation of dashboards or scorecards, which are collections of reports displayed in one location.
  • Automation of tasks is facilitated through workflows that require a server connection, highlighting the importance of the intelligent server in managing these processes.

Job Prioritization and Scheduling

  • Job priority management is crucial when multiple users run reports simultaneously; it determines the order in which reports are executed.
  • Scheduling allows for automated report execution at specified times, similar to setting an alarm for daily wake-up calls.

Key Functions: Caching and Intelligent Cubes

  • The intelligent server manages security, scheduling, caching, and performance optimization through various functionalities.
  • Caching improves performance by storing frequently accessed data temporarily, reducing retrieval time significantly compared to direct database queries.

Understanding Caching Mechanism

  • Cache functions like RAM; it stores data from previously executed reports to expedite future access.
  • For example, if a report takes 5 minutes to generate initially but is accessed by 100 users throughout the day, without caching this would result in excessive CPU utilization (500 minutes total).

Benefits of Intelligent Server Caching

  • With caching enabled on the intelligent server, repeated access to a report can reduce load time from 5 minutes to as little as 5 seconds after initial execution.
  • This efficiency drastically reduces overall processing time across multiple accesses—illustrating how effective caching can minimize resource consumption.

Exploring Intelligent Cubes

  • Intelligent cubes also enhance performance by pre-processing data for faster reporting. They allow for efficient handling of large datasets across numerous reports within a project.

Understanding Intelligent Cubes and Clustering in Reporting

Overview of Report Structures

  • Different reports may share a similar set of columns, with variations in additional columns. For example, reports like 10, 14, and 21 might have around 70% commonality but differ by 20-30%.
  • The initial execution of any report requires fetching data from the Data Warehouse, which can be time-consuming.

Optimizing Execution Time

  • To reduce the first-time execution time for reports that share common columns (70-80%), it is essential to identify these shared columns along with any additional ones.
  • Creating an "Intelligent Cube" (an in-memory database) can significantly enhance performance by storing data for multiple reports efficiently.

Benefits of Intelligent Cubes

  • Once the Intelligent Cube is populated with relevant data, subsequent report executions can drastically reduce load times from several minutes to mere seconds.
  • The Intelligent Cube serves as a source for multiple reports without limitations on the number of reports accessing it simultaneously.

Refreshing and Maintenance Considerations

  • It is crucial to refresh the Intelligent Cube daily to ensure current data availability; this process may take about 10 minutes depending on the complexity and volume of data.
  • If only one or two reports are involved, creating an Intelligent Cube may not be necessary; however, it becomes beneficial when dealing with a larger set of related reports.

Addressing Performance Issues through Clustering

  • As user demand increases (e.g., from 30,000 to over 60,000 users), server performance may degrade. Implementing clustering helps distribute loads across multiple servers.
  • Clustering allows for better resource management by distributing user connections among different servers rather than relying on a single server's capacity.

Importance of Architecture in Reporting Solutions

  • Many large organizations utilize MicroStrategy due to its robust architecture that supports high-volume reporting needs effectively.
  • Understanding how to create and manage Intelligent Cubes is vital for optimizing reporting processes within such architectures.

Questions and Clarifications

Understanding Intelligent Server Architecture

The Need for Multiple Intelligent Servers

  • To enhance performance and scalability, organizations must invest in multiple intelligent servers rather than relying on a single machine. This setup includes three distinct servers to facilitate load distribution and balancing.
  • As user numbers increase, the system remains scalable, ensuring that performance does not degrade. This is crucial for maintaining service quality during peak usage times.

Benefits of Redundant Server Nodes

  • Relying on a single server poses risks; if it fails due to various issues (e.g., space limitations or crashes), all users must wait for resolution. In contrast, having multiple nodes mitigates this risk.
  • When one server goes down, the remaining servers can handle the load by redistributing users effectively. For instance, if one server fails, 250 users can be rerouted to each of the other two operational servers.

Key Advantages of Multi-Node Systems

  • The architecture promotes high scalability through effective load distribution while ensuring linear performance across all active nodes.
Video description

MicroStrategy Architecture