詳細な説明:
上記のように、組織内で、データアナリティクスは、データから結論または他の情報を導き出すために大量のデータのコンピュータベースの調査または分析を可能にする一方、ビジネスインテリジェンスツールは、組織のビジネスユーザが戦略的なビジネス決定を行うことを可能にするフォーマットで企業データを記載している情報をそれらのビジネスユーザに提供する。
組織の企業ソフトウェアアプリケーションもしくはデータ環境(たとえば、オラクルフュージョンアプリケーション環境もしくは他のタイプの企業ソフトウェアアプリケーションもしくはデータ環境など)の文脈において、またはソフトウェア・アズ・ア・サービス(SaaS)もしくはクラウド環境(たとえば、オラクルアナリティクスクラウドもしくはオラクルクラウドインフラストラクチャ環境もしくは他のタイプのクラウド環境など)の文脈においてデータアナリティクスの使用を活用するソフトウェアアプリケーションを開発することへの関心が高まっている。
一実施形態に従って、分析アプリケーション環境は、組織の企業ソフトウェアアプリケーションもしくはデータ環境の文脈において、またはソフトウェア・アズ・ア・サービスもしくは他のタイプのクラウド環境の文脈においてデータアナリティクスを可能にし、コンピュータによって実行可能なソフトウェア分析アプリケーションの開発をサポートする。
一実施形態に従って、たとえば抽出・変換・ロードプロセスなどのデータパイプラインまたはプロセスは、特定のアナリティクスユースケースまたはベストプラクティスに対処するように適合された分析アプリケーションスキーマに従って動作して、データウェアハウスインスタンスにロードするためにデータを顧客の(テナントの)企業ソフトウェアアプリケーションまたはデータ環境から受信することができる。
一実施形態に従って、各顧客(テナント)は、さらに、顧客テナンシおよび顧客スキーマに関連付けられることができる。データパイプラインまたはプロセスは、それらのデータウェアハウスインスタンスおよびデータベーステーブルに、分析アプリケーションスキーマと顧客スキーマとの組み合わせによって定義された企業ソフトウェアアプリケーションまたはデータ環境から受信されたデータを投入する。
一実施形態に従って、記載されているシステムおよび方法の技術的利点は、分析アプリケーション環境(クラウド)テナンシ内に維持されるシステム全体のまたは共有の分析アプリケーションスキーマまたはデータモデルを、顧客テナンシ内に維持されるテナントに特有の顧客スキーマとともに使用することにより、各顧客の(テナントの)データウェアハウスインスタンスまたはデータベーステーブルに、企業ソフトウェアアプリケーションまたはデータ環境から受信したライブデータ(ライブテーブル)を、自動的にまたは定期的に(たとえば、1時間ごと/1日ごと/1週間ごとなどに)、特定のアナリティクスユースケースのためのベストプラクティスを反映して、投入することができ、または各顧客の(テナントの)データウェアハウスインスタンスまたはデータベーステーブルをそのようなライブデータ(ライブテーブル)にそのように関連付けることができる、というものである。このようなアナリティクスユースケースの例としては、企業資源計画(ERP)、人的資本管理(HCM)、カスタマーエクスペリエンス(CX)、サプライチェーン管理(SCM)、企業業績管理(EPM)または他のタイプのアナリティクスユースケースを挙げることができる。次いで、投入されたデータウェアハウスインスタンスまたはデータベーステーブルを使用して、コンピュータによって実行可能なソフトウェア分析アプリケーションを作成する、またはデータアナリティクスもしくはデータに関連付けられた他の情報を確定することができる。
一実施形態に従って、コンピュータによって実行可能なソフトウェア分析アプリケーションは、たとえばオラクルデータインテグレータ(ODI)環境などのデータ統合コンポーネントまたは他のタイプのデータ統合コンポーネントによって維持される、たとえば抽出・変換・ロード(ETL)プロセスまたは抽出・ロード・変換(ELT)プロセスなどのデータパイプラインまたはプロセスに関連付けられることができる。
一実施形態に従って、分析アプリケーション環境は、たとえばオラクル自律型データウェアハウス(ADW)、オラクル自律型データウェアハウスクラウド(ADWC)などのデータウェアハウス環境もしくはコンポーネント、または、大量のデータを格納するように適合された他のタイプのデータウェアハウス環境もしくはコンポーネントとともに動作することができ、それらの大量のデータは、たとえばオラクルフュージョンアプリケーションなどの企業ソフトウェアアプリケーションもしくはデータ環境、または他のタイプの企業ソフトウェアアプリケーションもしくはデータ環境から供給されるスタースキーマを介して投入され得る。分析アプリケーション環境の各顧客(テナント)が利用できるデータは、共有のインフラストラクチャの他の特徴へのアクセスを提供しながら、当該顧客(テナント)に関連付けられた、当該顧客(テナント)のみがアクセス可能なたとえばADWCテナンシにおいてプロビジョニングされることができる。
たとえば、一実施形態に従って、分析アプリケーション環境は、顧客(テナント)がオラクルフュージョンアプリケーション環境から抽出されたデータを取り込んでADWCテナンシ内のデータウェアハウスインスタンスにロードすることを可能にするデータパイプラインまたはプロセス層を含み得て、これは、共通の変換マップまたはリポジトリを提供する共有のデータパイプラインまたはプロセスインフラストラクチャに結合された、複数のデータウェアハウススキーマ、データ抽出およびターゲットスキーマ、ならびにデータパイプラインまたはプロセスステージのモニタリングなどの特徴に対するサポートを含む。
序文
一実施形態に従って、たとえばオラクル自律型データウェアハウス(ADW)、オラクル自律型データウェアハウスクラウド(ADWC)などのデータウェアハウス環境もしくはコンポーネント、または、大量のデータを格納するように適合された他のタイプのデータウェアハウス環境もしくはコンポーネントは、1つまたは複数のビジネスアプリケーションによって収集されたデータの格納のために中央リポジトリを提供することができる。
たとえば、一実施形態に従って、データウェアハウス環境またはコンポーネントは、オンライン分析処理(OLAP)または他の技術を利用して複数の異なるデータソースからビジネス関連データを生成する多次元データベースとして提供され得る。組織は、このようなビジネス関連データを1つまたは複数の垂直および/または水平ビジネスアプリケーションから抽出して、抽出されたデータを、当該組織に関連付けられたデータウェアハウスインスタンスに取り込むことができる。
水平ビジネスアプリケーションの例としては、上記のERP、HCM、CX、SCMおよびEPMを挙げることができ、さまざまな企業組織にわたる広範囲の機能を提供することができる。
垂直ビジネスアプリケーションは、一般に、水平ビジネスアプリケーションよりも範囲が狭いが、規定の範囲または業界内のデータのチェーンのさらに上または下のデータへのアクセスを提供する。垂直ビジネスアプリケーションの例としては、特定の組織内で使用するための医療用ソフトウェアまたは銀行ソフトウェアを挙げることができる。
ソフトウェアベンダは、ますます、企業ソフトウェア製品またはコンポーネントをたとえばオラクルフュージョンアプリケーションなどのSaaSまたはクラウド指向商品として提供するようになっているが、たとえばオラクルADWCなどの他の企業ソフトウェア製品またはコンポーネントは、SaaS、プラットフォーム・アズ・ア・サービス(PaaS)またはハイブリッドサブスクリプションのうちの1つまたは複数として提供され得るため、従来のビジネスインテリジェンス(BI)アプリケーションおよびプロセスの企業ユーザは、総じて、水平および垂直ビジネスアプリケーションからデータを抽出して、抽出されたデータをデータウェアハウスに導入するというタスク、すなわち時間も資源も消費するであろうプロセスに直面することになる。
一実施形態に従って、分析アプリケーション環境は、顧客(テナント)が、たとえばオラクルビジネスインテリジェンスアプリケーション(OBIA)環境などのBIコンポーネント、または、顧客(テナント)自体によってもしくは複数の第三者エンティティから供給される大量のデータを調べるように適合された他のタイプのBIコンポーネントとともに使用するための、コンピュータによって実行可能なソフトウェア分析アプリケーションを開発することを可能にする。
たとえば、一実施形態に従って、分析アプリケーション環境は、データウェアハウスコンポーネントを含むSaaSビジネス生産性ソフトウェア製品スイートとともに使用されると、当該スイートのビジネス生産性ソフトウェアアプリケーションからのデータをデータウェアハウスコンポーネントに投入するのに使用することができる。予め規定されたデータ統合フローは、ビジネス生産性ソフトウェアアプリケーションとデータウェアハウスとの間のデータのETL処理を自動化することができ、この処理は、それらのサービスのユーザによって従来の方法でまたは手動で行われていたかもしれない。
別の例として、一実施形態に従って、分析アプリケーション環境は、SaaS製品スイートのさまざまなビジネス生産性ソフトウェアアプリケーションにわたって供給される統合されたデータを格納するためのデータベーススキーマで予め構成され得る。このような予め構成されたデータベーススキーマを使用して、ユーザが提供されたデータウェアハウスを手動で設計、調整およびモデル化するプロセスをしないで済ますことを可能にしながら、SaaS製品スイートにおいて提供される生産性ソフトウェアアプリケーションおよび対応するトランザクションデータベースにわたって均一性を提供することができる。
別の例として、一実施形態に従って、分析アプリケーション環境は、予め規定されたダッシュボード、重要業績指標(KPI)または他のタイプのレポートを含むように、たとえばさまざまなビジネス生産性ソフトウェアアプリケーションの文脈においてビジネス関連データオブジェクトを記載している関連するメタデータをデータウェアハウスインスタンスのレポートインターフェイスに予め投入するのに使用することができる。
分析アプリケーション環境
図1は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムを示す図である。
図1に示されるように、一実施形態に従って、分析アプリケーション環境100は、コンピュータシステムによって提供されることができ、またはコンピュータシステムで動作することができ、このコンピュータシステムは、コンピュータハードウェア(たとえば、プロセッサ、メモリ)101を有し、コントロールプレーン102およびデータプレーン104として動作する1つまたは複数のソフトウェアコンポーネントを含み、データウェアハウスまたはデータウェアハウスインスタンス160へのアクセスを提供する。
一実施形態に従って、図1に示され、さまざまな他の実施形態に関して本明細書にさらに記載されるコンポーネントおよびプロセスは、コンピュータシステムまたは他のタイプの処理デバイスによって実行可能なソフトウェアまたはプログラムコードとして提供されることができる。
たとえば、一実施形態に従って、本明細書に記載されているコンポーネントおよびプロセスは、クラウドコンピューティングシステムまたは他の好適にプログラムされたコンピュータシステムによって提供されることができる。
一実施形態に従って、コントロールプレーンは、たとえばオラクルアナリティクスクラウドもしくはオラクルクラウドインフラストラクチャ環境などのSaaSもしくはクラウド環境、または他のタイプのクラウド環境の文脈において提供されるクラウドまたは他のソフトウェア製品に対する制御を提供するように動作する。
たとえば、一実施形態に従って、コントロールプレーンは、コンソールインターフェイス110、および/または、プロビジョニングコンポーネント111を有するクラウド環境を含み得て、コンソールインターフェイス110は、顧客(テナント)20の制御下のデバイスハードウェア12、管理アプリケーション14およびユーザインターフェイス16を有するクライアントコンピュータデバイス10によるアクセスを可能にする。
一実施形態に従って、コンソールインターフェイスは、グラフィカルユーザインターフェイス(GUI)および/またはコマンドラインインターフェイス(CLI)または他のインターフェイスを操作する顧客(テナント)によるアクセスを可能にすることができ、および/または、SaaSまたはクラウド環境のプロバイダおよびその顧客(テナント)によって使用するためのインターフェイスを含み得る。
たとえば、一実施形態に従って、コンソールインターフェイスは、顧客がSaaS環境内で使用するためのサービスをプロビジョニングして、プロビジョニングされたそれらのサービスを構成することを可能にするインターフェイスを提供することができる。
一実施形態に従って、プロビジョニングコンポーネントは、プロビジョニングコマンドによって指定されるサービスをプロビジョニングするためのさまざまな機能を含み得る。
たとえば、一実施形態に従って、プロビジョニングコンポーネントは、ビジネス生産性ソフトウェアアプリケーションのスイートのうちの1つまたは複数を、それらのソフトウェアアプリケーションで使用するためのデータウェアハウスインスタンスとともに購入するために、コンソールインターフェイスを介して顧客(テナント)によってアクセスされて利用されることができる。
一実施形態に従って、顧客(テナント)は、データウェアハウス内の顧客スキーマ164のプロビジョニングを要求することができる。また、顧客は、必須の属性(たとえば、ログイン認証情報)および任意の属性(たとえば、サイズまたは速度)を含む、データウェアハウスインスタンスに関連付けられたいくつかの属性をコンソールインターフェイスを介して供給することもできる。次いで、プロビジョニングコンポーネントは、データウェアハウスの顧客スキーマを含む要求されたデータウェアハウスインスタンスをプロビジョニングして、顧客によって供給された適切な情報をデータウェアハウスインスタンスに投入することができる。
一実施形態に従って、プロビジョニングコンポーネントは、たとえば特定の顧客(テナント)について要求されたETLプロセス実行頻度を変更または更新することによってデータウェアハウスインスタンスおよび/またはデータプレーンで動作するETLプロセスを更新または編集するのにも使用することができる。
一実施形態に従って、プロビジョニングコンポーネントは、プロビジョニングアプリケーションプログラミングインターフェイス(API)112、いくつかのワーカ115、計測マネージャ116およびデータプレーンAPI118も備え得て、これらについては以下でさらに説明する。コンソールインターフェイスは、たとえばコンソールインターフェイスにおいてコマンド、命令または他の入力が受信されるとAPI呼び出しを行うことによってプロビジョニングAPIと通信して、SaaS環境内のサービスをプロビジョニングする、またはプロビジョニングされたサービスに対して構成変更を行うことができる。
一実施形態に従って、データプレーンAPIは、データプレーンと通信することができる。
たとえば、一実施形態に従って、データプレーンによって提供されたサービスに向けられるプロビジョニングおよび構成変更は、データプレーンAPIを介してデータプレーンに伝達されることができる。
一実施形態に従って、計測マネージャは、コントロールプレーンを介してプロビジョニングされたサービスおよびサービスの使用を計測するさまざまな機能を含み得る。
たとえば、一実施形態に従って、計測マネージャは、課金の目的で、特定の顧客(テナント)について、コントロールプレーンを介してプロビジョニングされたプロセッサの経時的な使用を記録することができる。同様に、計測マネージャは、課金の目的で、SaaS環境の顧客によって使用するための区分されたデータウェアハウスの記憶スペースの量を記録することができる。
一実施形態に従って、データプレーンは、データパイプラインまたはプロセス層120と、データ変換層134とを含み得て、これらの層はともに、顧客の(テナントの)SaaS環境においてプロビジョニングされた、たとえばビジネス生産性ソフトウェアアプリケーションなどの組織の企業ソフトウェアアプリケーションまたはデータ環境からのオペレーションデータまたはトランザクションデータを処理する。データパイプラインまたはプロセスは、SaaS環境においてプロビジョニングされたトランザクションデータをビジネスアプリケーションおよびデータベースから抽出し、次いで、変換されたデータをデータウェアハウスにロードするさまざまな機能を含み得る。
一実施形態に従って、データ変換層は、SaaS環境においてプロビジョニングされたビジネスアプリケーションおよび対応するトランザクションデータベースから受信されたトランザクションデータを、分析アプリケーション環境によって理解されるモデルフォーマットに変換するのにシステムが使用する、たとえば知識モデル(KM)などのデータモデル、または他のタイプのデータモデルを含み得る。このモデルフォーマットは、データウェアハウスへの格納に適したいずれかのデータフォーマットで提供されることができる。
一実施形態に従って、データプレーンによって提供されるデータパイプラインまたはプロセスは、モニタリングコンポーネント122と、データステージングコンポーネント124と、データ品質コンポーネント126と、データ投影コンポーネント128とを含み得て、これらについては以下でさらに説明する。
一実施形態に従って、データ変換層は、次元生成コンポーネント136と、事実生成コンポーネント138と、集合体生成コンポーネント140とを含み得て、これらについては以下でさらに説明する。また、データプレーンは、データおよび構成ユーザインターフェイス130と、マッピングおよび構成データベース132とを含み得る。
一実施形態に従って、データウェアハウスは、デフォルト分析アプリケーションスキーマ(本明細書では、いくつかの実施形態に従って、分析ウェアハウススキーマと称される)162を含み、システムの各顧客(テナント)について上記の顧客スキーマを含み得る。
一実施形態に従って、データプレーンは、抽出・変換およびロード(ETL)動作を実行することを担当し、この抽出・変換およびロード(ETL)動作は、たとえばSaaS環境において提供されるビジネス生産性ソフトウェアアプリケーションおよび対応するトランザクションデータベースなどの組織の企業ソフトウェアアプリケーションまたはデータ環境からトランザクションデータを抽出し、抽出されたデータをモデルフォーマットに変換し、変換されたデータをデータウェアハウスの顧客スキーマにロードすることを含む。
たとえば、一実施形態に従って、環境の各顧客(テナント)は、自身の顧客スキーマに関連付けられたデータウェアハウス内の自身の顧客テナンシに関連付けられることができ、さらに、データパイプラインまたはプロセス、たとえばETLプロセスによって定期的にまたは他のペースで更新され得る分析アプリケーションスキーマへの読取専用アクセスを備えることができる。
一実施形態に従って、複数のテナントをサポートするために、システムは、複数のデータウェアハウスまたはデータウェアハウスインスタンスの使用を可能にすることができる。
たとえば、一実施形態に従って、第1のテナントのための第1のウェアハウス顧客テナンシは、第1のデータベースインスタンスと、第1のステージング領域と、複数のデータウェアハウスまたはデータウェアハウスインスタンスの第1のデータウェアハウスインスタンスとを備え得る一方、第2のテナントのための第2の顧客テナンシは、第2のデータベースインスタンスと、第2のステージング領域と、複数のデータウェアハウスまたはデータウェアハウスインスタンスの第2のデータウェアハウスインスタンスとを備え得る。
一実施形態に従って、データパイプラインまたはプロセスは、間隔をあけて(たとえば、1時間ごとに/1日ごとに/1週間ごとに)実行されて、たとえばSaaS環境においてプロビジョニングされたビジネス生産性ソフトウェアアプリケーションおよび対応するトランザクションデータベース106などの企業ソフトウェアアプリケーションまたはデータ環境からトランザクションデータを抽出するようにスケジューリングされることができる。
一実施形態に従って、抽出プロセス108は、トランザクションデータを抽出することができ、抽出が行われると、データパイプラインまたはプロセスは、抽出されたデータを、抽出されたデータのための一時的なステージング領域として機能し得るデータステージング領域に挿入することができる。データ品質コンポーネントおよびデータ保護コンポーネントは、抽出されたデータの完全性を保証するのに使用することができる。
たとえば、一実施形態に従って、データ品質コンポーネントは、データがデータステージング領域に一時的に保持されている間に、抽出されたデータに対して検証を行うことができる。
一実施形態に従って、抽出プロセスがその抽出を完了すると、データ変換層を使用して変換プロセスを開始して、抽出されたデータをモデルフォーマットに変換して、データウェアハウスの顧客スキーマにロードすることができる。
上記のように、一実施形態に従って、データパイプラインまたはプロセスは、データをモデルフォーマットに変換するためのデータ変換層と組み合わせて動作することができる。マッピングおよび構成データベースは、データ変換によって使用されるデータモデルを定義するメタデータおよびデータマッピングを格納することができる。データおよび構成ユーザインターフェイス(UI)は、マッピングおよび構成データベースへのアクセスおよび変更を容易にすることができる。
一実施形態に従って、マッピングおよび構成データベースに定義されたデータモデルに基づいて、モニタリングコンポーネントは、変換対象のいくつかの異なるデータセットの従属性を判断することができる。判断された従属性に基づいて、モニタリングコンポーネントは、いくつかの異なるデータセットのうちのどれが最初にモデルフォーマットに変換されるべきであるかを判断することができる。
たとえば、一実施形態に従って、第1のモデルデータセットがその他のモデルデータセットへの従属性を含まず、第2のモデルデータセットが第1のモデルデータセットへの従属性を含む場合、モニタリングコンポーネントは、第1のデータセットへの第2のデータセットの従属性を吸収するように第2のデータセットの前に第1のデータセットを変換すると判断することができる。
一実施形態に従って、データ変換層は、たとえば上記のデータモデルに従って、抽出されたデータを、データウェアハウスの顧客スキーマへのロードに適したフォーマットに変換することができる。変換中、データ変換は、次元生成、事実生成および集合体生成を適宜実行することができる。次元生成は、データウェアハウスインスタンスにロードするための次元またはフィールドを生成することを含み得る。
たとえば、一実施形態に従って、次元は、たとえば「名前」、「住所」または「年齢」などのデータのカテゴリを含み得る。事実生成は、データがとることができる値または「尺度」の生成を含む。事実は、データウェアハウスインスタンスにおける適切な次元に関連付けられる。集合体生成は、データウェアハウスインスタンスの顧客スキーマ164における既存のデータに対する変換されたデータの集合体を計算するデータマッピングの作成を含む。
一実施形態に従って、いかなる変換も(データモデルによって定義されるように)実施されると、データパイプラインまたはプロセスは、ソースデータを読み取って、変換を適用して、次いでデータをデータウェアハウスインスタンスにプッシュすることができる。
一実施形態に従って、データ変換は、規則で表すことができ、変換が行われると、値はステージング領域に中間保持されることができ、このステージング領域では、データがデータウェアハウスインスタンスにおける顧客スキーマにアップロードされる前に、データ品質コンポーネントおよびデータ投影コンポーネントが変換されたデータの完全性を検査して確認することができる。モニタリングは、たとえばいくつかのコンピュートインスタンスまたは仮想マシンにおける抽出・変換・ロードプロセス実行として提供され得る。抽出・変換・ロードプロセス中も従属性を維持することができ、データパイプラインまたはプロセスは、このような発注決定に対処することができる。
一実施形態に従って、抽出されたデータの変換後、データパイプラインまたはプロセスは、ウェアハウスロード手順150を実行して、変換されたデータをデータウェアハウスインスタンスの顧客スキーマにロードすることができる。変換されたデータを顧客スキーマにロードした後、変換されたデータは、分析されてさまざまなさらなるビジネスインテリジェンスプロセスで使用することができる。
水平および垂直に統合されたビジネスソフトウェアアプリケーションは、一般に、リアルタイムでのデータの取り込みに向けられる。これは、水平および垂直に統合されたビジネスソフトウェアアプリケーションが通常は日々のワークフローに使用されてデータをトランザクションデータベースに格納することによるものであり、通常は最新データのみがこのようなデータベースに格納されることを意味する。
たとえば、従業員がオフィスを移る場合、当該従業員に関連付けられた記録をHCMアプリケーションが更新し得るが、このようなHCMアプリケーションは、一般に、従業員が会社での在職期間中に働いていた各オフィスの記録を維持しないであろう。したがって、会社内での従業員のモビリティを判断しようとするBI関連のクエリは、このようなクエリを完了するための十分な記録をトランザクションデータベース内に持たないであろう。
一実施形態に従って、現在のデータに加えて、水平および垂直に統合されたビジネスソフトウェアアプリケーションによって生成された履歴データを、BIアプリケーションによって容易に理解可能な文脈において格納することによって、上記の技術を使用して投入されたデータウェアハウスインスタンスは、たとえばビジネス生産性およびアナリティクス製品スイートまたは顧客の選択したSQLツールによって提供されるインターフェイスを使用してBIアプリケーションがこのようなクエリを処理するためのリソースを提供する。
データパイプラインプロセス
図2は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
図2に示されるように、一実施形態に従って、データは、上記のデータパイプラインプロセスを使用して、たとえば顧客の(テナントの)企業ソフトウェアアプリケーションもしくはデータ環境(106)から、または1つもしくは複数の顧客に特有のアプリケーション107から供給されるカスタムデータ109として、供給され、データウェアハウスインスタンスにロードされることができ、データウェアハウスインスタンスは、いくつかの例では、データの格納のためのオブジェクトストレージ105の使用を含む。
一実施形態に従って、データパイプラインまたはプロセスは、各顧客(テナント)について、分析アプリケーションスキーマをたとえばスタースキーマとして維持し、この分析アプリケーションスキーマは、特定のアナリティクスユースケース、たとえば人的資本管理(HCM)アナリティクスまたは企業資源計画(ERP)アナリティクスのためのベストプラクティスに従ってシステムによって定期的にまたは他のペースで更新される。
一実施形態に従って、各顧客(テナント)について、システムは、システムによって維持されて更新される分析アプリケーションスキーマを分析アプリケーション環境(クラウド)テナンシ114内で使用して、当該顧客の企業アプリケーション環境内および顧客テナンシ117内でのデータの分析に基づいて、当該顧客についてデータウェアハウスインスタンスに予め投入する。したがって、システムによって維持される分析アプリケーションスキーマは、データがデータパイプラインまたはプロセスによって顧客の環境から検索されて、「ライブ」の態様で顧客のデータウェアハウスインスタンスにロードすることを可能にする。
一実施形態に従って、分析アプリケーション環境は、環境の各顧客について、顧客スキーマも提供し、この顧客スキーマは、顧客によって容易に修正可能であり、顧客が自身のデータウェアハウスインスタンス内のデータを補足して利用することを可能にする。分析アプリケーション環境の各顧客について、結果として得られるデータウェアハウスインスタンスは、データベースとして動作し、このデータベースの内容は、顧客によって部分的に制御され、分析アプリケーション環境(システム)によって部分的に制御され、これは、データベースが、さまざまなアナリティクスユースケース、たとえばHCMアナリティクスまたはERPアナリティクスに対処するために、企業アプリケーション環境から検索された適切なデータを予め投入されているように見えることを含む。
たとえば、一実施形態に従って、データウェアハウス(たとえば、オラクル自律型データウェアハウス(ADWC))は、分析アプリケーションスキーマを含み、各顧客/テナントについて、企業ソフトウェアアプリケーションまたはデータ環境から供給される顧客スキーマを含み得る。データウェアハウステナンシ(たとえば、ADWCテナンシ)においてプロビジョニングされたデータは、当該テナントのみがアクセス可能であるが、同時に、共有の分析アプリケーション環境のさまざまな、たとえばETL関連のまたは他の特徴へのアクセスを可能にする。
一実施形態に従って、複数の顧客/テナントをサポートするために、システムは、複数のデータウェアハウスインスタンスの使用を可能にし、たとえば、第1の顧客テナンシは、第1のデータベースインスタンスと、第1のステージング領域と、第1のデータウェアハウスインスタンスとを備え得て、第2の顧客テナンシは、第2のデータベースインスタンスと、第2のステージング領域と、第2のデータウェアハウスインスタンスとを備え得る。
一実施形態に従って、特定の顧客/テナントについて、データの抽出時に、データパイプラインまたはプロセスは、抽出されたデータを、抽出されたデータのための一時的なステージング領域として機能し得る当該テナントのためのデータステージング領域に挿入することができる。データ品質コンポーネントおよびデータ保護コンポーネントは、たとえばデータがデータステージング領域に一時的に保持されている間に、抽出されたデータに対して検証を実行することによって、抽出されたデータの完全性を保証するのに使用することができる。抽出プロセスがその抽出を完了すると、データ変換層を使用して変換プロセスを開始して、抽出されたデータをモデルフォーマットに変換して、データウェアハウスの顧客スキーマにロードすることができる。
抽出・変換・ロード/パブリッシュ
図3は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
図3に示されるように、一実施形態に従って、上記のデータパイプラインプロセスを使用して、たとえば顧客の(テナントの)企業ソフトウェアアプリケーションもしくはデータ環境から、または1つもしくは複数の顧客に特有のアプリケーションから供給されるカスタムデータとして、データを抽出し、当該データをデータウェアハウスインスタンスにロードする、または当該データをデータウェアハウスにおいてリフレッシュするプロセスは、一般に、3つの大まかな段階を含み、これらの段階は、1つまたは複数のコンピュートインスタンス170によって実行される1つまたは複数の抽出サービス163、変換サービス165およびロード/パブリッシュサービス167を含むETPサービス160またはプロセスによって実行される。
抽出:一実施形態に従って、抽出のためのビューオブジェクトのリストは、たとえばReST呼び出しによってオラクルBIクラウドコネクタ(BICC)コンポーネントに提出されることができる。抽出されたファイルは、データの格納のために、たとえばオラクルストレージサービス(OSS)コンポーネントなどのオブジェクトストレージコンポーネントにアップロードされることができる。
変換:一実施形態に従って、変換プロセスは、オブジェクトストレージコンポーネント(たとえば、OSS)からデータファイルを取得して、それらをターゲットデータウェアハウス、たとえばADWCデータベースにロードしている間にビジネスロジックを適用し、このターゲットデータウェアハウスは、データパイプラインまたはプロセスの内部にあって、顧客(テナント)には公表されない。
ロード/パブリッシュ:一実施形態に従って、ロード/パブリッシュサービスまたはプロセスは、たとえばADWCデータベースまたはウェアハウスからデータを取得して、それを、顧客(テナント)がアクセス可能なデータウェアハウスインスタンスにパブリッシュする。
複数の顧客(テナント)
図4は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
一実施形態に係る複数のテナント(顧客)を有するシステムの動作を示す図4に示されるように、データは、上記のデータパイプラインプロセスを使用して、たとえば複数の顧客の(テナントの)企業ソフトウェアアプリケーションまたはデータ環境の各々から供給され、データウェアハウスインスタンスにロードされることができる。
一実施形態に従って、データパイプラインまたはプロセスは、複数の顧客(テナント)の各々、たとえば顧客A180、顧客B182について、特定のアナリティクスユースケースのためのベストプラクティスに従ってシステムによって定期的にまたは他のペースで更新される分析アプリケーションスキーマを維持する。
一実施形態に従って、複数の顧客(たとえば、顧客A,B)の各々について、システムは、システムによって維持および更新される分析アプリケーションスキーマ162A,162Bを使用して、当該顧客の企業アプリケーション環境106A,106B内および各顧客のテナンシ(たとえば、顧客Aテナンシ181,顧客Bテナンシ183)内でのデータの分析に基づいて、顧客のためのデータウェアハウスインスタンスに予め投入することにより、データパイプラインまたはプロセスによって顧客の環境からデータが検索されて、顧客のデータウェアハウスインスタンス160A,160Bにロードされる。
一実施形態に従って、分析アプリケーション環境は、当該環境の複数の顧客の各々について、顧客スキーマ(たとえば、顧客Aスキーマ164A,顧客Bスキーマ164B)も提供し、この顧客スキーマは、顧客によって容易に修正可能であり、顧客が自身のデータウェアハウスインスタンス内のデータを補足して利用することを可能にする。
上記のように、一実施形態に従って、分析アプリケーション環境の複数の顧客の各々について、結果として得られるデータウェアハウスインスタンスは、データベースとして動作し、このデータベースの内容は、顧客によって部分的に制御され、分析アプリケーション環境(システム)によって部分的に制御され、これは、データベースが、さまざまなアナリティクスユースケースに対処するために、企業アプリケーション環境から検索された適切なデータを予め投入されているように見えることを含む。特定の顧客についての抽出プロセス108A,108Bがその抽出を完了すると、データ変換層を使用して変換プロセスを開始して、抽出されたデータをモデルフォーマットに変換して、データウェアハウスの顧客スキーマにロードすることができる。
起動計画
図5は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
一実施形態に従って、起動計画186は、顧客の(テナントの)特定のニーズに対処するために特定の機能領域について当該顧客のデータパイプラインまたはプロセスサービスの動作を制御するのに使用することができる。
たとえば、一実施形態に従って、起動計画は、特定の順序で、特定の時刻に、特定の時間窓以内に実行されるいくつかの抽出・変換およびロード(パブリッシュ)サービスまたはステップを定義することができる。
一実施形態に従って、各顧客は、自身の起動計画に関連付けられることができる。たとえば、第1の顧客Aについての起動計画は、当該顧客の企業ソフトウェアアプリケーション環境(たとえば、フュージョンアプリケーション環境)から検索されるテーブルを確定する、またはサービスおよびそれらのプロセスがどのように順番に実行されるかを確定することができ、第2の顧客Bについての起動計画は、同様に、当該顧客の企業ソフトウェアアプリケーション環境から検索されるテーブルを確定する、またはサービスおよびそれらのプロセスがどのように順番に実行されるかを確定することができる。
一実施形態に従って、起動計画は、マッピングおよび構成データベースに格納されることができ、データおよび構成UIを介して顧客によってカスタマイズ可能である。各顧客は、いくつかの起動計画を有し得る。起動計画に従ってさまざまな顧客についてETLプロセスを実行するコンピュートインスタンス/サービス(仮想マシン)は、起動計画の使用のための特定のサービスに専念し、次いで他のサービスおよび起動計画による使用のためにリリースされることができる。
一実施形態に従って、ある期間にわたって記録された履歴業績データの確定に基づいて、システムは、複数のテナントについてのVMおよびサービスレベル合意(SLA)の利用に対処するために、たとえば特定のテナントに関連付けられた1つまたは複数の機能領域について、またはそれらのテナントに関連付けられた一連の起動計画にわたって、起動計画の実行を最適化することができる。このような履歴データは、ロード量およびロード時間の統計を含み得る。
たとえば、一実施形態に従って、履歴データは、抽出のサイズ、抽出の回数、抽出時間、ウェアハウスのサイズ、変換時間、パブリッシュ(ロード)時間、ビューオブジェクト抽出サイズ、ビューオブジェクト抽出記録数、ビューオブジェクト抽出時間、ウェアハウステーブル数、テーブルについて処理される記録の数、ウェアハウステーブル変換時間、パブリッシュテーブル数およびパブリッシュ時間を含み得る。このような履歴データは、たとえば順番にまたは並列に実行して起動計画を実行するための最短時間に到達するようにさまざまなタスクを編成するために現在および将来の起動計画を推定および計画するのに使用することができる。また、収集された履歴データは、テナントについての複数の起動計画にわたって最適化するのに使用することができる。いくつかの実施形態において、履歴データに基づく起動計画(すなわち、ETLなどのジョブの特定のシーケンス)の最適化は、自動であってもよい。
ETLプロセスフロー
図6は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
図6に示されるように、一実施形態に従って、システムは、ストレージクラウドサービス192、たとえばOSSを介した各顧客の企業ソフトウェアアプリケーション環境(たとえば、フュージョンアプリケーション環境)(この例では、BICCコンポーネントを含む)からの、およびそこからデーアウェアハウスインスタンスへの、(たとえば、オラクル)管理テナンシ内のデータ構成/管理/ETL//ステータスサービス190によって制御されるデータのフローを可能にする。
上記のように、一実施形態に従って、このデータのフローは、たとえば上記の抽出サービスおよび変換サービスを含む1つまたは複数のサービスによって、ETLリポジトリ193を参照して管理されることができ、ETLリポジトリ193は、データをストレージクラウドサービスから取得してデータを内部ターゲットデータウェアハウス(たとえば、ADWCデータベース)194にロードし、内部ターゲットデータウェアハウス194は、データパイプラインまたはプロセスの内部にあって、顧客には公表されない。
一実施形態に従って、データは、段階的にデータウェアハウスに移動され、その後、データベーステーブル変更ログ195に移動され、ロード/パブリッシュサービスは、データベーステーブル変更ログ195から、顧客に関連付けられた、顧客がアクセス可能な、顧客テナンシ内のターゲットデータウェアハウスインスタンスに、顧客データをロードすることができる。
ETLの段階
図7は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
一実施形態に従って、企業アプリケーションからデータウェアハウスインスタンスにデータを抽出、変換およびロードすることは、複数の段階を含み、各段階は、いくつかのシーケンシャルジョブまたは並列ジョブを有し得て、各顧客について異なるステージング領域196,198を含む異なる空間/ハードウェア上で実行可能である。
分析アプリケーション環境メトリック
図8は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
図8に示されるように、一実施形態に従って、計測マネージャは、コントロールプレーンを介してプロビジョニングされたサービスおよびサービスの使用を計測して、プロビジョニングされたメトリック142を提供する機能を含み得る。
たとえば、計測マネージャは、課金の目的で、特定の顧客について、コントロールプレーンを介してプロビジョニングされたプロセッサの経時的な使用を記録することができる。同様に、計測マネージャは、課金の目的で、SaaS環境の顧客による使用のために区分されたデータウェアハウスの記憶スペースの量を記録することができる。
分析アプリケーション環境のカスタマイゼーション
図9は、一実施形態に係る、分析アプリケーション環境を提供するためのシステムをさらに示す図である。
図9に示されるように、一実施形態に従って、上記のデータパイプラインプロセスを使用して、たとえば顧客の企業ソフトウェアアプリケーションまたはデータ環境から供給され得るデータに加えて、1つまたは複数の顧客に特有のアプリケーション107A,107Bから供給される1つまたは複数のさらなるカスタムデータ109A,109Bも、上記のデータパイプラインプロセス(いくつかの例では、データの格納のためのオブジェクトストレージの使用を含む)および/または顧客の観点からはミュータブルであるカスタムETLもしくは他のプロセス144のいずれかを使用して、データウェアハウスインスタンスに抽出、変換およびロードされることができる。データがデータウェアハウスインスタンスにロードされると、顧客は、顧客スキーマからのテーブルとソフトウェア分析アプリケーションスキーマからのテーブルとを組み合わせるビジネスデータベースビューを作成することができ、たとえばビジネス生産性およびアナリティクス製品スイートまたは顧客の選択したSQLツールによって提供されるインターフェイスを使用してデータウェアハウスインスタンスに照会することができる。
分析アプリケーション環境方法
図10は、一実施形態に係る、分析アプリケーション環境を提供するための方法のフローチャートを示す図である。
図10に示されるように、一実施形態に従って、ステップ200において、分析アプリケーション環境は、複数のテナントによるデータの格納のためにデータウェアハウスへのアクセスを提供し、データウェアハウスは、分析アプリケーションスキーマに関連付けられる。
ステップ202において、複数のテナントの各テナントは、顧客テナンシ、およびデータウェアハウスインスタンスに投入する際にテナントによって使用するための顧客スキーマに関連付けられる。
ステップ204において、データウェアハウスのインスタンスは、企業ソフトウェアアプリケーションまたはデータ環境から受信されたデータを投入され、分析アプリケーション環境の特定のテナントに関連付けられたデータは、分析アプリケーションスキーマおよび当該特定のテナントに関連付けられた顧客スキーマに従って、当該特定のテナントに関連付けられた、当該特定のテナントがアクセス可能なデータウェアハウスインスタンスにおいてプロビジョニングされる。
拡張性およびカスタマイゼーション
データアナリティクスもしくはビジネスインテリジェンスデータを提供する目的またはソフトウェア分析アプリケーションを開発する目的でデータをどのように分類、集約または変換するかに関して、データアナリティクス環境の異なる顧客は異なる要求を有しているであろう。
一実施形態に従って、このような異なる要求をサポートするために、システムは、カスタムセマンティック拡張を使用してセマンティックデータモデル(セマンティックモデル)を拡張してプレゼンテーション層においてカスタムコンテンツを提供することを可能にするセマンティック層を含み得る。拡張ウィザードまたは開発環境は、カスタムセマンティック拡張を使用して分岐およびステップの定義を介してセマンティックモデルを拡張またはカスタマイズし、その後、拡張またはカスタマイズされたセマンティックモデルを生産環境に昇格させる際にユーザを導くことができる。
さまざまな実施形態に従って、記載されているアプローチの技術的利点は、さらなるタイプのデータソースに対するサポートを含む。たとえば、ユーザは、第1のベンダの製品から供給されたERPデータと第2の異なるベンダの製品から供給されたHCMデータとの組み合わせに基づいて、または異なる規制要件を有する複数のデータソースから受信されたデータの組み合わせに基づいて、データアナリティクスを実行することができる。ユーザ定義の拡張またはカスタマイゼーションは、基礎となるシステムに対するパッチ、更新または他の変更に耐えることができる。
図11は、一実施形態に係る、分析アプリケーション環境において拡張性およびカスタマイゼーションをサポートするためのシステムを示す図である。
一実施形態に従って、セマンティック層は、顧客のデータのセマンティックモデルを定義するデータを含み得て、これは、ユーザが一般に理解されるビジネス用語を使用して当該データを理解してアクセスするのを手助けする際に有用である。セマンティック層は、物理的なデータモデルまたはデータプレーンにマッピングする物理層と、計算を定義することができるマッピングまたは変換層として動作する論理層と、ユーザがコンテンツとしてデータにアクセスすることを可能にするプレゼンテーション層とを含み得る。
図11に示されるように、一実施形態に従って、セマンティック層230は、パッケージングされたコンテンツ234を提供するのに使用することができるパッケージングされた(アウト・オブ・ザ・ボックスの、最初の)セマンティックモデル232を含み得る。たとえば、システムは、上記のETLまたは他のデータパイプラインまたはプロセスを使用して、データを顧客の企業ソフトウェアアプリケーションまたはデータ環境からデータウェアハウスインスタンスにロードすることができ、次いで、パッケージングされたセマンティックモデルを使用して、パッケージングされたコンテンツをプレゼンテーション層に提供することができる。
一実施形態に従って、セマンティック層は、1つまたは複数のセマンティック拡張236に関連付けられることもでき、1つまたは複数のセマンティック拡張236は、パッケージングされたセマンティックモデルを拡張してカスタムコンテンツ238をプレゼンテーション層240に提供するのに使用することができる。
一実施形態に従って、プレゼンテーション層は、たとえばソフトウェア分析アプリケーション、ユーザインターフェイス、ダッシュボード、重要業績指標(KPI)242、または、たとえばオラクルアナリティクスクラウドもしくはオラクル・アナリティクス・フォー・アプリケーションズなどの製品によって提供され得る他のタイプのレポートもしくはインターフェイスを使用して、データコンテンツへのアクセスを可能にすることができる。
一実施形態に従って、上記のETLまたは他のデータパイプラインまたはプロセスを使用して顧客の環境から供給されるデータに加えて、顧客データが、さらなる拡張性およびカスタマイゼーションの機会を提供するさまざまなデータモデルまたはシナリオを使用してデータウェアハウスインスタンスにロードされることができる。
図12は、一実施形態に係る、セルフサービスデータモデルを示す図である。
図12に示されるように、一実施形態に従って、セルフサービスデータモデルまたはシナリオは、顧客が、次元適合を提供するシステムによって提供されるETLまたは他のデータパイプラインまたはプロセスを使用して、外部またはカスタムデータをカスタムデータセットとしてロードすることを可能にする。顧客は、システムによって投入される1つまたは複数の「ライブ」データセットを定義し、「ライブ」データセットと外部データセットとを結合して、照会可能な組み合わせられたデータセットを作成することができる。このシナリオでは、顧客の責務は、一般に、データセットの手動リフレッシュおよびデータセットのセキュリティ強化を含む。
図13は、一実施形態に係る、キュレーションされたデータモデルを示す図である。
図13に示されるように、一実施形態に従って、キュレーションされたデータモデルまたはシナリオは、集中型のまたは管理されたアナリティクス環境を提供し、システムによって提供されるETLまたは他のデータパイプラインまたはプロセスは、顧客データをイミュータブルな分析アプリケーションスキーマにパブリッシュし、顧客は、カスタムETLまたは他のデータパイプラインまたはプロセスを使用して外部またはカスタムデータを顧客スキーマに搭載する。顧客は、システム管理テーブルとカスタムテーブルとを組み合わせるビジネスデータベースビューを作成し、選択したツールを使用して、組み合わせられたデータに照会することができる。このシナリオでは、顧客の責務は、一般に、カスタムETLまたは他のデータパイプラインまたはプロセスを使用して顧客スキーマへのデータのロードおよびリフレッシュを管理することを含む。
キュレーションされたデータモデルまたはシナリオおよびセルフサービスデータモデルまたはシナリオの上記の例は、一例として提供されている。さまざまな実施形態に従って、システムは、他のタイプのデータモデルまたはシナリオをサポートすることができる。
BIデータモデルの自動生成
上記のように、たとえば組織の企業資源計画(ERP)または他の企業コンピューティング環境の文脈においてデータアナリティクスの使用を活用するソフトウェアアプリケーションを開発することへの関心が高まっているが、BIデータモデルを準備するための従来のアプローチは、現代の企業コンピューティング環境で使用される複雑なスキーマに対処する際にはあまり上手くいかない。
たとえば、重要業績指標、データアナリティクスまたは他のタイプのビジネスインテリジェンスデータを提供する目的でデータをどのように分類、集約または変換すべきであるかに関して、異なる企業顧客は特定の要求を有しているであろう。たとえば、顧客は、たとえばカスタム事実または次元を追加することによって、データに関連付けられたデータソースモデルを修正することを選択し得る。
さまざまな実施形態に従って、異なる顧客要求をサポートするために、システムは、カスタムセマンティック拡張を使用してセマンティックデータモデル(セマンティックモデル)を拡張してプレゼンテーション層においてカスタムコンテンツを提供することを可能にするセマンティック層を含み得る。セマンティック層は、物理的なデータモデルまたはデータプレーンにマッピングする物理層と、計算を定義することができるマッピングまたは変換層として動作する論理層と、ユーザがコンテンツとしてデータにアクセスすることを可能にするプレゼンテーション層とを含み得る。
たとえば、一実施形態に従って、セマンティックモデル拡張プロセスは、たとえばデータウェアハウスインスタンスに格納された顧客のデータを内観(introspect)し、当該顧客データに関連付けられたメタデータを評価して、カスタム事実、カスタム次元、および/または、顧客の要求に従ってセマンティックモデルを拡張またはカスタマイズするための他のタイプのデータソースモデル拡張を確定することができる。
いくつかの環境では、顧客は、たとえばオラクルNetSuiteなどのBI製品または環境も使用してもよく、このBI製品または環境は、一般に、たとえば財務管理、収益管理、固定資産、オーダー管理、課金および在庫管理などのフロントオフィスおよびバックオフィスプロセスをサポートする中規模から大規模の企業を対象としたERPコンピューティング環境を提供し、これらのプロセスは、さらなる要求を有し、顧客のたとえばNetSuiteデータをアナリティクス環境内で使用することを可能にするためにセマンティックモデルのさらなる修正を必要とし得る。
一実施形態に従って、たとえば企業資源計画(ERP)または他の企業コンピューティングもしくはデータアナリティクス環境で使用することができるような、データイントロスペクションおよびキュレーションを使用したビジネスインテリジェンス(BI)データモデルの自動生成のためのシステムおよび方法が本明細書に記載されている。記載されているアプローチは、手動でキュレーションされたアーティファクトと、データイントロスペクションを介したソースデータ環境のモデルの自動生成との組み合わせを使用して、ターゲットBIデータモデルを導き出す。たとえば、パイプラインジェネレータフレームワークは、トランザクションタイプの次元、縮退属性およびアプリケーション尺度を評価して、このプロセスの出力を使用して出力ターゲットモデルおよびパイプラインまたはロード計画を作成することができる。本明細書に記載されているシステムおよび方法は、はるかに短期間での新たな対象領域またはBIデータモデルの構築の点で技術的向上を提供する。
大まかに説明すると、一実施形態に従って、システムは、ソースモデルを参照するまたは見ることによって1つまたは複数のマップを自動的に生成するのに使用されるパイプラインまたはスナップショット(ETL)ジェネレータ、コンポーネントまたはプロセスを備え、たとえば自動生成プロセスは、手動でキュレーションされたアーティファクトおよび自動的に決定または解釈された変数の使用を含み得る。
セマンティックモデル(RPD)ジェネレータ、ジェネレータ、コンポーネントまたはプロセスは、トランザクションタイプのためのデータモデルを生成し、たとえばRPD生成プロセスは、確定された次元および事実を使用して、セマンティックモデルをたとえばBIリポジトリ(RPD)ファイルとして生成することができる。
セキュリティアーティファクトジェネレータ、コンポーネントまたはプロセスは、生成されたセマンティックモデルに、任意の必要なセキュリティアーティファクト、たとえばソースモデルに記載されているものを重ね合わせ、たとえばセキュリティアーティファクト生成プロセスは、データ可視性を制御するセキュリティフィルタおよびアプリケーションロールを作成することができる。
人間可読フォーマット(HRF)ジェネレータ、コンポーネントまたはプロセスは、人間可読フォーマットデータを、そのその後の使用のために、たとえばBIレポートを作成するために生成するのに使用することができる。
図14は、一実施形態に係る、データイントロスペクションおよびキュレーションを使用したBIデータモデルの自動生成のためのシステムを示す図である。
図14に示されるように、一実施形態に従って、顧客は、たとえばオラクルNetSuiteなどのBI環境を使用し得て、このBI環境は、BIデータセンタ310に設けられており、この例では、NetSuite(NS)顧客スキーマ314と、顧客のたとえばNetSuiteデータを分析アプリケーション環境に提供することを可能にするプロビジョニングコンポーネント316とを有するNetSuiteオラクルデータベース312を含む。
一実施形態に従って、分析アプリケーション環境において、BIプロビジョニングコンポーネント300は、顧客の(たとえば、NetSuiteまたは他のBIもしくはERP環境)データを顧客の企業ソフトウェアアプリケーションまたはデータ環境から受信してデータウェアハウスインスタンスにロードし、顧客の(たとえば、NSAW)データスキーマ320に関連付けることを可能にし、次いで、セマンティックモデルを使用して、顧客のソースデータからプレゼンテーション層へのパッケージングされたコンテンツを表面仕上げすることができる。
一実施形態に従って、セマンティックモデルは、セマンティックモデルのさまざまな物理層、ビジネスモデルおよびマッピング層、ならびにプレゼンテーション層側面を実現する論理スキーマ、物理スキーマ、物理-論理マッピング、集合体テーブルナビゲーションおよび/または他の構成体を定義するメタデータを有するBIリポジトリ(RPD)ファイルとして、たとえばオラクル環境において定義されることができる。
一実施形態に従って、顧客は、たとえばデータウェアハウスインスタンスに格納されたデータに関連付けられたカスタム事実または次元を追加することによって特定の要求をサポートするために、データソースモデルまたはNetSuiteもしくは他のBIもしくはERP製品もしくは環境に対する修正を実行し得て、システムは、それに応じてセマンティックモデルを拡張することができる。
たとえば、一実施形態に従って、システムは、セマンティックモデル拡張プロセスを使用して、顧客のデータをプログラムによって内観して、カスタム事実、カスタム次元、またはデータソースモデルに対してなされた他のカスタマイゼーションもしくは拡張を確定し、次いで、適切なフローを使用して、セマンティックモデルを自動的に修正または拡張して、それらのカスタマイゼーションもしくは拡張をサポートすることができる。
図15は、一実施形態に係る、データイントロスペクションおよびキュレーションを使用したBIデータモデルの自動生成のためのシステムをさらに示す図である。
いくつかのERPまたはたとえばNetSuiteなどの他の企業コンピューティングもしくはBI環境は、データモデルを利用し、それによって、異なるモジュール、たとえば販売または購入オーダーモジュールは、データの格納のために異なるトランザクションテーブルを使用することができる。
一実施形態に従って、分析アプリケーション環境が、NetSuiteデータをシステムに受け入れることを可能にするBIプロビジョニングコンポーネントで使用される場合、NetSuiteデータモデル340は、一組のトランザクションテーブルに格納されたさまざまなビジネスエンティティを含むNetSuiteデータモデルをマッピングするのに使用することができる。
大まかに説明すると、NetSuite環境におけるトランザクションテーブルは、どんな種類のエンティティを記録が表しているかの表示を格納しているトランザクションタイプと呼ばれるフィールドによってストライピングされる。トランザクションテーブルは、全てのトランザクションタイプに必要な全ての列および属性のスーパーセットを有しており、トランザクションに関連する列のみがそれぞれの記録に格納されている。たとえば、購入オーダートランザクションにはベンダ列が投入されているが、顧客を空白としており、販売オーダーはその逆になる。
このトランザクションテーブルのネットワークを考慮して、たとえば以下のものを確定するためにさまざまなフィールドの中のデータを内観することによって、適用可能な次元および属性のリストを確定することができる。
購入オーダー:これは、たとえばベンダ、時間、商品、子会社などの適用可能な次元を含み得る。
販売オーダー:これは、たとえば顧客、時間、商品、子会社などの適用可能な次元を含み得る。
適用可能な次元および属性のリストを考慮して、データモデル、パイプラインおよびセマンティックモデルを、そのたとえばスタースキーマについて構築することができる。
最初のキュレーション:さまざまなスタースキーマをパイプラインおよびセマンティックモデルとともにイントロスペクションを介して構築することができるが、次元は、手動キュレーションを介してデータモデルおよびパイプラインにシードされなければならない。また、コード生成プロセスは、モデルに含めるまたはモデルから除外するために、内観可能なサポートされた次元および次元属性のスーパーセットを認識する必要がある。
セキュリティ:ジェネレータは、各対象領域についてセキュリティフィルタを制御するためのデフォルトセキュリティグループおよびセキュリティフィルタおよびアプリケーションルールを作成する。次いで、顧客は、特定のユーザメンバーシップを企業ロールに割り当てることができ、セキュリティフィルタは、セマンティックモデルにおいて自動的に起動され、当該ユーザについて割り当てられた行のセットに可視性を制限する。
パイプラインジェネレータフレームワーク
図16は、一実施形態に係る、BIデータモデルの自動生成で使用するための例示的なパイプラインジェネレータフレームワークを示す図である。
図16に示されるように、一実施形態に従って、パイプラインジェネレータフレームワークは、出力ターゲットモデルおよびパイプラインまたはロード計画を作成するためのプロセスを実行することができ、たとえば
データモデルおよびパイプラインに関連付けられて手動キュレーションを介して提供されるシードされた次元を提供するシード(たとえば、ODI)リポジトリ352と、
ソースモデルを参照するまたは見ることによって1つまたは複数のマップを自動的に生成するための下記のプロセスを実行するパイプラインおよびスナップショットジェネレータ356と、
顧客の(たとえば、NetSuiteまたは他のBIもしくはERP環境から情報を受信する(たとえば、NetSuite UMD)API354と、
シードされた次元に基づいて作成される生成された(たとえば、ODI)リポジトリ364と、
人間可読フォーマットデータを、そのその後の使用のために、たとえばBIレポートまたは他のHRFドキュメント370を作成するために生成するように適合された人間可読フォーマット(HRF)ジェネレータ366と、
1つまたは複数の決定ファイル358と、
トランザクションタイプのためのデータモデルを生成するように適合されたRPDジェネレータ360とを含み、たとえばrpd生成プロセスは、確定された次元および事実を使用して、シードrpd(seed.rpd)362に基づいてセマンティックモデルをたとえばBIリポジトリ(RPD)ファイルとして生成し、生成されたRPD368を出力として提供し、
生成されたセマンティックモデルに、任意の必要なセキュリティアーティファクト、たとえばソースモデルに記載されているものを重ね合わせるように適合されたセキュリティジェネレータ380を含み、たとえばセキュリティアーティファクト生成プロセスは、データ可視性を制御するセキュリティフィルタおよびアプリケーションロールを作成し、セキュリティ保護されたRPD(secured.rpd)382を準備することができる。
一実施形態に従って、パイプラインジェネレータフレームワークは、たとえば複数のコンポーネントまたは機能を含み得る。
1.パイプライン生成
一実施形態に従って、パイプラインまたはスナップショット(ETL)ジェネレータ、コンポーネントまたはプロセスは、ソースモデルを参照するまたは見ることによって1つまたは複数のマップを自動的に生成するのに使用される。
たとえば、自動生成プロセスは、手動でキュレーションされたアーティファクトおよび自動的に決定または解釈された変数の使用を含み得る。シードリポジトリは、パイプラインジェネレータで使用するための、たとえば環境に関連付けられた基本次元などの手動でキュレーションされたアーティファクトを含む。次いで、他のトランザクション次元、列またはセキュリティアーティファクトなどがフレームワークによって自動的に生成される。
2.セマンティックモデル生成
一実施形態に従って、セマンティックモデル(RPD)ジェネレータ、ジェネレータ、コンポーネントまたはプロセスは、トランザクションタイプのためのデータモデルを生成する。たとえば、RPD生成プロセスは、確定された次元および事実を使用して、セマンティックモデルをたとえばBIリポジトリ(RPD)ファイルとして生成することができる。それは、前のステップの出力を使用し、テンプレートrpd xmlファイルも使用する。
上記のように、シードリポジトリは、RPDジェネレータで使用するための、たとえば環境に関連付けられた基本次元などの手動でキュレーションされたアーティファクトを含む。
ステップ1:縮退列の処理を開始する-事実テーブルで必要とされない縮退列を処理する。
ステップ2:未使用の事実列の処理を開始する-トランザクションタイプによって必要とされる事実または尺度のみを処理して保持する。
ステップ3:次元の処理を開始する-トランザクションタイプによって必要とされる次元列のみを処理して保持する。
ステップ4:物理層変更-rpdの中に物理層テーブルを作成する。
ステップ5:新たな対象領域オブジェクト、すなわちLTS、日付次元、キー、尺度定義の作成を開始し、ステップ5.1:LTS、ステップ5.2:論理テーブル、ステップ5.3:論理列、ステップ5.4:論理キー、ステップ5.5:尺度、ステップ5.6:複雑な論理結合、ステップ5.7:次元、ステップ5.8:論理レベルを含む。
ステップ6:表示変更を開始する-トランザクションタイプのためのプレゼンテーション層オブジェクトを作成する。
3.セキュリティ生成
一実施形態に従って、セキュリティアーティファクトジェネレータ、コンポーネントまたはプロセスは、生成されたセマンティックモデルに、任意の必要なセキュリティアーティファクト、たとえばソースモデルに記載されているものを重ね合わせる。たとえば、セキュリティアーティファクト生成プロセスは、データ可視性を制御するセキュリティフィルタおよびアプリケーションロールを作成することができる。
一実施形態に従って、セキュリティアーティファクトジェネレータまたはプロセスは、生成されたセマンティックモデルに、任意の必要なセキュリティアーティファクト、たとえばソースモデルに記載されているものを重ね合わせる。一実施形態に従って、上記のステップまたはプロセスの結果、たとえばNetSuite ERPまたは他の企業コンピューティング環境などのソースデータ環境またはシステムからたとえば1つまたは複数のBIレポートへのパイプラインが作成される。次いで、このパイプラインを使用して、ソースデータ環境からデータを検索して、それに続いて、当該検索されたデータに対してBIレポートを実行することができる。
4.読取可能フォーマットデータ生成
一実施形態に従って、人間可読フォーマット(HRF)ジェネレータ、コンポーネントまたはプロセスは、人間可読フォーマットデータを、そのその後の使用のために、たとえばBIレポートを作成するために生成するのに使用することができる。
たとえば、オラクル・アナリティクス・フォー・アプリケーションズ(OAX)、フュージョンアナリティクスウェアハウスまたはオラクルクラウド統合(OCI)環境において、HRF生成プロセスは、ODIリポジトリを管理するためにたとえばOAXチームによって使用されるHRFフォーマットまたはマッピングフォーマットを生成することができる。一実施形態に従って、人間可読フォーマット(HRF)ジェネレータまたはプロセスは、人間可読フォーマットデータを、そのその後の使用のために生成するのに使用することができる。
図17は、一実施形態に係る、BIデータモデルの自動生成で使用するためのプロセスの例示的なフローチャートを示す図である。
図17に示されるように、環境400に従って、入力トランザクションタイプ(たとえば、販売オーダートランザクションタイプ)を確定すると、プロセスは、対応するたとえばNetSuiteテーブルにアクセスして、それらのテーブルの中のデータを内観または見て、次元および属性を確定し、ターゲットモデルおよびロード計画を生成することができる。
たとえば、ステップ402において、入力トランザクションタイプが受信される(たとえば、PurchOrd)。
ステップ404において、システムは、NetSuiteまたは他のBIもしくはERP環境に接続して、その中に見られるテーブルをリバースエンジニアリングして、各トランザクションタイプ、たとえばトランザクション購入オーダー(Transaction_PurchOrd)、トランザクションライン購入(TransactionLine_PurchOrd)およびトランザクション課金ライン(TransactionAccountingLine_PurchOrd)について別名を作成する。
ステップ406において、システムは、データウェアハウスの中に、上記、たとえばTransaction_PurchOrd、TransactionLine_PurchOrdおよびTransactionAccountingLine_PurchOrdの各々についてステージングテーブルを作成する。
ステップ408において、システムは、これらの各々からそれぞれのテーブルにデータをステージングするためのODIマッピングを作成し、たとえば、最終変更データ(lastmodifieddate)列が見つかった場合にはインクリメンタルフィルタを自動的に追加して、適切な知識モジュールをODIに割り当てて、シナリオ(マッピングのコンパイルされたバージョン)を生成することを含む。
ステップ410において、システムは、これら3つのテーブルの中のデータを内観して適用可能な次元を確定し、rejectedDimensions.txtファイルを作成する。
ステップ412において、システムは、これら3つのテーブルの中のデータを内観して縮退属性を確定し、rejectedAttributes.txtファイルを作成する。
ステップ414において、システムは、これら3つのテーブルの中のデータを内観して適用可能な尺度を確定し、rejectedMeasures.txtファイルを作成する。
ステップ416において、システムは、ターゲット事実テーブルモデル、たとえばDW_PURCHASEORDER_Fを作成する。
ステップ418において、システムは、ステージングテーブルから事実テーブルにデータをロードするためのODIマッピングを作成する。
ステップ420において、システムは、(実行時)ODIシナリオを含むように日々のロード計画を更新する。
ステップ422において、システムは、snapshotBuild=trueである場合にはsnapshot_dtを有するスナップショットテーブルを生成する。
ステップ424において、システムは、事実テーブルからスナップショットテーブルにデータをロードするためのODIマッピングを作成する。
ステップ426において、システムは、(実行時)ODIシナリオを含むようにスナップショットロード計画を更新する。
図18は、一実施形態に係る、BIデータモデルの自動生成で使用するためのプロセスの例示的なフローチャートをさらに示す図である。
図18に示されるように、実施形態440に従って、入力トランザクションタイプを確定して、上記のようにデータを内観して当該トランザクションタイプのための次元および属性を確定すると、プロセスは、たとえばテンプレートスタースキーマにアクセスして、イントロスペクションデータを参照するまたは見ることによって適切な、たとえば販売オーダースタースキーマを作成することができる。
ステップ442において、入力トランザクションタイプが受信され(たとえば、PurchOrd)、上記のように、たとえばrejectedDimensions.txt、rejectedAttributes.txtおよびrejectedMeasures.txtである。
ステップ444において、システムは、シードされた対象領域のコピー(たとえば、DW_SUBJAREA_F)を作成する。
ステップ446において、システムは、(この例では)全ての_SUBJAREA_文字列をトランザクションコード、たとえばPURCHASEORDERと置換する。
ステップ448において、システムは、rejectedDimensions.txtにリストされた全ての次元をトリミングする。
ステップ450において、システムは、rejectedAttributes.txtにリストされた全ての属性をトリミングする。
ステップ452において、システムは、rejectedMeasures.txtにリストされた全ての属性をトリミングする。
ステップ454において、システムは、セキュリティ保護されていないrpd、たとえばNSFinal.rpdを作成する。
ステップ456において、システムは、セキュリティ保護されていないrpd(NSFinal.rpd)を作成する。
ステップ458において、システムは、対象領域について可視性ロールを作成する。
ステップ460において、システムは、各セキュリティ保護次元についてデータセキュリティロールを作成する。
ステップ462において、システムは、セキュリティ保護されたrpd(NSFinalSecured.rpd)を作成する。
一実施形態に従って、図18にさらに示されるように、次いで、セキュリティアーティファクトジェネレータを使用して、各セキュリティ保護された次元について適切な可視性ロールまたはデータセキュリティロールを作成することができる。
一実施形態に従って、記載されているアプローチは、手動モデルキュレーションとデータイントロスペクションを介したソースデータ環境の自動生成との組み合わせを使用して、ターゲットBIデータモデルを導き出すというものであり、はるかに短期間での新たな対象領域またはBIデータモデルの構築の点で技術的向上を提供する。上記のさまざまなステップ、構成要素またはプロセスは、コンピュータシステムまたは他のタイプの処理デバイスによって実行可能なソフトウェアまたはプログラムコードとして提供されることができる。
例示的なパイプラインジェネレータ入力
さまざまな実施形態に従って、パイプラインジェネレータへの入力の例を以下に示して説明する。
1.トランザクションタイプのリスト
図19は、一実施形態に係る、例示的なトランザクションタイプのリストを示す図である。
図19に示されるように、一実施形態に従って、トランザクションタイプのリスト510は、たとえばsubjectArea.csvとしてファイルに取り込まれることができる。このファイルは、実行時に処理されるトランザクションタイプ、省略名、ビジネスフレンドリな名前、およびトランザクションタイプが属しているセキュリティグループを制御するのに使用される。
2.トランザクション列リスト
図20は、一実施形態に係る、例示的なトランザクション列リストを示す図である。
図20に示されるように、一実施形態に従って、トランザクション列リスト520は、トランザクションテーブル内の全ての列のリストを、それらが事実として処理されようと次元として処理されようと尺度として処理されようと、取り込む静的ファイルである入力ファイルとして提供されることができる。このファイルは、たとえばBI/ERPシステムが新たな列の組を追加または削除すると、リリースごとに1回更新されることができる。
3.次元-論理次元マップ
図21は、一実施形態に係る、例示的な次元-論理次元マップを示す図である。
図21に示されるように、一実施形態に従って、次元-論理次元マップ530は、モデルで使用される全ての次元に対して論理名を提供するファイルとして提供されることができる。
4.物理-論理属性マップ
図22は、一実施形態に係る、例示的な物理-論理属性マップを示す図である。
図22に示されるように、一実施形態に従って、物理-論理属性マップ540は、トランザクションテーブル内の物理属性に対して論理名を提供するファイルとして提供されることができる。論理名は、セマンティックモデルで使用される。
5.物理-論理尺度マップ
図23は、一実施形態に係る、例示的な物理-論理尺度マップを示す図である。
図23に示されるように、一実施形態に従って、物理-論理尺度マップ550は、トランザクションテーブル内の物理尺度に対して論理名を提供するファイルとして提供されることができる。論理名は、セマンティックモデルで使用される。
6.テンプレートセマンティックモデル
一実施形態に従って、テンプレートセマンティックモデルは、全てのキュレーションされた次元およびサンプル事実テーブルの定義を有しており、特定のトランザクションタイプについてセマンティックモデルを作成するためのモデルとして使用される。
7.テンプレートODIリポジトリ
一実施形態に従って、テンプレートODIリポジトリは、全てのキュレーションされた次元の定義を有しており、特定のトランザクションタイプについてODIリポジトリモデルを作成するために使用される。
BIデータモデルの自動生成のための例示的なユーザインターフェイス
さまざまな実施形態に従って、図24~図31は、BIデータモデルの自動生成に関連付けられたユーザインターフェイスの例を示す図である。たとえば、以下の通りである。
図24は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図である。
図25は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、パッケージの表示を含む。
図26は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、ロード計画の表示を含む。
図27は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、生成されたrpdファイルの表示を含む。
図28は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、rpdファイルに関連付けられたビジネスモデルの例を含む。
図29は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、セキュリティフィルタの例を含む。
図30は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、表示されたモデルの例を含む。
図31は、一実施形態に係る、BIデータモデルの自動生成のためのシステムで使用するための例示的なユーザインターフェイスを示す図であって、マッピングの例を含む。
BIデータモデルプロセスの自動生成
図32は、一実施形態に係る、データイントロスペクションおよびキュレーションを使用したBIデータモデルの自動生成を提供するための方法のフローチャートを示す図である。
図32に示されるように、一実施形態に従って、ステップ602において、データの格納のためにデータウェアハウスへの分析アプリケーション環境。
ステップ604において、パイプラインまたはスナップショット(ETL)ジェネレータ、コンポーネントまたはプロセスは、ソースモデルを参照するまたは見ることによって1つまたは複数のマップを自動的に生成するのに使用され、たとえば、自動生成プロセスは、手動でキュレーションされたアーティファクトおよび自動的に決定または解釈された変数の使用を含み得る。
ステップ606において、セマンティックモデル(RPD)ジェネレータ、ジェネレータ、コンポーネントまたはプロセスは、トランザクションタイプのためのデータモデルを生成し、たとえば、RPD生成プロセスは、確定された次元および事実を使用して、セマンティックモデルをたとえばBIリポジトリ(RPD)ファイルとして生成することができる。
ステップ608において、セキュリティアーティファクトジェネレータ、コンポーネントまたはプロセスは、生成されたセマンティックモデルに、任意の必要なセキュリティアーティファクト、たとえばソースモデルに記載されているものを重ね合わせ、たとえば、セキュリティアーティファクト生成プロセスは、データ可視性を制御するセキュリティフィルタおよびアプリケーションロールを作成することができる。
ステップ610において、人間可読フォーマット(HRF)ジェネレータ、コンポーネントまたはプロセスは、人間可読フォーマットデータを、そのその後の使用のために生成するのに使用することができる。
さまざまな実施形態に従って、本明細書における教示は、本開示の教示に従ってプログラムされた1つまたは複数のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つまたは複数の従来の汎用もしくは専用コンピュータ、コンピューティングデバイス、マシンまたはマイクロプロセッサを使用して好都合に実現され得る。適切なソフトウェアコーディングは、ソフトウェア技術分野の当業者に明らかであるように、本開示の教示に基づいて熟練のプログラマによって容易に準備することができる。
いくつかの実施形態において、本明細書における教示は、本教示のプロセスのいずれかを実行するようにコンピュータをプログラムするのに使用することができる命令が格納された非一時的なコンピュータ読取可能記憶媒体であるコンピュータプログラム製品を含み得る。このような記憶媒体の例としては、ハードディスクドライブ、ハードディスク、ハードドライブ、固定ディスク、もしくは他の電気機械的データ記憶装置、フロッピー(登録商標)ディスク、光ディスク、DVD、CD-ROM、マイクロドライブおよび光磁気ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリデバイス、磁気もしくは光カード、ナノシステム、または、命令および/もしくはデータの非一時的な格納に適した他のタイプの記憶媒体もしくはデバイスを挙げることができるが、それらに限定されるものではない。
上記の記載は、例示および説明の目的で提供されている。それは、網羅的であるよう意図されたものではなく、開示されている厳密な形態に保護範囲を限定するよう意図されたものでもない。多くの変形例および変更例が当業者に明らかであろう。
たとえば、本明細書に記載されているシステムおよび方法のさまざまな実施形態は、たとえばNetSuiteまたはフュージョンアプリケーションなどのさまざまな企業資源計画(ERP)または他の企業コンピューティングもしくはデータアナリティクス環境での使用を示しているが、さまざまな実施形態は、他のタイプのERP、クラウドコンピューティング、企業コンピューティングまたは他のコンピューティング環境で使用することができる。
実施形態は、本教示の原理およびそれらの実際の適用を最もよく説明することによって、当業者が、さまざまな実施形態および意図された特定の使用に適したさまざまな変形例を理解することを可能にするように選択され、説明された。範囲は、以下の特許請求の範囲およびそれらの等価物によって規定されることが意図されている。