Real Time Analytics With MicroStrategy
Real Time Analytics With MicroStrategy
Tony Maresco
Stephen Lippens
HF Chadeisson
This presentation describes features that are under development by MicroStrategy. The objective of this presentation is to provide insight into
MicroStrategy’s technology direction. The functionalities described herein may or may not be released as shown.
This presentation contains statements that may constitute “forward-looking statements” for purposes of the safe harbor provisions under the
Private Securities Litigation Reform Act of 1995, including estimates of future technology releases. Forward-looking statements inherently
involve risks and uncertainties that could cause actual results of MicroStrategy Incorporated and its subsidiaries (collectively, the “Company”)
to differ materially from the forward-looking statements.
Factors that could contribute to such differences include: the Company’s ability to develop, market and deliver on a timely and cost-effective
basis new or enhanced offerings that respond to technological change or new customer requirements; delays in the Company’s ability to
develop or ship new products; the extent and timing of market acceptance of MicroStrategy’s new offerings; continued acceptance of the
Company’s other products in the marketplace; competitive factors; general economic conditions; and other risks detailed in the Company’s
registration statements and periodic reports filed with the Securities and Exchange Commission. By making these forward-looking statements,
the Company undertakes no obligation to update these statements for revisions or changes after the date of this presentation.
Special thanks to Alex, Kyung-Whu, Robert, Pradyut, Matt, Michael and Zander for contributing
to our brainstorming sessions
Real-time analytics is the use of, or the capacity to use, data and related resources as soon as the data
enters the system. The adjective real-time refers to a level of computer responsiveness that a user senses as
immediate or nearly immediate. Real-time analytics is also known as dynamic analysis, real-time analysis,
real-time data integration and real-time intelligence.
Technologies that support real-time analytics include:
Processing in memory (PIM) -- a chip architecture in which the processor is integrated into a memory chip to
reduce latency.
In-database analytics -- a technology that allows data processing to be conducted within the database by
building analytic logic into the database itself.
Data warehouse appliances -- combination hardware and software products designed specifically for analytical
processing. An appliance allows the purchaser to deploy a high-performance data warehouse right out of the
box.
In-memory analytics -- an approach to querying data when it resides in random access memory (RAM), as
opposed to querying data that is stored on physical disks.
Massively parallel programming (MPP) -- the coordinated processing of a program by multiple processors that
work on different parts of the program, with each processor using its own operating system and memory.
5 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
What is Real Time Analytics ?
Second Google result - Techopedia says
Real-time analytics is the discipline that applies logic and mathematics to data to
provide insights for making better decisions quickly. For some use cases, real time
simply means the analytics is completed within a few seconds or minutes after the
arrival of new data. On-demand real-time analytics waits for users or systems to
request a query and then delivers the analytic results. Continuous real-time
analytics is more proactive and alerts users or triggers responses as events
happen.
Real-time analytics is the discipline that applies logic and mathematics to data to
provide insights for making better decisions quickly. For some use cases, real time
simply means the analytics is completed within a few seconds or minutes after
the arrival of new data. On-demand real-time analytics waits for users or
systems to request a query and then delivers the analytic results. Continuous
real-time analytics is more proactive and alerts users or triggers responses as
events happen.
Speed of thoughts Near Real Time Dossier Real Time Visualizations Real Time Notifications
Already available Stream support - Q3 2018 Q4 2018 Future
I get speed of thought answers Get near real time information in Shared spaces Instant remediation - problems
on my database in real time. MicroStrategy cube being solved in real time
TV Walls
The system answers to ad-hoc Dossier available on demand Trigger process in other system
requests
Call centers • Webhook
Use of client based Autorefresh • Human notification : Slack /
Mail / SMS
Supervisor multi-screen
Stream Processing • Run a script
External External
Producer Consumer
Kafka Kafka
Source: https://docs.confluent.io/current/streams/concepts.html Source Sink
Auto
Refresh
MicroStrategy
Platform
ODBC
Stream Sources Stream Brokers Stream Processors Database
Data Lake
16 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
Framework for Near Real Time Dossier
Accessing the data that resides in Streaming sources
Data Lake
17 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
Framework for Near Real Time Dossier
Accessing the data that resides in Streaming sources
Data Lake
18 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
Using KSQL for Stream Processing
https://www.confluent.io/blog/using-ksql-to-analyse-query-and-transform-data-in-kafka
https://www.confluent.io/blog/using-ksql-to-analyse-query-and-transform-data-in-kafka
MicroStrategy Analytics***
Customer Stream
processing *
Historical
Cubes for RT
Long-term Storage of Blending,
Structured Detail ** Analysis, and
Alerts
Node.js/
Socket.io Web Sockets
Push API
Aggregated/
Sources Analytics
Alerts/Transactions
• High user scalability
• Moderately high rate and volume scalability * Note that all the “Customer Stream processing” components are customer-provided,
built with streaming components such as Spark, Storm and Kafka.
• Uses objects ** A typical architecture stores data from the stream in HDFS, ElasticSearch, HBase,
etc. for Historical Reporting and Machine Learning
• Supports queries for aggregations and metrics *** The full MicroStrategy Analytics solutions requires some custom development with
Speed of thoughts Near Real Time Dossier Real Time Visualizations Real Time Notifications
I get speed of thought answers Get near real time information in Shared spaces Instant remediation - problems
on my database in real time. MicroStrategy cube being solved in real time
TV Walls
The system answers to ad-hoc Dossier available on demand Trigger process in other system
requests
Call centers • Webhook
Use of client based Autorefresh • Human notification : Slack /
Mail / SMS
Supervisor multi-screen
• Run a script
• How to update viz in real time with information that goes through the Sink ?
Real Time
Custom
Visualizations Historical Auto
Visualizations Refresh
Real Time APIUpdate MicroStrategy
Engine Listener Platform
MicroStrategy APIs
(internal Kafka) ODBC
Sink Sink
Stream Sources Stream Brokers Stream Processors Database
Data Lake
26 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
27 Copyright © 2018 MicroStrategy Inc. All Rights Reserved.
Real-time Engine Responsibilities
Drop zones
Attributes Metrics
Request room to
kafka satisfy data request
W/ real-time engine
Rooms
• (A) Callcenter Execution with filter1
Kafka RT Engine
• OnCall
Data stream notification • (A) Employee Execution with filter2
• OnCall
• (A) Employee Execution with filter3
• Call Duration
X 100
Features
• Multi source Dossier : showing historical data and real time data
• Real Time data uses Intelligent Cubes for Platform Analytics, Blending, Caching
Speed of thoughts Near Real Time Dossier Real Time Visualizations Real Time Notifications
I get speed of thought answers Get near real time information in Shared spaces Instant remediation - problems
on my database in real time. MicroStrategy cube being solved in real time
TV Walls
The system answers to ad-hoc Dossier available on demand Trigger process in other system
requests
Call centers • Webhook
Use of client based Autorefresh • Human notification : Slack /
Mail / SMS
Supervisor multi-screen
• Run a script
• Kafka Sink
• 2 min video: https://www.youtube.com/watch?v=EMz_GCurv4o
• Community Article: https://community.microstrategy.com/s/article/Kafka-connector-Sink-to-MicroStrategy-Cubes
• Code: https://github.com/hchadeisson/mstr-kafka-sink
• Useful reads :
• Streams concepts: https://docs.confluent.io/current/streams/concepts.html
• Top Streaming Technologies for Analytics (pros/cons): https://resources.zaloni.com/blog/top-streaming-technologies-for-data-lakes-and-real-time-data
Speed of thoughts Near Real Time Dossier Real Time Visualizations Real Time Notifications
Already available Stream support - Q3 2018 Q4 2018 Future
I get speed of thought answers Get near real time information in Shared spaces Instant remediation - problems
on my database in real time. MicroStrategy cube being solved in real time
TV Walls
The system answers to ad-hoc Dossier available on demand Trigger process in other system
requests
Call centers • Webhook
Use of client based Autorefresh • Human notification : Slack /
Mail / SMS
Supervisor multi-screen
• Run a script