BI(Business Intelligence:ビジネスインテリジェンス)という概念は、1989年に米国ガートナー社のハワードドレスナーにより提唱されました。その基本的な考え方をこれから説明します。
上図は基幹システムなどのデータソースからデータ分析をする過程を「データ統合」「モデリング」「データ活用」という3つのフェーズで説明した概念モデルです。
この概念で最も重要な要素はDWH(Data Warehouse:データウェアハウス)です。直訳すると「データの倉庫」。DWHにおいてはディメンションテーブル、ファクトテーブルといった一定の構造上のルールに基づき、データが整理されるようデータベースが設計されます。
DWHにデータソースからデータを格納するための処理をETL(Extract-Transform-Load)といい、DWHにデータを格納するために、様々なデータベースやデータファイルからデータを抽出し、必要な変更処理を施した上で、格納するためのツール(ETLツール)が提供されています。
DWHに格納されるデータは膨大なデータとなります。従って、通常のSQL言語によるデータアクセスはパフォーマンス上、好ましくありません。データが数百万件、数千万件というオーダーになってくると、場合によって結果が表示されるのには数十分の時間を要することもあります。そのためにモデリングという概念が必要となります。
モデリングでは、データ活用で必要となる分析の軸や項目に応じて、次のいずれかで整理します。
ここで留意しておきたいのは、データマートにせよ、OLAPキューブにせよ、データ分析に必要とされる分析の軸や項目が事前にあって初めて作成されるという点です。
想定されるデータ分析の目的に応じてデータマート・OLAPキューブを作成しておきますが、データを利用しながら見直し、さらに改善を加えていくのが、このモデリングです。
モデリングにおける見直しのポイントは主にデータの集計・分析におけるパフォーマンスと分析の視点の追加・変更が中心です。
BIにおけるエンドユーザインタフェイスは「データ活用」のフェーズです。データ活用にはダッシュボード、集計レポート、多次元分析、データマイニングなどが含まれます。
BIは、基幹システムには負荷をかけず、蓄積された大量のデータを分析に活かす上で、大変効率的な仕組みですが、昨今のビッグデータ活用シーンにおいては、さらに改善が加えられています。
上図にて示されるように、昨今のBI製品は次の4つのポイントで強化されています。
高性能なのに低価格なクラウド型DWH「Snowflake」とは
ここまでBIの基本的な概念と、BIの中心となっている技術的な側面にスポットを当てて説明してきました。皆さんはどうお感じになりましたか?
BIに積極的に取り組んでみようと闘志に燃えるエンジニアリング指向の方もいれば、ハードルが高すぎて半ば挫折しそうな方もいるでしょう。このようにBIはかなり奥深く、一朝一夕にスキルを身につけるのは難しい分野であることも事実です。
現に1990年代に脚光を浴びたBI(トラディショナルBI)は2000年代に入り、すっかり影を潜めてしまいました。それは主に以下のような理由からです。
ガートナー社のレポートで、最新のアナリティクス市場の概要を把握できます
このように問題山積みのBIの世界をブレークスルーする次の世代のBIツールが登場しました。インメモリ型であることを大きな特徴とする次の世代(第2世代)のBIツールです。以下に第2世代BI製品の代表となる製品の概要を紹介します。
「QlikView」は、データ分析プラットフォームです。ユーザが自由に分析でき、データの中から業務(Business)に必要な情報を、探索(Discovery)することのできるBIツールです。スウェーデンの大学研究所で生まれ、特許取得済みの連想技術を用いてインメモリによる高速処理を実現するユーザー主導型です。
「Qlik Sense」は、QlikTechが新しく開発した次世代のBIツールであり、セルフ・サービス型のデータビジュアライゼーション及びデータ探索製品です。
「Tableau」は、分析における専門的な知識を持たない人でも簡単に扱うことができるBI(Business Intelligence:ビジネスインテリジェンス)ツー ルです。従来のBIツールのように分析対象や分析の視点をあらかじめ決める必要はなく、ユーザが 必要な時に必要な分析をすることができます。
ここからは、第2世代のBIツールを代表して”QlikView”という製品についてより詳細に解説していきます。
第1世代(トラディショナルBI)から第2世代(インメモリBI)の切り替わりがほぼ10年ぐらい前にありました。
第2世代BIツールというのは、QlikViewやTableauといったインメモリ型のBIと言われる製品群ですが、第1世代のBIというのはデータをETLで統合してDWHに貯めてキューブやデータマート経由でユーザが見るというような体系でした。
私達も当時、第1世代BI(トラディショナルBI)を使って開発をしていましたが、しっかりとした要件定義が必須であり、大量データに弱く、結局データが多すぎるからキューブやデータマートのようなもので整理をしなければならず、かつ、 Excel 並みの操作性は困難、一番の問題は、構築時間が少なくとも1年はかかるということでした。
第2世代のBI(インメモリBI)は、もっとシンプルで、データを統合してDWHというよりは、アプリケーションのファイルにいったん落としてそれをメモリに展開して、そのメモリにユーザがアクセスをして使うというような形に変わっています。
この製品は、1993年、メモリやハードディスクが非常に高価な時代にスウェーデンの大学発ベンチャー企業が開発した製品で、限られたハードウェア資源を高い効率で活用できるAssociative Technology(連想技術)という独自のデータ圧縮技術とインメモリ処理技術をベースにしています。
ここ数年、メモリやCPUの低価格化が進み、コンピュータ当りの集積度は飛躍的に向上しています。高レベルのチューニングを行うより、メモリやCPUの集積度を上げるほうがはるかに投資効率が高い時代になり、”QlikView”は一気にBI界のスターダムに載るに至りました。QlikViewの開発元であるQlikTech社は現在、米国ペンシルバニア州に本社を置き、2010年7月にはNASDAQにも上場を果たしています。
上図はIDCとQlikTechが共同で調査したユーザ調査の結果です。いずれも驚異的な数字を示していますが、このようにユーザ満足度が高く、投資効率が高い上に、短期間で導入が可能なQlikは、現在BI製品の中で最も注目されている製品の一つです。
上図の数値はこれまでの第1世代BIツール(トラディショナルBI)では実現しえないものでした。それではQlikViewは従来のBIツールと何が異なるのでしょうか?
まず、データウェアハウスやキューブ、データマートがありません。
よく考えると、これらはデータ分析に必要な要件を充足させるために必要な構造体だったのです。では、その代わりに何があるかというと「QlikViewドキュメントファイル」です。
このドキュメントファイルの中に分析に必要なソースデータが格納されています。さらにデータを取り込む「ロードスクリプト」と「ユーザインターフェイス」も含まれています。イメージが湧きにくい人のために申し上げますと、「Excelファイルみたいなもの」とお考え下さい。
でも専用のデータベースがなくて、「大量データが扱えるの?」「処理速度は大丈夫?」という疑問が湧いてきます。ここがQlikViewの優れたところで、ロードスクリプトを介して取り込む際に「連想技術」という独自技術でデータを圧縮してしまうのです。
さらに、QlikViewアプリケーションがこのファイルを呼び出すと同時に、メモリ上(インメモリ)にファイルを載せ、処理しますので高速に処理できます。
ユーザインターフェイスは、Excelのようなシート形式でグラフやピボットテーブルを容易に作成できるようになっています。
このように高速大量処理ができ、自由度の高い分析ができるツールがQlikViewです。さらに第1世代BIと大きく異なるのは、構築のプロセスがシンプルであるということであり、従来のBIにおいて構築・再構築で必要とされてきたリソースを大幅に削減することができます。
では、QlikViewではどうでしょう。
先に述べましたように、QlikViewは連想技術によってデータ項目が連結されています。 上図の右のように、各項目は独立した点ですが、その組み合わせは自由であり、そもそもがQlikViewの中で全項目が「見えて」います。これらの項目を自由に組み合わせて、分析の軸やドリルダウンのための項目の上下関係を、分析アプリケーションを作成する時に定義することができます。つまり、事後定義型というわけです。
一度作成した分析アプリケーションにて、例えばシート上のグラフの項目を変えたり、分析しているうちにさらに項目を追加して掘り下げたいなどの場合、このQlikViewのインタラクティブ性が大いに役に立ちます。
そもそも私達がデータと向き合った時、提示された数字を見て原因がわからなければ、そこに新たに視点を追加して原因を追求しようとする習慣があります。
従来のBIではどんな視点で、どんな掘り下げ方ができるのかが直感的にわかりにくいものです。場合によってはIT部門の手を煩わせることになりますし、要求レベルがそれを超えてしまえば、外部の専門ベンダーに依頼しなければいけなくなります。
QlikViewではExcel等の表計算ソフトを操るのと同様、ノンプログラミングで高度な分析アプリケーションを作成できます。そのためにBIの特別な知識は必要ありません。逆にBIの知識がある方には、これはBIではなく全く違うジャンルのアプリケーションとして映るでしょう。
第1世代のBIツールと比較して、これだけ素晴らしい第2世代のBIツール(インメモリ型BI)ですが、私達はここ10年近く第2世代のBIツールの導入を行ってきて、色々な問題点に気付いてきました。
まずはデータ量の問題です。扱うデータ量が多くなった時に、いくらメモリやCPUを増やしても限界が来てしまうことがわかりました。
インメモリ型ならそのメモリを増やせば、増やした分だけ対応できるのでないかと想定していましたが、そう都合良くはいかず、ある一定のデータ量までくると頭打ちになることがわかりました。そのようなケースでは、アプリケーション側(特にデータモデル)の構築のスキルで対応できる部分もありますが、非常に高い技術力が要求されますし、やはり、そこにも限界があります。
また、もう1つのパターンとして、複雑なデータモデルに非常に弱く、そのために目的別にデータマートを作るという、第1世代で問題となっていた対応がここでも必要になってしまうケースがあります。
第一世代のBIツールは、データ構造からグラフの至るところまで、事前に細かく要件定義から設計、実装までを情報システム部門が構築して、やっとビジネスユーザが利用できる状況にあったため、ちょっとした分析シートをつくりたいだけでも、普通に数ヶ月の時間が必要でした。
そう言った状況を著しく解決に導いてくれたのが、第2世代BIツールのTableauを代表するようなセルフサービスBIツールでした。
しかし、またここで1つ問題が発生します。
ビジネスユーザみんなに、分析環境を与えたところ、結局使っているのは、ごくごく一部の人間。
その中でも、BIツールとして使う必要がある分析は、ほんのわずか。
また、ある企業では、各メンバーが好き勝手に分析アプリを作り放題になったために、
会社として管理ができなくなる野良アプリ問題へと繋がりました。
そこで、第2世代のBIツールが世の中にでて10年以上経った今、また新たな世代として、第3世代のBIツールが登場し始めています。
日本国内では、まだ多くの人には知られていない状況ではありますが、Looker(ルッカー)や、Sisnese(サイセンス)といった第3世代のBIツールが登場しており、Sisense(サイセンス)は、すでに全世界で2,000社以上に導入されています。
2019年時点で、ガートナー社によるBIベンダーの市場調査では、3年間で評価がリーダーに迫るところまで上昇し、このままの勢いで伸びれば、2020年以降にはリーダーに選定されることが予想されています。
ここからは、第3世代BIツールを代表してSisenseをご紹介します。
Sisenseの最大の特徴は、組み込み分析に特化した機能と高速な分析を可能にするインチップという技術です。後ほどご説明しますが、インチップとは、CPUのキャッシュを効果的に使う技術です。
データモデリングの面では複雑なデータモデルを組んでもかなりのパフォーマンスを出します。
シンプルなデータモデルとなっており、データを統合して elastic キューブというキューブの中にデータを格納しますが、これは第1世代BIのキューブとは違います。
どう違うかというと、第1世代のキューブは論理的なものでしたが、第3世代BIのキューブというのは物理的にファイルとして存在するものです。
データに対するコネクタも非常に多く存在していますし、
高速なライブ接続というのもcloud nativeな技術で実現しています。
ダッシュボードのデザインはほとんどがマウス操作で可能です。
自社Webサービスへの組み込みや、オリジナルのダッシュボードをカスタマイズしたければ、HTML、CSSあるいはJava script を使ってかなり凝った画面を作ることもできます。
インチップという聞き慣れない技術をご説明したいと思います。
インチップというテクノロジーは、
CPUに最も近いキャッシュを効率的かつ効果的に利用する技術です。
CPUのキャッシュのお話をしましたが当然CPUのキャッシュは1番高速です。
その次がRamメモリで、その次がディスクなんですが、
キャッシュでも L1、L2、L3というように分かれており、
その中でL1というのは最も高速です。
一番よく使われるデータはL1に配置します。
次の優先事が高いものをL2に配置します。
このように優先順位に応じてデータを配置するという技術になっています。
これは裏側で機械学習のように学習されて使えば使うほど賢くなる技術です。
CPUのキャッシュは元々小さすぎないかという話なんですが、
そのために何をやっているかというと一つのクエリを複数のサブクエリに分解して最も使われる頻度の高いクエリを機械学習で判定してそれを指標に置くというような技術になっています。
そうすることでクエリーのスピードを向上させるという技術です。
それを支えているのがカラムナーですが、
通常のインメモリーのBI製品はディスクから丸ごとメモリーに転換して使います。
Sisenseの場合はカラムナーです。
例えば顧客別の売上の集計を行う場合は関連するカラムだけしか持って来ません。
それを持ってきてメモリに展開、あるいはキャッシュに展開をして集計を行います。
使わないカラムはどこにあるのかといったら依然としてディスクにあります。
補足として、Sisenseのベンチマーク結果をご紹介させていただきます。
10億レコードのベンチマークをアマゾンAWSの32 CPUの244ギガのメモリで行った結果ですが、クエリーの応答時間が平均で0.1秒最大で3.1秒という結果になりました。
メモリは、実際ディスク上には500ギガのファイルになっているものがメモリー上では100ギガしか使われず、CPUの平均的な使用率は10%から20%ぐらいということで、かなりBI製品の中では高速な製品であるということが実証されています。
詳細は、以下資料でまとめておりますので、ご参照下さい。
①で紹介したインチップ技術は、それはそれで素晴らしい技術で、大いに価値はありますが、
ざっくり言ってしまえば、インメモリ技術の延長線でしかありません。
第3世代のBIツールの真骨頂は、なんと言っても埋め込み技術です。
今までも、組み込み分析や、エンベデッドアナリティクスと言った言葉で、存在はしていた機能や概念ですが、第3世代のBIツールは、埋め込み分析に最適化されたBIツールといっても過言ではありません。
埋め込み作業のイメージ👇
どうでしょう?
第二世代のBIツールで、こんな感じの埋め込み作業がイメージできますか?
Sisenseの埋め込み機能の特徴は、以下の3つ
詳しくは、以下の記事で解説しています。
👉Sisenseの埋め込み分析機能【SaasにBIをEmbedded】
\ ⾃社プロダクトにOEMでBI実装を成功させる7つのステップ /
第1世代BIツールは、ディスク自体がボトルネックになっていました。
第2世代BIツールは、第1世代BIツールが抱えていた問題点を解決し、とても扱い易いもので、現在、とても多くのユーザに利用されています。
第2世代BIツールが登場して10年以上経ち、デジタル化がさらに進む時代の中で、2つの大きな問題にぶつかりました。1つは、データ量も複雑性も増したビッグデータへの対応。2つ目は、BIツールそのものが活用されない現実と、セルフサービスBIの自由さがゆえのガバナンスの問題。
そのような難しい時代に登場した第3世代BIツールは、組み込み技術で業務の中に分析を同化させることで、BIツールを使うということを意識させずにビジネスユーザーに利用を促し、日々量も複雑さも増し続けるビッグデータは、インチップ技術によってCPUのキャッシュを有効活用するだけではなく、メモリとディスクも含めた全体のリソース管理を最適化することでそれらの課題を解決しようとしています。
今回はBIツールの概要を歴史を辿りながらまとめさせて頂きました。
INSIGHT LABでは、BIの選定から導入、運用までまるっとご支援しています。