JP7464142B2 - データ分析処理装置、データ分析処理方法、およびプログラム - Google Patents

データ分析処理装置、データ分析処理方法、およびプログラム Download PDF

Info

Publication number
JP7464142B2
JP7464142B2 JP2022558636A JP2022558636A JP7464142B2 JP 7464142 B2 JP7464142 B2 JP 7464142B2 JP 2022558636 A JP2022558636 A JP 2022558636A JP 2022558636 A JP2022558636 A JP 2022558636A JP 7464142 B2 JP7464142 B2 JP 7464142B2
Authority
JP
Japan
Prior art keywords
data
multidimensional
range
ranges
storage areas
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022558636A
Other languages
English (en)
Other versions
JPWO2022091204A1 (ja
Inventor
哲 八木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022091204A1 publication Critical patent/JPWO2022091204A1/ja
Application granted granted Critical
Publication of JP7464142B2 publication Critical patent/JP7464142B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明の一態様は、データ分析処理装置、データ分析処理方法、およびプログラムに関する。
実世界の事象は、時間的に、空間的に、或いはその双方にわたって変化する。つまり事象は、生成したり、消滅したり、状態が遷移したりする。事象を体現するデータは、データ分析技術に言うところの多次元キューブに写像されることができる。データ分析処理装置は、多次元キューブにオンライン分析処理(Online Analytical Processing:OLAP)操作を実行して、データを分析する。データ分析処理装置は、例えば、非特許文献1に開示されているような手法を用いる。
データ分析処理装置は、或る多次元キューブにOLAP操作を実行するとき、クライアントから指示された引数を、OLAP操作の引数として利用する。また、データ分析処理装置は、OLAP操作を実行するために、関係データベース(Relational Database)を利用することができる。従って新たに、ある多次元キューブに対してOLAP操作を実行する場合に、OLAP操作の引数として他の多次元キューブを構成するデータを利用しようと試みる場合において、ある多次元キューブを構成するデータを、他の多次元キューブを構成するデータをキーとして検索/操作する場合に、関係データベースの高速化手段を利用することができる。例えば、非特許文献2に開示されているような高速化手段を利用することができる。
多次元キューブを構成する各次元のデータ/各特性を表すデータのうち最大2項目のデータを、多次元キューブの間で共通する1次元の値域のリスト、名称のリスト、ハッシュ関数のいずれかに基づく値域で分類し、データが属する唯一の値域に対応するストレージ領域に蓄積及び管理する。
多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いた値域を索引として利用することにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域に検索/操作する範囲を限定するとともに、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避する。
Pedersen,T.B. and Jensen,C.S.: Multidimensional Data base Technology, IEEE Computer, Vol.34, No.12, pp.40-46 (2001). Oracle: VLDB およびパーティショニング・ガイド19c,pp.58-63,99-107 (2019).
従来のデータ分析処理装置では、関係データベースの高速化手段を利用できたとしても、その手段は、限られた範囲でしか利用できなかった。つまり、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが1次元データである場合に適用できる手法は、上記データのそれぞれが多次元データである場合に適用できない。また、値域で分類したデータが複数の値域に属する場合においても、検索/操作するストレージ領域の競合を回避して高速化を促すことができない。
詳しくは、従来のデータ分析処理装置は、新たに、ある多次元キューブに対してOLAP操作を実行する場合に、OLAP操作の引数として他の多次元キューブを構成するデータを利用しようと試みる場合において、ある多次元キューブを構成するデータを、他の多次元キューブを構成するデータをキーとして検索/操作する場合に、関係データベースの高速化手段を利用することができる。しかし、高速化可能な範囲が限定されていた。
例えば、従来のデータ分析処理装置は、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが1次元データである場合には、データのうち最大2項目のデータを、多次元キューブの間で共通する1次元の値域のリスト、名称のリスト、ハッシュ関数のいずれかに基づく値域で分類し、値域で分類したデータが単一の値域に属する場合には、データが属する唯一の値域に対応するストレージ領域に蓄積及び管理し、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域に検索/操作する範囲を限定するとともに、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避することにより、高速化することができた。
しかし、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合に、データを、多次元キューブ間で共通する多次元の値域で分類することや、値域で分類したデータが複数の値域に属する場合に、各値域に対応するストレージ領域に重複して蓄積及び管理することはできない。したがって、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合や、値域で分類したデータが複数の値域に属する場合において、単一の検索/操作を実行する場合には、検索/操作する範囲に限定するとともに、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避することにより、高速化することができなかった。
この発明は、上記事情に着目してなされたもので、多次元キューブへのOLAP操作を高速に実行できる技術を提供しようとするものである。
この発明の一態様に係るデータ分析処理装置は、多次元データベース、OLAP操作実行部、および多次元データベース管理部を具備する。多次元データベースは、主題ごとに構築される多次元キューブに、実世界の事象を体現するデータを当該事象の識別子と対応付けて蓄積する。OLAP操作実行部は、クライアントからの要求に応じて多次元キューブに対するOLAP(Online Analytical Processing)操作を実行する。
また、OLAP操作実行部は、ある多次元キューブに対してOLAP操作を実行する場合に、OLAP操作の引数としてクライアントから指示された引数、または、他の多次元キューブを構成するデータの少なくともいずれかを利用する。
多次元データベース管理部は、多次元キューブにおいて、時間次元のデータと、空間次元のデータと、複数種別の固有次元のデータと、複数種別の特性を表すデータとを管理する。この多次元データベース管理部は、多次元キューブを構成するデータのそれぞれが多次元データであれば、当該多次元キューブの間で共通する多次元の値域で当該多次元データを分類する。
より詳しくは、多次元データベース管理部は、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データであれば、当該多次元キューブの間で共通する多次元の値域で分類する。値域で分類したデータが単一の値域に属する場合には、多次元データベース管理部は、当該データを値域に対応するストレージ領域に蓄積及び管理する。値域で分類したデータが複数の値域に属する場合には、多次元データベース管理部は、当該データを各値域に対応するストレージ領域に当該データの実体、または当該データの参照を重複して蓄積及び管理する。
また、多次元データベース管理部は、多次元キューブを構成するデータを他の多次元キューブを構成するデータをキーとして検索/操作する場合に、分類に用いた値域を索引として利用することにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定するとともに、複数の検索/操作を同時並行に実行する場合には、さらに検索/操作するストレージ領域の競合を回避する。
この発明の一態様によれば、多次元キューブへのOLAP操作を高速に実行できる技術を提供することができる。
図1は、この発明に係るデータ分析処理装置の一例を示す機能ブロック図である。 図2は、多次元データベース16におけるデータの蓄積状態について説明するための図である。 図3は、最も広いデータあるいは主要なデータを包含する広さの値域の一例を示す図である。 図4は、上位の値域が下位の隣接する値域を包含する値域の階層と対応するストレージ領域の一例を示す図である。 図5は、データ分析処理装置10の動作の一例を説明するためのシーケンス図である。 図6は、多次元データベース管理部15の処理手順の一例を示すフローチャートである。 図7は、多次元データベース管理部15がストレージ領域における検索/操作する範囲を限定する処理の一例を説明するための図である。 図8は、多次元データベース管理部15がストレージ領域における検索/操作する範囲を限定する処理の他の例を説明するための図である。 図9は、多次元データベース管理部15が検索/操作するストレージ領域の競合を回避する動作の一例を説明するための図である。 図10は、多次元データベース管理部15が検索/操作するストレージ領域の競合を回避する動作の他の例を説明するための図である。 図11は、多次元データベース管理部15が値域の階層を選択する処理の一例を説明するための図である。 図12は、複数のストレージ領域に対応する値域を選択した場合に、冗長な処理を抑制する動作の一例を説明するための模式図である。 図13は、図12に示される状況を表す表形式データの一例を示す図である。 図14は、この発明に係るデータ分析処理装置のハードウェア構成の一例を示すブロック図である。
以下、図面を参照してこの発明に係わる実施形態を説明する。
(構成)
図1は、この発明に係るデータ分析処理装置の一例を示す機能ブロック図である。データ分析処理装置10は、OLAP操作実行部11と、多次元データベース管理部15と、多次元データベース16とを備える。
多次元データベース16は、実世界の事象を体現するデータを、そのデータの情報源である事象を識別するための事象の識別子と対応付けて多次元キューブに蓄積する。多次元キューブは主題ごとに構築される。蓄積されるデータは、時間次元のデータと、空間次元のデータと、複数種別の固有次元のデータと、複数種別の特性を表すデータとを含む。固有次元のデータには、主題に依存する複数の種別がある。特性を表すデータは、時間次元、空間次元、固有次元のデータにより識別される。特性を表すデータには、主題に依存する複数の種別がある。
多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合には、多次元データベース16は、多次元キューブの間で共通する多次元の値域で多次元データを分類する。そして、値域で分類したデータが単一の値域に属する場合に、多次元データベース16は、値域に対応するストレージ領域にデータを蓄積する。さらに、値域で分類したデータが複数の値域に属する場合は、多次元データベース16は、各値域に対応するストレージ領域にデータの実体、または参照を、重複して蓄積する。
図2は、多次元データベース16におけるデータの蓄積状態について説明するための図である。図2において、地物などを表す2次元データであるデータa~cを、地域などを表す2次元の値域である値域1~4で分類すると、値域1にデータa~c、値域2にデータb、値域3にデータcが分類される。データaは値域1に属し、データbは値域1、2に属し、データcは値域1、3に属する。
複数の値域に属するデータは、例えば、最も重畳する範囲が広い値域に対応するストレージ領域に、そのデータの実体の本体を蓄積し、それ以外の値域に対応するストレージ領域に、実体の複製、あるいは実体の本体への参照を蓄積する。参照は、例えばストレージに蓄積されたデータのアドレスである。
ストレージ領域に蓄積する、実体の本体と、実体の複製あるいは実体の本体への参照は、例えば、蓄積するストレージ領域内を区分する、蓄積するデータにマーキングする、索引を作成することにより、区別することができる。ストレージ領域に蓄積する、実体の複製と実体の本体への参照は、任意あるいは基準に即して、実体の複製から実体の本体への参照へ、実体の本体への参照から実体の複製へ、変更することができる。
データの実体の複製にアクセスすれば、当該データの実体の複製を蓄積するストレージ領域をアクセスするために、データの実体の複製と、当該データの実体の本体を同時にアクセスしても、アクセスするストレージ領域は競合しない。
データの実体の本体への参照にアクセスすれば、データの実体の本体への参照を蓄積するストレージ領域を経て、参照しているデータの実体の本体を蓄積するストレージ領域をアクセスするために、データの実体の本体への参照と、当該データの実体の本体を同時にアクセスすれば、アクセスするストレージ領域が競合することがある。
ここで、値域の広さは、例えば、最も広いデータを包含できる広さや、主要なデータを包含できる広さにする。このようにすれば、データが属する値域の数を、高々、隣接する値域の数に抑制できる。
多次元データベース16は、このように、多次元データを多次元の値域で分類し、値域で分類したデータが単一の値域に属する場合に、値域に対応するストレージ領域に当該データを蓄積する。また、値域で分類したデータが複数の値域に属する場合には、多次元データベース16は、各値域に対応するストレージ領域にデータの実体、あるいは参照を、重複して蓄積する。
なお図2において、*が、データの実体(本体)を表し、**が、データの実体の複製/実体の本体への参照を表す。
図3は、最も広いデータあるいは主要なデータを包含する広さの値域の一例を示す図である。多次元データベース16に対して、値域の広さを変更する際に、例えば、新たなデータの蓄積を契機として、蓄積済みのデータも含めて、新しい値域の広さに合わせてデータを蓄積しなおす。また、多次元データベース16に対して、例えば、上位の値域が下位の隣接する値域を包含する値域の階層を構築しておき、状況に応じて利用する値域の階層を選択する。多次元データベース16に対して、複数のストレージ領域に対応する値域の階層を選択した場合には、複数のストレージ領域に重複して蓄積されているデータを利用しない。
図4は、上位の値域が下位の隣接する値域を包含する値域の階層と対応するストレージ領域の一例を示す図である。
OLAP操作実行部11は、クライアント20から受信したOLAP操作および引数に応じて、多次元データへのOLAP操作を実行する。つまりOLAP操作実行部11は、多次元データへのOLAP操作を多次元データベース管理部15に指示する。また、OLAP操作実行部11は、指示した操作の結果を多次元データベース管理部15から受信すると、この操作結果をクライアント20に送信する。
多次元データベース管理部15は、OLAP操作実行部11の指示に応じて、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いた値域の情報を索引情報として参照し、参照した索引情報を基に、検索/操作するストレージ領域を特定する。また、多次元データベース管理部15は、ストレージ領域に対応する値域を処理単位として、多次元キューブを構成するデータを同時並行に検索/操作する。そして、多次元データベース管理部15は、検索/操作する全ストレージ領域の検索/操作が終われば、検索/操作した結果を集約して、OLAP操作実行部11に操作結果を返却する。また、上記のように多次元データベース16にデータが蓄積され利用されるように、多次元データベース16を管理する。
(作用)
次に、以上のように構成されたデータ分析処理装置の処理動作を説明する。
図5は、データ分析処理装置10の動作の一例を説明するためのシーケンス図である。図5において、OLAP操作実行部11は、クライアント20からOLAP操作と引数を受信すると、それらに応じて多次元データベース管理部15に多次元データの操作を指示する。
多次元データベース管理部15は、多次元データの操作指示に応じて、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いた値域の情報を索引情報として参照し、参照した索引情報を基に、検索/操作するストレージ領域を特定する。多次元データベース管理部15は、ストレージ領域に対応する値域を処理単位として、多次元キューブを構成するデータを同時並行に検索/操作する(図5の破線囲み「PARALLEL」)。
多次元データベース管理部15は、検索/操作する全ストレージ領域の検索/操作が終わるまで繰り返し(図5の破線囲み「LOOP」)、終了すると、検索/操作した結果を集約して、操作結果をOLAP操作実行部11に返却する。
OLAP操作実行部11は、受信したOLAP操作と引数の内容に応じて、多次元データベース管理部15への指示を繰り返す(図5の破線囲み「LOOP」)。OLAP操作実行部11は、OLAP操作と引数の内容に対応する最終的な操作結果を取得すると、そのOLAP操作の操作結果をクライアント20に返却する。
次に、多次元データベース管理部15の動作の詳細を説明する。
図6は、多次元データベース管理部15の処理手順の一例を示すフローチャートである。図6において、多次元データベース管理部15は、OLAP操作実行部11から多次元データの操作指示の受信を待ち受ける(ステップS11)。操作指示を受信すると、多次元データベース管理部15は、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いた値域の情報を索引情報として参照する(ステップS12)。
次に、多次元データベース管理部15は、参照した索引情報を基に、検索/操作するストレージ領域を特定し(ステップS13)、ストレージ領域に対応する値域を処理単位として、多次元キューブを構成するデータを同時並行に検索/操作する(ステップS141~S14N)。この処理は、ステップS15において、検索/操作する全ストレージ領域の検索/操作が終わったと判定されるまで繰り返される。
このとき、単一の検索/操作を実行する場合には、多次元データベース管理部15は、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定する。また、多次元データベース管理部15は、複数の検索/操作を同時並行に実行する場合には、さらに検索/操作するストレージ領域の競合を回避する。そして多次元データベース管理部15は、検索/操作した結果を集約する(ステップS16)。
このようにして、多次元データベース管理部15は、多次元データの操作指示に応じて、ある多次元キューブに対してOLAP操作を実行する場合に、OLAP操作の引数として他の多次元キューブを構成するデータを利用する場合において、ある多次元キューブを構成するデータを、他の多次元キューブを構成するデータをキーとして検索/操作する。
すなわち多次元データベース管理部15は、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いた値域を索引として利用することにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定する。また、多次元データベース管理部15は、複数の検索/操作を同時並行に実行する場合には、さらに検索/操作するストレージ領域の競合を回避する。
図7は、多次元データベース管理部15がストレージ領域における検索/操作する範囲を限定する処理の一例を説明するための図である。図7に示されるように、多次元データベース管理部15が、多次元キューブ1を構成するデータを、多次元キューブ0を構成するデータをキーとして検索/操作する場合に、値域01、02、04に分類され対応するストレージ領域01、02、04に蓄積及び管理されるデータに包含あるいは重畳するデータは、それぞれ値域11、12、14に分類され対応するストレージ領域11、12、14に蓄積及び管理されるデータであるために、両多次元キューブの同一値域に対応するストレージ領域である領域01と11の組、領域02と12の組、領域04と14の組とに、検索/操作する範囲を限定できる。
図8は、多次元データベース管理部15がストレージ領域における検索/操作する範囲を限定する処理の他の例を説明するための図である。図8に示されるように、多次元データベース管理部15が、多次元キューブ1を構成するデータを、多次元キューブ0を構成するデータをキーとして検索/操作する場合に、値域01に分類され値域01に対応するストレージ領域に蓄積及び管理されるデータの重心から点線の円で表される近傍にあるデータは、値域11と値域11から点線の円の半径の範囲にある値域12、14、15とに分類され対応するストレージ領域11、12、14、15に蓄積及び管理されるデータであるために、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域である、領域01と領域11、12、14、15の組に、検索/操作する範囲を限定できる。他の値域に分類され当該値域に対応するストレージ領域に蓄積及び管理されるデータについても同様である。
このように、多次元データベース管理部15は、参照した索引情報を基に、検索/操作するストレージ領域を特定する場合に、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定する。
図9は、多次元データベース管理部15は検索/操作するストレージ領域の競合を回避する動作の一例を説明するための図である。図7の模式図に対応付けて説明する。図9に示されるように、多次元キューブ1を構成するデータを、多次元キューブ0を構成するデータをキーとして検索/操作する場合に、両多次元キューブの同一値域に対応するストレージ領域である領域01と11の組、領域02と12の組、領域04と14の組を単位として、多次元キューブを構成するデータ同時並行に検索/操作することで、検索/操作するストレージ領域の競合を回避できる。なぜなら、値域01、02、04に分類され対応するストレージ領域01、02、04に蓄積、管理されるデータに包含あるいは重複するデータは、それぞれ領域11、12、14に分類され対応するストレージ領域11、12、14に蓄積、管理されるデータであるからである。
図10は、多次元データベース管理部15が検索/操作するストレージ領域の競合を回避する動作の他の例を説明するための図である。図8の模式図に対応付けて説明する。図10において、多次元キューブ1を構成するデータを、多次元キューブ0を構成するデータをキーとして検索/操作する場合に、図8と同様に、値域01に分類され値域01に対応するストレージ領域に蓄積及び管理されるデータの重心から点線の円で表される近傍にあるデータは、値域11と値域11から点線の円の半径の範囲にある値域12、14、15とに分類され対応するストレージ領域11、12、14、15に蓄積及び管理されるデータであり、値域04に分類され値域04に対応するストレージ領域に蓄積及び管理されるデータの重心から一点鎖線の円で表される近傍にあるデータは、値域14と値域14から点線の円の半径の範囲にある値域11、12、15、17、18とに分類され対応するストレージ領域11、12、15、17、18に蓄積及び管理されるデータであるために、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域である、領域01と15、14、12、11の組、領域04と18、17、15、14の組を単位として、前記多次元キューブを構成する前記データ同時並行に検索/操作する場合に、領域01のデータに対しては領域15、14、12、11の順、領域04のデータに対しては領域18、17、15、14、12、11の順というように検索/操作する順番を合わせることで、検索/操作するストレージ領域の競合を回避できる。他の値域に分類され当該値域に対応するストレージ領域に蓄積及び管理されるデータについても同様である。
なお、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域である、領域01と15、14、12、11の組、領域04と18、17、15、14の組を単位として、多次元キューブを構成するデータ同時並行に検索/操作する。他の値域に分類され当該値域に対応するストレージ領域に蓄積、管理されるデータについても同様である。
図9、および図10に示されるように、ストレージ領域にデータの実体の複製を蓄積している場合は、データの実体の複製と当該データの実体が異なるストレージ領域にあるので、検索/操作するストレージ領域の競合を完全に回避できる。
一方、ストレージ領域にデータの実体の本体への参照を蓄積している場合は、データの実体の本体への参照先と当該データの実体の本体が同一のストレージ領域にある。このため、当該ストレージ領域において蓄積されている何れかのデータの実体の本体を検索/操作している場合には、検索/操作するストレージ領域の競合を回避できない。一方、当該ストレージ領域においても蓄積されている何れかのデータの実体の本体への参照を検索/操作している場合には、検索/操作するストレージ領域の競合を回避できる。また、実体の複製を蓄積するかわりに実体の本体への参照を蓄積すれば、ストレージ領域の必要量を抑制できる。
このようにして、多次元データベース管理部15は、参照した索引情報を基に、ストレージ領域に対応する値域を処理単位として、多次元キューブを構成するデータ同時並行に検索/操作する場合に、さらに検索/操作するストレージ領域の競合を回避する。
なお、図7~図10の説明において、そもそも、属するデータがないストレージ領域は処理対象から除外される。データが複数の値域に属する場合には、各値域に対応するストレージ領域に実体あるいは参照を重複して蓄積及び管理していることから、ストレージ領域の複数の組において、同じデータを検索/操作する場合がある。その結果、同じ結果が得られた場合には、重複する結果を集約する。
図11は、多次元データベース管理部15が値域の階層を選択する処理の一例を説明するための図である。図11において、多次元データベース管理部15が、参照した索引情報を基に、検索/操作するストレージ領域を特定し、値域に対応するストレージ領域を単位として、多次元キューブを構成するデータを同時並行に検索/操作する場合を考える。この場合、多次元データベース管理部15は、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いる値域について、上位の値域が下位の隣接する値域を包含する値域の階層を構築しておき、状況に応じて検索/操作の処理単位とする値域の階層を選択する。
例えば、状況として、蓄積されているデータの値に応じて選択する場合であれば、最も広いデータを包含できる広さや、主要なデータを包含できる広さの値域のレベルを選択し、データが属する値域の数を、高々、隣接する値域の数に抑制する。
最も広いデータを包含できる広さや、主要なデータを包含できる広さの値域は、データを蓄積するたびにデータを包含できる広さの値域のレベルを特定し、最大の値域のレベルや、最頻の値域のレベルを計算することで求められる。例えば、データa、bは、レベル2の値域では包含できず、レベル1の値域では包含できるために、レベル1の値域を選択する。
また、例えば、状況として、実行可能な並列度に応じて選択する場合であれば、利用可能なCPUコア数や他の処理の状況に基づいて選択し、処理能力を最大限に利用する。例えば、レベル2の値域を選択すれば、64のストレージ領域は64の値域に対応し、64が実行可能な並列度の上限になる。レベル1の値域を選択すれば、64のストレージ領域は4つに集約されて4つの値域に対応し、4が実行可能な並列度の上限になる。レベル0の値域を選択すれば、64のストレージ領域は1つに集約されて1つの値域に対応し、1が実行可能な並列度の上限になる。
実行可能な並列度は、I/Oウェイトなどを考慮すればCPUコア数より多く、他のプロセスの実行などを考慮すればCPUコア数より少ない。このため、あらかじめ設定した情報やOS(Operating System)から取得した情報を基に、実行可能な並列度を計算する。例えば、CPUコア数が4であれば、CPUコア数に値域数が最も近いレベル1の値域を選択する。
図12、図13は、多次元データベース管理部15による、冗長な処理を抑制する処理の一例を説明するための図である。図11においてレベル1の値域を選択した場合のように、検索/操作の処理単位とする値域の階層として、複数のストレージ領域に対応する値域の階層を多次元データベース管理部15が選択した場合を考える。この場合、複数のストレージ領域に重複して蓄積、管理されているデータを利用しないことにより、冗長な処理を抑制することができる。データが複数の値域に属する場合には、各値域に対応するストレージ領域に実体あるいは参照を重複して蓄積及び管理しているので、ストレージ領域の複数の組において、同じデータを検索/操作する場合がある。その結果として、同じ結果が得られる場合には重複する結果を集約する必要がある。多次元データベース管理部15は、この冗長な処理を抑制する。
図12は、図11と同様に、検索/操作の処理単位とする値域の階層として、レベル1の値域を選択した場合、レベル1の値域に包含されるレベル2の値域について、データaがレベル2の値域2に分類され対応するストレージ領域2に蓄積、管理され、データbがレベル2の値域2、3、6、7に分類され対応するストレージ領域2、3、6、7に蓄積、管理され、レベル2の値域1~16がレベル1の値域3に包含され、レベル1の値域1~4がレベル0の値域1に包含されることを示す。
図13は、図12に示される状況を表す表形式データの一例である。図11と同様に、検索/操作の処理単位とする値域の階層として、レベル1の値域を選択した場合、多次元データベース管理部15は、レベル1の値域に包含されるレベル2の値域に対応する各ストレージ領域から順にデータを読み出して処理する。例えば、レベル2の値域2に対応するストレージ領域からデータaを読み出したときに、図13の表形式のデータを検索することで、レベル2の値域2に対応するストレージ領域のみに蓄積されていることが識別できる。よって、多次元データベース管理部15は、冗長な処理を抑制するために、対になる多次元キューブのレベル2の値域2に対応するストレージ領域を検索/操作の対象にする。
また、例えば、レベル2の値域2に対応するストレージ領域からデータbを読み出したときに、図13の表形式のデータを検索することで、レベル2の値域3、6、7に対応するストレージ領域にも蓄積されていることが識別できる。よって、多次元データベース管理部15は、対になる多次元キューブのレベル2の値域2、3、6、7に対応するストレージ領域を検索/操作の対象にする。また、冗長な処理を抑制するために、多次元データベース管理部15は、図13の表形式のデータにデータbが処理済であることをマーキングし、レベル2の値域3、6、7に対応するストレージ領域からはデータbを読みださない。なお、任意の契機で、複数のストレージ領域に対応する値域の階層を選択したときのために、その階層に対応するストレージ領域に、実体の本体と、実体の複製、実体の本体への参照が蓄積されていた場合に、実体の複製と実体の本体への参照を削除し図13の表形式のデータに反映しておくことも、削除した後に、削除する前の状態にストレージ領域と図13の表形式のデータを戻すこともできる。
図14は、この発明に係るデータ分析処理装置のハードウェア構成の一例を示すブロック図である。図14において、データ分析処理装置10は、プロセッサ12、多次元データベース16を記憶するストレージ200、インタフェース部13、およびメモリ14を備える。つまりデータ分析処理装置10はコンピュータであり、例えば、パーソナルコンピュータ、あるいはサーバコンピュータ等として実現される。
インタフェース部13は、ネットワーク100に接続され、ネットワーク100に接続されたクライアント20からのアクセスを受け付ける。
ストレージ200は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の、不揮発性の記憶媒体(ブロックデバイス)である。ストレージ200は、OS(Operating System)やデバイスドライバなどの基本プログラム、およびデータ分析処理装置10の機能を実現させるためのプログラム等に加えて、所定の記憶領域に多次元データベース16を記憶する。
図14のメモリ14は、例えばRAM(Random Access Memory)であり、ストレージ200からロードされたプログラム14a、および各種のデータ14bを記憶する。
さらに、図14におけるプロセッサ12は、例えばCentral Processing Unit(CPU)やMicro Processing Unit(MPU)等の演算ユニットであり、メモリ14にロードされたプログラムにより、その機能を実現する。
ところで、プロセッサ12は、OLAP操作実行部11、および多次元データベース管理部15を、実施形態に係わる処理機能として備える。OLAP操作実行部11、多次元データベース管理部15、および時系列整列部17は、プログラム14aに含まれる命令をプロセッサ12が実行することで実現される、処理機能である。すなわち、本発明のデータ分析処理装置10はコンピュータとプログラムによっても実現できる。光学メディアなどの記録媒体にプログラムを記録して配布することに加え、ネットワークを通してプログラムを提供することも可能である。
なお、OLAP操作実行部11、および多次元データベース管理部15は、プロセッサ12に代えて、あるいはそれに加えて、ASIC(Application Specific Integrated Circuit)やFPGA(field-programmable gate array)などの集積回路を含む、他の多様な形式で、実現されても良い。
プロセッサ12は、インタフェース部13経由で、クライアント20からのOLAP操作と引数とを受信することができ、クライアント20に操作結果を送信することができる。
(効果)
以上述べたように、実施形態では、多次元データベース管理部15は、多次元キューブを構成するデータのそれぞれが多次元データである場合に、該データを多次元キューブの間で共通する多次元の値域で分類する。さらに、値域で分類したデータが単一の値域に属する場合には、多次元データベース管理部15は、当該データを値域に対応するストレージ領域に蓄積し、値域で分類したデータが複数の値域に属する場合には、各値域に対応するストレージ領域に実体あるいは参照を重複して蓄積する。
また、多次元キューブを構成する操作対象のデータの分類に用いた値域の情報を索引情報として利用する。これにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定する。また、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避する。
このようにすることで、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合や、値域で分類したデータが複数の値域に属する場合においても、単一の検索/操作を実行する場合には、検索/操作する範囲を限定するとともに、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避できる。
よって、実施形態によれば、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合や、値域で分類したデータが複数の値域に属する場合においても、処理を高速化することができる。
また、ある多次元キューブに対してOLAP操作を実行する場合に、多次元データベース管理部15は、OLAP操作の引数として他の多次元キューブを構成するデータを利用する。このとき、ある多次元キューブを構成するデータを、他の多次元キューブを構成するデータをキーとして検索/操作する場合に、多次元データベース管理部15は、多次元キューブを構成する各次元のデータ/各特性を表すデータの分類に用いる値域について、上位の値域が下位の隣接する値域を包含する値域の階層を構築しておく。また、多次元データベース管理部15は、蓄積されているデータの値や実行可能な並列度などの状況に応じて検索/操作の処理単位とする値域の階層を選択する。さらに、多次元データベース管理部15は、複数のストレージ領域に対応する値域の階層を選択した場合には、複数のストレージ領域に重複して蓄積、管理されているデータを利用しない。
このように、複数のストレージ領域に対応する値域の階層を選択した場合にも、データが複数の値域に属する場合は各値域に対応するストレージ領域に実体あるいは参照を重複して蓄積及び管理しているために、ストレージ領域の複数の組において、同じデータを検索/操作する場合がある。同じ結果が得られる場合には重複する結果を集約する必要があるが、検索/操作の処理単位内においては冗長な処理を抑制できる。
よって、複数のストレージ領域に対応する値域の階層を選択した場合にも、検索/操作の処理単位内においては冗長な処理を抑制し、高速化することができる。
従って、実施形態によれば、多次元キューブを構成するデータをキーとして他の多次元キューブを構成するデータを検索/操作する処理を高速化することができる。すなわち、実施形態によれば、多次元キューブへのOLAP操作を高速に実行できるデータ分析処理装置、データ分析処理方法、およびプログラムを提供することが可能になる。より詳しくは、実施形態によれば、OLAP操作の引数として他の多次元キューブを構成するデータを利用する場合において、ある多次元キューブを構成するデータを、他の多次元キューブを構成するデータをキーとして検索/操作する場合に、多次元キューブを構成する各次元のデータ/各特性を表すデータのそれぞれが多次元データである場合や、値域で分類したデータが複数の値域に属する場合においても、単一の検索/操作を実行する場合には、検索/操作する範囲を限定するとともに、複数の検索/操作を同時実行する場合には、さらに検索/操作するストレージ領域の競合を回避することにより、多次元キューブへのOLAP操作を高速に実行できる技術を提供することができる。
すなわち、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
10…データ分析処理装置
11…OLAP操作実行部
12…プロセッサ
13…インタフェース部
14…メモリ
14a…プログラム
14b…データ
15…多次元データベース管理部
16…多次元データベース
17…時系列整列部
20…クライアント
100…ネットワーク
200…ストレージ

Claims (7)

  1. 主題ごとに構築される多次元キューブに、実世界の事象を体現するデータを当該事象の識別子と対応付けて蓄積する多次元データベースをと、
    クライアントからの要求に応じて前記多次元キューブに対するOLAP(Online Analytical Processing)操作を実行するOLAP操作実行部と、
    前記多次元キューブにおいて、時間次元のデータと、空間次元のデータと、複数種別の固有次元のデータと、複数種別の特性を表すデータとを管理する多次元データベース管理部とを具備し、
    前記多次元データベース管理部は、前記多次元キューブを構成するデータのそれぞれが多次元データであれば、前記多次元キューブの間で共通する多次元の値域で当該多次元データを分類し
    多次元キューブを構成するデータを他の多次元キューブを構成するデータをキーとして検索/操作する場合に、前記分類に用いた値域を索引として利用することにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定するとともに、複数の検索/操作を同時並行に実行する場合には、さらに検索/操作するストレージ領域の競合を回避する、データ分析処理装置。
  2. 前記多次元データベース管理部は、前記分類されたデータが単一の値域に属する場合に、当該値域に対応するストレージ領域に前記データを蓄積する、請求項1に記載のデータ分析処理装置。
  3. 前記多次元データベース管理部は、前記分類されたデータが複数の値域に属する場合に、当該値域のそれぞれに対応するストレージ領域に前記データの実体、または当該データの参照を重複して蓄積する、請求項1に記載のデータ分析処理装置。
  4. 前記OLAP操作実行部は、前記OLAP操作の引数として、前記クライアントから指示された引数、または、他の前記多次元キューブを構成するデータの少なくともいずれかを利用する、請求項1に記載のデータ分析処理装置。
  5. 前記多次元データベース管理部は、上位の値域が下位の隣接する値域を包含する値域の階層を構築し、状況に応じて検索/操作の処理単位とする値域の階層を選択し、複数のストレージ領域に対応する値域の階層を選択した場合には、前記複数のストレージ領域に重複して蓄積及び管理されているデータを利用しない、請求項1に記載のデータ分析処理装置。
  6. コンピュータのプロセッサが、主題ごとに構築される多次元キューブに、実世界の事象を体現するデータを当該事象の識別子と対応付けて多次元データベースに蓄積する過程と、
    前記プロセッサが、クライアントからの要求に応じて前記多次元キューブに対するOLAP(Online Analytical Processing)操作を実行する過程と、
    前記プロセッサが、前記多次元キューブにおいて、時間次元のデータと、空間次元のデータと、複数種別の固有次元のデータと、複数種別の特性を表すデータとを管理する過程と、
    前記プロセッサが、前記多次元キューブを構成するデータのそれぞれが多次元データであれば、前記多次元キューブの間で共通する多次元の値域で当該多次元データを分類する過程と、
    前記プロセッサが、多次元キューブを構成するデータを他の多次元キューブを構成するデータをキーとして検索/操作する場合に、前記分類に用いた値域を索引として利用することにより、単一の検索/操作を実行する場合には、両多次元キューブの同一値域に対応するストレージ領域と、両多次元キューブの同一値域の近傍の値域に対応するストレージ領域とに、検索/操作する範囲を限定するとともに、複数の検索/操作を同時並行に実行する場合には、さらに検索/操作するストレージ領域の競合を回避する過程とを含む、データ分析処理方法
  7. コンピュータのプロセッサを、請求項1乃至5の何れかに記載のデータ分析処理装置として機能させる、プログラム
JP2022558636A 2020-10-27 2020-10-27 データ分析処理装置、データ分析処理方法、およびプログラム Active JP7464142B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/040213 WO2022091204A1 (ja) 2020-10-27 2020-10-27 データ分析処理装置、データ分析処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2022091204A1 JPWO2022091204A1 (ja) 2022-05-05
JP7464142B2 true JP7464142B2 (ja) 2024-04-09

Family

ID=81382206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022558636A Active JP7464142B2 (ja) 2020-10-27 2020-10-27 データ分析処理装置、データ分析処理方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP7464142B2 (ja)
WO (1) WO2022091204A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502466A (ja) 2003-08-12 2007-02-08 オラクル・インターナショナル・コーポレイション 次元分割による、オンライン分析処理(olap)および多次元計画アプリケーションにおける相互属性分析および操作のためのシステムならびに方法
US20070150862A1 (en) 2005-11-07 2007-06-28 Business Objects, S.A. Apparatus and method for defining report parts
JP2016518646A (ja) 2013-03-15 2016-06-23 デシジョン, インク. 次元データによってデータ測定値にマッピングされた文脈オブジェクトを生成するためのシステム、装置、及び方法
JP2018136963A (ja) 2014-11-19 2018-08-30 株式会社インフォメックス データ検索装置、データ検索方法、データ検索プログラム、及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502466A (ja) 2003-08-12 2007-02-08 オラクル・インターナショナル・コーポレイション 次元分割による、オンライン分析処理(olap)および多次元計画アプリケーションにおける相互属性分析および操作のためのシステムならびに方法
US20070150862A1 (en) 2005-11-07 2007-06-28 Business Objects, S.A. Apparatus and method for defining report parts
JP2016518646A (ja) 2013-03-15 2016-06-23 デシジョン, インク. 次元データによってデータ測定値にマッピングされた文脈オブジェクトを生成するためのシステム、装置、及び方法
JP2018136963A (ja) 2014-11-19 2018-08-30 株式会社インフォメックス データ検索装置、データ検索方法、データ検索プログラム、及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
八木 哲,実世界事象を対象とする多次元データ分析システムの構想,情報処理学会 研究報告 情報基礎とアクセス技術(IFAT),日本,情報処理学会,2019年09月03日,p.1-6

Also Published As

Publication number Publication date
WO2022091204A1 (ja) 2022-05-05
JPWO2022091204A1 (ja) 2022-05-05

Similar Documents

Publication Publication Date Title
US12056583B2 (en) Target variable distribution-based acceptance of machine learning test data sets
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
CN108140040A (zh) 存储器中数据库的选择性数据压缩
Jiang et al. Holistic primary key and foreign key detection
US9389913B2 (en) Resource assignment for jobs in a system having a processing pipeline that satisfies a data freshness query constraint
WO2016107497A1 (en) Method and apparatus for scalable sorting of data set
Li et al. ASLM: Adaptive single layer model for learned index
Hu et al. Towards big linked data: a large-scale, distributed semantic data storage
US10599614B1 (en) Intersection-based dynamic blocking
CN108804556A (zh) 基于时间旅行和时态聚合查询的分布式处理框架系统
US20200218705A1 (en) System and method of managing indexing for search index partitions
Mesmoudi et al. Benchmarking SQL on MapReduce systems using large astronomy databases
JP7464142B2 (ja) データ分析処理装置、データ分析処理方法、およびプログラム
Olafsson et al. Dynamic behavior of balanced NV-trees
Wang et al. Turbo: Dynamic and decentralized global analytics via machine learning
Shaabani et al. Incrementally updating unary inclusion dependencies in dynamic data
CN108664662A (zh) 时间旅行和时态聚合查询处理方法
TW201837750A (zh) 電腦化方法及使用元合併及/或元分組的索引的電腦化系統
JP7211255B2 (ja) 検索処理プログラム、検索処理方法及び情報処理装置
Topcu Evaluating Riak Key Value Cluster for Big Data
NR et al. MapReduce‐based storage and indexing for big health data
Salah et al. Optimizing the data-process relationship for fast mining of frequent itemsets in mapreduce
JP7505572B2 (ja) データ分析処理装置、データ分析処理方法、およびプログラム
Grigoriev et al. Efficiency Analysis of the access method with the cascading Bloom filter to the data warehouse on the parallel computing platform
Jones et al. Data aware caching using MapReduce framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240311

R150 Certificate of patent or registration of utility model

Ref document number: 7464142

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150