QuickBI紹介及びOLAPアーキテクチャ説明

CJNANです。

最近データ分析の案件を対応していまして、ビックデータ基盤のMaxComputeや機械学習関連のPAI、GPUマシン、可視化ツールのDataVなどに関するノウハウをブログして共有しました。ご興味ある方はテックブログから製品名(例:PAI)を検索して、ご覧ください。

今日はAlibaba Cloudのデータソリューションの最後の一環であるBI分析について、「QuickBI」をご紹介致します。

Notice:

  • 現時点(2018年11月12日)では、日本サイトでまだリリースされていないサービスですが、近い時期にリリースする予定がありますので、先走って、ご紹介します。
  • この文章はあくまでもQuickBIのプロダクト紹介であり、実際の操作や使い方については、下記のブログをご参照ください。

リンク:<国際サイトQuickBIドキュメント>

リンク:<OSS+DLA+QuickBI 操作紹介編>

What is QuickBI?

QuickBIはAlibaba Cloudで提供した、OLAP基盤のBIツールです。QuickBIはBasic、Pro、Professional Editionの3つのバージョンを提供し、対応できる機能もそれぞれ違います。

従来のBIツールと比べて、QuickBIの特徴を幾つかまとめますと、

1. データアクセスの簡略化

従来のBIツールでは、データを分析するために、ビジネスサイドとデータエンジニアサイドと言う2つの役割に別れて、前者がBI分析を行うために、毎回エンジニアサイドでデータを処理しなければならないギャップがあり、無駄な工数と時間が発生します。

そして、最近のBIツールは多様なデータソースの接続対応、ETLのGUI化などで、分析までのエンジニアリングをなるべく簡略化させ、ビジネスサイドでも簡単に使えるようになりました。よく知られている製品としてはAlibaba CloudのQuickBI、Tableau、Microsoft Power BI、QlikViewなどがあります。

2. 強力な処理基盤

QuickBIではCSV、Excelなどの静的ファイルやRDBだけでなく、MaxCompute、Hive/Hadoopなどのビックデータ基盤も対応していて、膨大なデータを処理できる分析基盤を提供しています。その裏側には強力なOLAPエンジンがサービス支えています。

機能

QuickBI Proを例として幾つかの機能を紹介します。

1. Data Source

現在、QuickBIでは静的ファイル、RDB、BigData基盤を対応して、NoSQLやAPIの対応も開発を進んでいます。下記のグラフの中で青い部分が現在対応済みと黄色い部分が開発中/予定のデータソースになります。

2. Datasets

複数のデータソースから修正、加工や権限設定など単純でかつ重複な作業で無駄な負荷を避けるために、事前にデータセットを作成する必要があります。そして、データソース間の連携、データ項目のレベルなどの細かい設定もここで行なえます。

3. Workbooks&Dashboard

QuickBIではBI分析のために、Excel EditのようなWorkbooks機能とグラフ可視化のDashborad機能を提供しています。ユーザ側では、今までのどおりにExcel分析したり、Dashboardにグラフを作成して外部に共有することができます。もちろん公開する時には、ユーザ毎とか、データ項目毎まで細かい権限設定ができます。

4. Portals&Subscriptions

複数のBI画面を作成した場合にはPortals機能使い、一つのサイトにまとめて展開したり、Subscriptios機能を使いTokenとAccesskeyを自分のページに差し込んで、QuickBI画面と連携して表示することもできます。

他にも色々細かい機能がたくさんありますが、詳細は日本リリース後のドキュメントをご参照ください。

QuickBIのOLAPアーキテクチャ紹介

本記事では、QuickBIのアーキテクチャ実現原理の簡単な説明であり、ソフトウェアの複雑な情報は記載しておりません。

1. Data modeling

QuickBIではまずMetadataCrawterを使ってデータソースからメタデータを読み取ります。例えば、スキーマ、項目、キーなどの情報を元に、データソースを登録します。そしてCubeAutoBuilderモジュールを使って、複数のデータソースからデータセットを作成し、Quickからデータセットの内容を更に修正することができます。例えば、ディメンション、データレイヤ、メンバーの権限設定などの情報が含まれます。最後に、設定したCubeモデルはCubeXmlGeneratorを使ってXML形式に保存され、CubeXmlGeneratorでXMLからCubeに戻れます。この一連のモジュールを通じて、ユーザはデータソースを登録することで、QuickBIが認識できるデータ・セットまで変換できます。

2. Data query and routing

データセットに対して、クエリを送る場合は、ユーザのクエリとデータの権限設定(ユーザ権限とデータ権限)に対して、自動にDQX(Data Query Expression)とDAX(Data Authorization Expression)を一つのクエリモデルに最適化されます。そして、ユーザのクエリモデルはRouting機能によって、RunningPoolにストックされ、クエリ種類により、一般のSQL検索エンジン(Query engine)か、ビックデータエンジン(Acceleration engine)に送って、実行されます。検索結果はRawResult形式に保存され、最後にDashboardから認識できるようにパッケージングして、可視化されます。

3. Query engine&Acceleration engine

クエリモデルはQueryStatementモジュールに送って、検索先の種類に合わせたSQL文法に変換されます。生成されたSQLははCacheモジュールから判断して、もしCacheにデータある場合にCacheデータを返す、或はTaskModelに渡して、Excutorモジュールで検索を回します。データソースがMaxComputeやHadoopなどのビックデータ基盤になる場には、Acceleration engineから実行されます。検索結果は、インメモリ演算(Sort、TDD、Geo Mappingんど)をして、最後にRawResultを返します。

最後に

OLAPの説明は色々難しかったかと思いますが、実際にQuickBIを利用する側としては、割に簡単で、すぐ使いこなせるような感覚でした。BIユーザやOLAPに興味ある方に参考にできればと思って共有しました。

この記事をシェアする