LoginSignup
0
0

More than 1 year has passed since last update.

MicroStrategyのアーキテクチャについての簡単な概要

Last updated at Posted at 2022-02-10

はじめに

はじめまして、株式会社ジールの@ntakahashi425です。
BIツールであるMicroStrategy(以下MSTR)使ったデータ分析の構築を業務としております。
その中で得たノウハウをQiitaを通して発信していきます。
今回はMSTRの全体的なアーキテクチャの概要について説明させて頂きます。

1.MSTRについての説明

そもそもBIとは蓄積している膨大なデータを収集・蓄積・分析・加工し、可視化する事によって、意思決定を支援するツールです。
その中でもMSTRは、オブジェクトがレポートから独立している事を特徴としています。
オブジェクトとは、データの定義情報を保持し、オブジェクトの定義により、生成されるSQLに影響を与えます。
多くのBIでは、レポートごとにデータを定義する必要がありますが、MSTRの場合、オブジェクトをレポートから独立して作成するため、オブジェクトの再利用/共有が可能です。

簡単な処理の流れ

あるユーザーがオブジェクトを作成し、分析レポートを表示する際の処理の流れを説明します。

下図がMSTRのアーキテクチャとなります。
キャプチャ.PNG

上図番号と処理の手順番号は一致しております。
①Warehouseのデータ定義を基に、Developerを使用してMSTRオブジェクトとして定義します。
定義したMSTRオブジェクトはMetadataに格納されます。
②Developerより、①で定義したMSTRオブジェクトを使って、レポートを定義します。
定義情報を基にIntelligence ServerはSQLを生成します。
③ブラウザより、作成したレポートを開くと、②で生成されたSQLが実行され、レポートが表示されます。

以下より、各用語の概要を解説します。

Warehouseについて

Warehouseは、データベースの接続情報と、それに紐づいた各データベースのテーブル定義情報を保持しています。

Metadataについて

オブジェクト定義が格納されるDBです。
標準ではMYSQLがバンドルされています。

Intelligence Serverについて

Intelligence Serverとは、MSTRで行うほとんどの処理を管理するコアサーバーです。MSTRオブジェクトの定義に基づき、クエリ生成、レポート実行、ユーザーアクセス処理、OLAP分析を最適化します。

Developerについて

MSTRオブジェクトを作成、編集、削除するための開発者用のツールです。

2.オブジェクトとは

データベースのデータを定義したもので、定義情報はMetadataに格納されます。
オブジェクトでデータをどのように定義するかによって、生成されるSQLに影響を与えます。
下の図はオブジェクトの種類と階層を表したものです。
※一部、プロジェクトなど設定情報を保持するオブジェクトも存在します。

MicrosoftTeams-image (9).png

スキーマオブジェクト

Warehouseから、テーブルの構造を論理的に定義したものです。
具体的には、売上や数量などの数値項目をファクトとして定義したり、
部署名や商品名などをアトリビュートとして定義します。
レポートを作成する上で、スキーマオブジェクトは最低限必要となるオブジェクトです。

分析オブジェクト 

スキーマオブジェクトを基に作成され、分析のニーズを満たすための処理を追加するオブジェクトです。
具体的には、売上にSUM関数を加えた売上合計メトリック、売上から費用を差し引いた利益メトリック、
営業部のみや、利益が〇〇円以下といった条件に一致するデータを表示するフィルター、
レポート表示時に部署の一覧が表示され、ユーザーが任意の部署を選択する事で、動的なフィルターを適用するプロンプトなどが該当します。

分析レポートデータセット

上記で作成したスキーマオブジェクト、分析オブジェクトを配置し、グリッドやグラフとして表示するオブジェクトが分析レポートデータセットです。

ドキュメント、ドシエ

一つ以上の分析レポートデータセットを基に作成され、様々なデータをグラフィカルにまとめ、一目で理解できるようにするデータ可視化オブジェクトです。

まとめ

今回はMSTRにおけるアーキテクチャの概要と、オブジェクトについて、説明しました。
今後もMSTRにまつわるナレッジを記事に上げていこうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0