JP2001022621A - Multidimensional database management system - Google Patents

Multidimensional database management system

Info

Publication number
JP2001022621A
JP2001022621A JP11194984A JP19498499A JP2001022621A JP 2001022621 A JP2001022621 A JP 2001022621A JP 11194984 A JP11194984 A JP 11194984A JP 19498499 A JP19498499 A JP 19498499A JP 2001022621 A JP2001022621 A JP 2001022621A
Authority
JP
Japan
Prior art keywords
data
dimension
processing
divided
cells
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.)
Pending
Application number
JP11194984A
Other languages
Japanese (ja)
Inventor
Naoki Matsuo
直樹 松尾
Akinori Ono
晃範 小野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11194984A priority Critical patent/JP2001022621A/en
Publication of JP2001022621A publication Critical patent/JP2001022621A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain the high speed aggregate calculation and slice processing of multidimensional data by providing a data dividing method paying attention to plural dimensions in a multidimensional database management system for storing data while being divided into plural files. SOLUTION: As for data read by input data scan processing of a node 201 of this system, a coordinate value is allocated to an effective cell by converting processing, the information of a coordinate, where the effective cell exists, is generated and the generated information of the coordinate, where the effective cell exists, is transmitted to data merging processing of an input data analytic processing node 202 by sending processing. In data merging processing, the number of effective cells on each dimension is adjusted so as to be equally distributed as a result dividing the width of division with the number of effective cells on each dimension, and data are divided into plural blocks. The block is allocated so that the number of effective cells in each storage area can be almost equal. Cells in a close distance are to be entered into the same file as much as possible.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、データベース管理
システムに係り、特に、多次元データの分割処理際し
て、多次元データを高速に集約計算してスライス処理
し、データ格納処理を行うデータベース管理システムに
関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database management system, and more particularly to a database management system for performing high-speed aggregation calculation of multi-dimensional data, slicing processing, and data storage processing in multi-dimensional data division processing. About the system.

【0002】[0002]

【従来の技術】一般に、リレーショナルデータベース管
理システムは、並列処理のためのデータの割り振りに、
ハッシュ分割やレンジ分割などが用いられている。この
種の技術として、“DeWitt,D.,et al.,‘The Gamma Dat
abase Machine Project',IEEETransactions on Knowled
ge and Data Engineering, vol.2,no.1,pp.44-63,199
0”に記載されたものが知られている。
2. Description of the Related Art Generally, a relational database management system allocates data for parallel processing by:
Hash partitioning and range partitioning are used. As this type of technology, “DeWitt, D., et al., 'The Gamma Dat
abase Machine Project ', IEEETransactions on Knowled
ge and Data Engineering, vol.2, no.1, pp.44-63,199
Those described in "0" are known.

【0003】多次元データベースを並列処理するには、
データを分割する必要がある。そして、データを分割す
る技術として、ハッシュ分割やレンジ分割と呼ばれる方
法が知られている。ハッシュ分割やレンジ分割による分
割方法は、1個の次元に着目してデータを分割するもの
で、複数の次元のデータを分割することに関する配慮が
なされていない。このため、ハッシュ分割やレンジ分割
による分割方法により多次元データを分割すると、考慮
されてない次元が出てくるため、その次元に対して集約
計算やスライス処理などを実行する場合に、大きなオー
バヘッドが発生する可能性が高い。
To process a multidimensional database in parallel,
You need to split the data. As a technique for dividing data, a method called hash division or range division is known. The division method based on hash division or range division divides data by focusing on one dimension, and does not consider dividing data of a plurality of dimensions. For this reason, if multidimensional data is divided by a division method based on hash division or range division, dimensions that are not taken into account appear, and a large overhead is required when performing an aggregation calculation or slicing processing on the dimensions. Highly likely to occur.

【0004】また、多次元データ検索に向いたデータの
格納方式として、計算機言語の配列データのメモリ配置
方式にならい、データを次元座標の入れ子順に線形配置
する方法や、多次元データを有効な値を持つデータが粗
に分布する部分の部分空間と密に分布する部分の部分空
間との直積に分けられると仮定し、空でない部分空間に
ついてのみ記憶領域を割り当て、さらに、ポインタ配列
を前述の部分空間に対して適用して、配列中のポインタ
から前記記憶領域をポイントする方法(例えば、米国特
許第5359724号明細書)が知られている。
Further, as a data storage method suitable for multidimensional data retrieval, a method of linearly arranging data in the order of nesting of dimensional coordinates, a method of linearly arranging data in accordance with a memory arrangement method of array data of a computer language, and a method of storing effective values Is assumed to be divided into a direct product of a subspace of a coarsely distributed part and a subspace of a densely distributed part, a storage area is allocated only to a non-empty subspace, and further, the pointer array is changed to the part described above. There is known a method applied to space to point the storage area from a pointer in an array (for example, US Pat. No. 5,359,724).

【0005】しかし、前述したように、単純に次元の入
れ子順にデータを配置するだけでは、データを格納した
ページを決定するページアドレッシングをデータの多次
元座標の計算で処理できるというメリットがある反面、
データ分布により発生する有効データの粗密に対応した
圧縮が効かない、データ空間で隣接するデータ同士の物
理的な配置距離が次元方向によって大きく偏る、すなわ
ち、クラスタリングに偏りが発生するなどの問題を生じ
る。また、前述の米国特許明細書に記載の方法は、デー
タ分布の粗密に関する識別が明確でなければならないと
いう問題点を有している。
However, as described above, simply arranging data in the nested order of dimensions has the advantage that page addressing for determining the page storing the data can be processed by calculating multidimensional coordinates of the data.
There is a problem that compression corresponding to the density of valid data generated due to data distribution is not effective, and the physical arrangement distance between adjacent data in the data space is largely biased depending on the dimensional direction, that is, clustering is biased. . In addition, the method described in the above-mentioned U.S. Patent Specification has a problem that the identification regarding the density of the data distribution must be clear.

【0006】[0006]

【発明が解決しようとする課題】従来技術によるデータ
ベース管理システムは、高速化の手法の1つとして並列
化が挙げられる。この種のデータベース管理システム
は、多次元データベースを並列処理するためデータを分
割する必要があるが、多次元データをハッシュ分割やレ
ンジ分割で分割する方法を用いると、前述したように、
考慮されてない次元が出てくるため、その次元に対して
集約計算やスライス処理などを実行する場合に、大きな
オーバヘッドが発生する可能性が高いという問題点を生
じる。
In a database management system according to the prior art, parallelization is one of the techniques for increasing the speed. This type of database management system needs to divide the data in order to process the multidimensional database in parallel, but if the method of dividing the multidimensional data by hash division or range division is used, as described above,
Since a dimension that is not taken into account appears, there is a problem that a large overhead is likely to occur when performing an aggregation calculation or a slicing process on the dimension.

【0007】本発明の目的は、前述した従来技術の問題
点を解決し、多次元データベースへデータを格納する格
納領域のそれぞれに対して均等に近いデータ分散を実現
し、集約計算やスライス処理などで負荷分散を図り、ま
た、集約計算等においても各次元上で近い距離にあるデ
ータが同じ格納領域内に存在することを多して、並列処
理の速度を高め、計算速度の向上を図ることができる多
次元データベース管理システムを提供することにある。
[0007] An object of the present invention is to solve the above-mentioned problems of the prior art, realize nearly uniform data distribution for each storage area for storing data in a multidimensional database, and perform aggregation calculation, slice processing, and the like. In order to balance the load, and to increase the speed of parallel processing and improve the calculation speed by increasing the possibility that data at close distances in each dimension exist in the same storage area even in aggregate calculation etc. It is an object of the present invention to provide a multidimensional database management system capable of performing the above.

【0008】[0008]

【課題を解決するための手段】本発明によれば前記目的
は、複数の次元のそれぞれに対応付けられるメンバの組
み合わせにより識別されるデータを格納管理する多次元
データベース管理システムにおいて、データベースを処
理するための1または複数の処理ノードを備え、該処理
ノードが、前記複数の次元の各次元のメンバのそれぞれ
に一連の座標値を割り当て、次元メンバの座標値の組
を、その組に含まれるデータのセル座標とし、多次元デ
ータベースの格納領域数に応じて、各次元を有効セル数
が均等になるよう分割し、これにより有効セルを含む1
個または複数個のブロックを作成し、これらのブロック
をデータ格納領域に配置するように多次元データベース
を分割することにより達成される。
According to the present invention, there is provided a multi-dimensional database management system for storing and managing data identified by a combination of members associated with a plurality of dimensions. And one or more processing nodes for assigning a series of coordinate values to each of the members of each of the plurality of dimensions, and defining a set of coordinate values of the dimension members as data included in the set. , And divides each dimension according to the number of storage areas of the multidimensional database so that the number of effective cells is equal.
This is achieved by creating one or more blocks and dividing the multidimensional database such that these blocks are arranged in the data storage area.

【0009】また、前記目的は、前記次元毎のメンバ数
の多い次元について、大きい分割数により分割し、メン
バ数の少ない次元について、少ない分割数により分割す
ることにより、また、多次元データベースの格納領域の
数が多い場合、前記分割ブロック数が多くなるように分
割し、前記格納領域数が少ない場合、分割ブロック数が
少なくなるように分割することにより達成される。
The object is to divide a dimension having a large number of members for each dimension by a large number of divisions and divide a dimension having a small number of members by a small number of divisions, and to store a multidimensional database. When the number of areas is large, division is performed so that the number of divided blocks is large, and when the number of storage areas is small, division is performed such that the number of divided blocks is small.

【0010】さらに、前記目的は、前記の分割されたブ
ロックのそれぞれに、各次元上での座標値を割り当て、
次元上のブロックの座標値の組をそれぞれのブロックの
ブロック座標として各ブロックを一意に特定し、1個ま
たは複数個のブロックの組みを格納領域上に配置し、各
格納領域に配布される有効セル数の合計を計算し、格納
領域の間でこの合計値の最大値と最小値との差が最小と
なるブロックの組み合わせを各格納領域上に配置するこ
とにより、また、前記の分割されたブロックの各次元上
の同一分割範囲にあるブロックが異なる格納領域に配置
されることにより達成される。
Further, the object is to assign a coordinate value on each dimension to each of the divided blocks,
Each block is uniquely specified by using a set of coordinate values of a block on a dimension as block coordinates of each block, and one or a plurality of sets of blocks are arranged on a storage area, and distributed to each storage area. By calculating the total number of cells and arranging, on each storage area, a combination of blocks in which the difference between the maximum value and the minimum value of the total value among the storage areas is the minimum, This is achieved by arranging blocks in the same division range on each dimension of the block in different storage areas.

【0011】さらに、詳細に言えば、本発明は、複数の
次元のメンバの組み合わせで識別されるデータを記憶
し、該データに関する問い合わせ要求を処理するデータ
ベース管理システムにおいて、格納対象のデータを解析
する際に、入力したデータに各次元のメンバに応じて座
標値を割り付け、有効セルの存在する座標を記憶し、有
効セルの存在する座標の情報を格納する。これにより得
られる有効セルの存在する座標の情報は、以下に説明す
るデータを解析するために必須である。
More specifically, the present invention analyzes data to be stored in a database management system that stores data identified by a combination of members of a plurality of dimensions and processes an inquiry request regarding the data. At this time, coordinate values are assigned to the input data according to the members of each dimension, the coordinates where valid cells are present are stored, and information on the coordinates where valid cells are present is stored. The information on the coordinates where the effective cells are obtained obtained in this way is essential for analyzing the data described below.

【0012】データを解析は、前記の各次元の有効セル
の存在する座標の情報から各メンバ毎の有効セル数を計
算し、各メンバの有効セル数を足し込んで行き有効セル
数が均等に近づくよう各次元を分割し、多次元データベ
ース上に1個または複数個のブロックを作成して、この
分割した結果を格納するものである。これにより、格納
領域に均等にデータを分配するための格納単位となるブ
ロックが得られる。このブロックは、以下に説明する組
み合わせの計算において必要となる。
In analyzing the data, the number of effective cells for each member is calculated from the information on the coordinates where the effective cells of each dimension exist, and the number of effective cells of each member is added to make the number of effective cells uniform. Each dimension is divided so as to approach each other, one or a plurality of blocks are created on a multidimensional database, and the result of the division is stored. As a result, a block as a storage unit for evenly distributing data to the storage area is obtained. This block is required for the combination calculation described below.

【0013】本発明は、1つまたは複数のCPUと1つ
または複数の並列読み出し可能な記憶装置を含む処理ノ
ードを有し、この処理ノードは、複数の次元のメンバの
組み合わせにより識別される格納対象のデータを解析す
るに際し、前記分割の結果作成されたブロックを組み合
わせてファイルなどの格納領域の数だけ集合を作成し、
ブロックの組み合わせを変えて各集合毎の有効セル数の
和を計算し、各々の集合に含まれる有効セル数が均等に
近づくよう組み合わせを変えて試算し、ユーザ指定も可
能な閾値を下回る差の範囲内で均等性を確保し、この組
み合わせの計算の結果を格納するする。これにより、格
納領域に均等に有効セルを分配でき、並列処理時の負荷
分散を行うことができる。
The present invention has a processing node that includes one or more CPUs and one or more parallel readable storage devices, where the processing nodes are identified by a combination of multiple dimension members. When analyzing the target data, create sets as many as the number of storage areas such as files by combining the blocks created as a result of the division,
Calculate the sum of the number of valid cells for each set by changing the combination of blocks, change the combination so that the number of valid cells included in each set approaches evenly, and make a trial calculation. The uniformity is ensured within the range, and the result of the calculation of this combination is stored. As a result, valid cells can be evenly distributed to the storage areas, and load distribution during parallel processing can be performed.

【0014】また、この処理ノードは、複数の次元のメ
ンバの組み合わせにより識別される格納対象のデータを
記憶装置に格納する際、前述のの組み合わせ計算の結果
を使用して得られる集合をファイルなどの格納領域の存
在する異なる記憶装置へ格納する。これにより、実際に
データを格納領域へ配置することができる。
The processing node, when storing data to be stored identified by a combination of a plurality of dimension members in a storage device, stores a set obtained by using the result of the above-described combination calculation in a file or the like. Is stored in a different storage device in which the storage area exists. Thereby, data can be actually arranged in the storage area.

【0015】[0015]

【発明の実施の形態】以下、本発明によるデータベース
管理システムの一実施形態を図面により詳細に説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of a database management system according to the present invention will be described below in detail with reference to the drawings.

【0016】図1は商品、地区、売り上げの3つの次元
を持つ多次元データの例を説明する図、図2は本発明の
一実施形態によるデータベース管理システムのデータ解
析処理の構成を示すブロック図、図3は図1に示す多次
元データを次元Aにのみ着目して分割したときの有効セ
ル数の分布を説明する図、図4は図1に示す多次元デー
タを次元A及び次元Bに関して分割した例を説明する
図、図5は図4に示す分割された多次元データの各ブロ
ックに座標の割り振りを説明する図、図6は本発明の一
実施形態によるデータベース管理システムのデータ格納
処理の構成を示すブロック図、図7はデータ解析処理の
処理動作を説明するフローチャート、図8はデータ格納
処理の処理動作を説明するフローチャート、図9はデー
タ解析処理で、各次元のメンバを計算機で使用可能な座
標値に変換するためのテーブルの構成例を示す図、図1
0はデータ解析処理で、有効セルの存在する座標を表現
するためのテーブルの例を示す図、図11は本発明の一
実施形態によるデータベース管理システムの辞書定義機
能処理の構成を示すブロック図、図12は次元構成情報
の例を説明する図である。図2、図6において、201
は入力データ読み込み処理ノード、202は入力データ
解析処理ノード、601は入力データ読み込み分配処理
ノード、602は多次元データ格納処理ノードである。
FIG. 1 is a diagram for explaining an example of multi-dimensional data having three dimensions of goods, districts, and sales. FIG. 2 is a block diagram showing a configuration of a data analysis process of a database management system according to an embodiment of the present invention. FIG. 3 is a diagram for explaining the distribution of the number of effective cells when the multidimensional data shown in FIG. 1 is divided by focusing only on dimension A. FIG. 4 is a diagram showing the multidimensional data shown in FIG. FIG. 5 is a diagram illustrating an example of division, FIG. 5 is a diagram illustrating allocation of coordinates to each block of the divided multidimensional data shown in FIG. 4, and FIG. 6 is a data storage process of a database management system according to an embodiment of the present invention. FIG. 7 is a flowchart for explaining a processing operation of a data analysis process, FIG. 8 is a flowchart for explaining a processing operation of a data storage process, and FIG. 9 is a data analysis process. Diagram illustrating a configuration example of a table for converting the members to coordinate values available in computer, FIG. 1
0 is a diagram illustrating an example of a table for expressing coordinates where valid cells are present in data analysis processing, FIG. 11 is a block diagram illustrating a configuration of dictionary definition function processing of a database management system according to an embodiment of the present invention, FIG. 12 is a diagram illustrating an example of the dimension configuration information. 2 and 6, 201
Denotes an input data read processing node, 202 denotes an input data analysis processing node, 601 denotes an input data read / distribution processing node, and 602 denotes a multidimensional data storage processing node.

【0017】本発明の実施形態の説明のための例とし
て、図1に示すような多次元データベースの例について
説明する。いま、多次元データベースMが、図1に示す
ように、次元A、Bより構成されるているものとする。
そして、次元Aを商品別の次元、次元Bを地区別の次元
とする。また、図1の黒点は有効セルを表している。セ
ルの値としては売上高を想定する。すなわち、データベ
ースMは、商品別、地区別の売上高のデータを格納する
ものであるとする。
As an example for explaining the embodiment of the present invention, an example of a multidimensional database as shown in FIG. 1 will be described. Now, it is assumed that the multidimensional database M includes dimensions A and B as shown in FIG.
Dimension A is a product-specific dimension, and dimension B is a district-specific dimension. The black dots in FIG. 1 represent valid cells. The sales value is assumed as the value of the cell. That is, it is assumed that the database M stores sales data for each product and each district.

【0018】本発明の一実施形態による多次元データベ
ースを管理するデータベース管理システムは、内部的に
データ解析処理とデータ格納処理との2つの処理フェー
ズを持つ。そして、本発明の一実施形態によるデータベ
ース管理システムは、図2に示すように、入力データを
読み込む処理を担当する入力データ読み込み処理ノード
201と、読み込んだデータを1個所に集めてマージす
る処理を行い、また、集めたデータの解析処理を行う入
力データ解析処理ノード202とによるデータ解析処理
を行う処理ブロックを備えている。
A database management system for managing a multidimensional database according to an embodiment of the present invention internally has two processing phases of data analysis processing and data storage processing. Then, as shown in FIG. 2, the database management system according to the embodiment of the present invention includes an input data read processing node 201 responsible for processing for reading input data, and a processing for collecting and merging read data in one place. And a processing block for performing a data analysis process with an input data analysis processing node 202 for analyzing the collected data.

【0019】なお、前述の処理ノード201、202
は、1つまたは複数のCPUと1つまたは複数の並列読
み出し可能な記憶装置を含んで構成されている。また、
後述する処理ノード601、602も同様に構成されて
いる。
The processing nodes 201 and 202 described above
Is configured to include one or a plurality of CPUs and one or a plurality of parallel readable storage devices. Also,
Processing nodes 601 and 602 described later have the same configuration.

【0020】図2において、入力データを読み込む処理
を担当する入力データ読み込み処理ノード201は、シ
ステムに1個または複数個存在し、また、ノード201
で読んだデータを1個所に集めてマージする処理を行
い、集めたデータの解析処理を行うノード202は、シ
ステムに1個存在する。読み込みとデータ併合を行うノ
ード201、202は、同一のノードとして構成てもよ
い。
In FIG. 2, one or more input data read processing nodes 201 responsible for processing of reading input data exist in the system.
There is one node 202 in the system that performs a process of collecting and merging the data read in step 1 and merging the data and analyzing the collected data. The nodes 201 and 202 that perform reading and data merging may be configured as the same node.

【0021】処理ノード201は、入力データスキャン
処理と、変換処理と、送付処理とにより構成される。入
力データスキャン処理は、ファイルなどから入力データ
を読み込み、変換処理は、入力データスキャン処理によ
り得られるデータに対して、有効セルに座標値を割り付
ける処理を行う。このとき、事前に各次元に関して各メ
ンバに座標値が対応している必要がある。但し、一般
に、次元のメンバは、自然言語や商品に付加したコード
番号などであることが多い。従って、自然言語や商品に
付加したコード番号を計算機で各次元上の座標値として
使用可能なIDとして変換する必要があり、変換処理
は、入力データの次元上でメンバを座標IDに変換する
処理を行う。
The processing node 201 includes an input data scanning process, a conversion process, and a sending process. The input data scanning process reads input data from a file or the like, and the conversion process performs a process of assigning coordinate values to valid cells to data obtained by the input data scanning process. At this time, it is necessary that a coordinate value corresponds to each member for each dimension in advance. However, in general, the dimension members are often a natural language, a code number added to a product, or the like. Therefore, it is necessary to convert a code number added to a natural language or a product into an ID that can be used as a coordinate value on each dimension by a computer. The conversion process is a process of converting a member to a coordinate ID on the dimension of input data. I do.

【0022】前述した入力データの次元上でメンバを座
標IDに変換する処理を行うための情報は、図9に示す
ような、メンバ名称座標IDテーブル上に格納されて備
えられる。このメンバ名称座標IDテーブルは、データ
解析処理の前に辞書定義機能により作成される。辞書定
義機能に関しては後述する。変換処理は、入力データの
次元上でのメンバを座標IDへ変換する処理を行うが、図
9に示すテーブルの例では、例えば、「スタビライザ
ー」と言う商品次元上のメンバであれば、座標IDを
“0003”に変換する。そして、各次元メンバの座標値の
直積を取り、多次元データベース上の多次元空間の座標
を各セルに割り振り、有効セルの存在する座標を記憶す
る。
Information for performing the process of converting a member into a coordinate ID on the dimension of the input data described above is stored and provided in a member name coordinate ID table as shown in FIG. This member name coordinate ID table is created by the dictionary definition function before the data analysis processing. The dictionary definition function will be described later. The conversion process is a process of converting a member on the dimension of the input data into a coordinate ID. In the example of the table shown in FIG. 9, for example, if a member on the product dimension called “stabilizer” is used, a coordinate ID is used. Is converted to “0003”. Then, the direct product of the coordinate values of each dimension member is obtained, the coordinates of the multidimensional space on the multidimensional database are allocated to each cell, and the coordinates where the valid cell exists are stored.

【0023】有効セルの座標を記憶する方法としては、
ビットマップの作成による方法がある。ビットマップ
は、記憶装置上の1ビットをセルに対応させ、そのビッ
トのonまたはoff により、対応セルが有効セルか有効セ
ルでないかを表す。このビットマップは、計算機の上で
は各軸を入れ子にしたテーブルの構造を取る。このビッ
トマップの例を図10に示している。図10に示すビッ
トマップの例は、図9に示す商品軸と地区軸とで構成さ
れ、商品が売れた地区がon、売れていない地区がoff と
して示される。計算機の上において、ビットマップ上の
onとoff とは1ビットで表現されるため、ビットマップ
は、入力データに比べて数桁小さなサイズのデータにな
る。
As a method of storing the coordinates of the effective cell,
There is a method by creating a bitmap. The bit map associates one bit on the storage device with a cell, and indicates whether the corresponding cell is a valid cell or not a valid cell by turning on or off the bit. This bitmap has a table structure in which each axis is nested on a computer. FIG. 10 shows an example of this bitmap. The example of the bitmap shown in FIG. 10 is composed of the product axis and the area axis shown in FIG. On the calculator, on the bitmap
Since on and off are represented by 1 bit, the bit map has data several orders of magnitude smaller than the input data.

【0024】送付処理は、前述のようにして変換処理に
より記憶装置上に作成されたビットマップにおける有効
セルの存在する座標の情報をノード202のデータ併合
処理へ送る。有効セルの存在する座標の情報は元々の入
力データに比べて小さなサイズであるため、送信時のネ
ットワークや計算機本体への負荷を軽減することができ
る。
In the sending process, the information of the coordinates where the valid cell exists in the bit map created on the storage device by the conversion process as described above is sent to the data merging process of the node 202. Since the information of the coordinates where the valid cell exists is smaller in size than the original input data, the load on the network and the computer main body at the time of transmission can be reduced.

【0025】ノード202は、データ併合処理と、デー
タ解析処理とにより構成され、処理ノード201から有
効セルが存在する座標の情報を受け取る。そして、デー
タ併合処理は、受け取った有効セルの存在する座標の情
報をマージし、全入力データに関する有効セルの存在す
る座標の情報を記憶装置上に作成し、マージ情報として
格納する。また、データ併合処理は、マージの処理を行
いながら有効セルの件数をカウントする。この結果作成
されるマージ情報は、図10の有効セルの存在する座標
の情報と形式的には同一のものとなる。データ併合処理
は、前述のようにして作成したマージ情報と有効セルの
総数とをデータ解析処理へ渡す。
The node 202 is composed of a data merging process and a data analysis process, and receives information on coordinates at which valid cells exist from the processing node 201. Then, in the data merging process, the received information on the coordinates where the valid cells are present is merged, the information on the coordinates where the valid cells are present for all the input data is created on a storage device, and stored as merge information. In the data merging process, the number of valid cells is counted while performing the merging process. The merge information created as a result is formally the same as the information on the coordinates where the valid cells exist in FIG. In the data merging process, the merge information created as described above and the total number of valid cells are passed to the data analyzing process.

【0026】本発明の実施形態の説明のための例とし
て、図1によりすでに説明した多次元データベースの例
を用いるが、データ併合処理から有効セルの存在する座
標の情報を受け取った解析処理は、各次元に関してどの
メンバで分割を行うのか決定する。これに先立ち、どの
次元に関して分割を行うかが決定されていなければなら
ない。どの次元で分割を行うかは、システムの利用者が
データ解析処理の開始時に入力パラメタなどで指定する
ものとする。以下では、まず、説明の簡単化のため、1
次元のみに関する分割について説明する。
As an example for explaining the embodiment of the present invention, the example of the multi-dimensional database already described with reference to FIG. 1 will be used. Decide which members to divide for each dimension. Prior to this, it has to be determined for which dimension the division is to be performed. The dimension at which the division is to be performed is specified by an input parameter or the like at the start of the data analysis process by the user of the system. In the following, first, for simplicity of explanation, 1
The division regarding only the dimension will be described.

【0027】いま、システムの利用者が図1に示すデー
タベースの次元Aに関して分割を行う指定をしものとす
る。この場合、システムは、前述した有効セルの総数を
後述する方法により決定する分割数で割り、分割の結果
作成されるセルの集まりであるブロックに含まれる有効
セル数が均等となる値である平均セル数を算出する。し
かし、一般に、メンバ上には複数の有効セルが存在する
ため、必ずしも完全に平均セル数に合致するメンバが存
在するとは限らない。そこで、システムは、最も平均セ
ル数に近づくメンバをメンバ上の有効セル数を加算して
行くことで探し出す。すなわち、システムは、各メンバ
上の有効セル数を、有効セルの存在する座標の情報を参
照し、有効セルの存在する座標の情報の次元の入れ子の
順番と各次元のメンバ数とから必要なメンバに対応する
ビット位置を計算して、onになっているビット数を合計
することにより算出する。
Now, it is assumed that the user of the system designates that the division is performed with respect to the dimension A of the database shown in FIG. In this case, the system divides the total number of valid cells by the number of divisions determined by a method to be described later, and calculates an average value by which the number of valid cells included in a block that is a group of cells created as a result of the division becomes equal. Calculate the number of cells. However, in general, since a plurality of valid cells exist on a member, there is not always a member that completely matches the average number of cells. Therefore, the system finds the member that approaches the average number of cells by adding the number of effective cells on the member. That is, the system determines the number of valid cells on each member by referring to information on the coordinates where valid cells exist, and from the nesting order of the dimensions of the information on the coordinates where valid cells exist and the number of members in each dimension. Calculate by calculating the bit position corresponding to the member and summing the number of bits that are on.

【0028】図1に示す多次元データを次元Aにのみ着
目して分割したときの有効セル数の分布を図3に示して
いる。この図3において、システムは、商品a0から有効
セル数を加算して行き、前述した平均セル数に最も近づ
くメンバを探す。図3に示す例では、商品a1がこの平均
セル数に最も近づくメンバである。システムは、同様の
操作を商品a1以降のメンバにも繰り返し、商品a2、a3を
計算の結果として探し出す。各メンバの有効セル数は、
前述した有効セルの存在する座標の情報から求めること
ができる。有効セルが存在する座標の情報は、各次元の
入れ子の構造であるので、各次元の各メンバが一定の規
則に従って並んでいるため、各次元の各メンバのセルが
有効であるか無効であるかを示すビットは、計算により
そのアドレスを求めることができる。システムは、これ
により、有効ビットを全て数え上げることができる。
FIG. 3 shows the distribution of the number of effective cells when the multidimensional data shown in FIG. 1 is divided by focusing only on dimension A. In FIG. 3, the system adds the number of valid cells from the product a0 and searches for a member that comes closest to the above-described average cell number. In the example shown in FIG. 3, the product a1 is the member closest to this average cell number. The system repeats the same operation for members after the product a1, and searches for products a2 and a3 as a result of the calculation. The number of valid cells for each member is
It can be obtained from the information on the coordinates where the valid cells exist. The information of the coordinates where the valid cells are present has a nested structure in each dimension, and since the members of each dimension are arranged according to a certain rule, the cell of each member of each dimension is valid or invalid. The bit indicating whether or not the address can be obtained by calculation. This allows the system to count all valid bits.

【0029】図3に示す例は、分割数を4としている
が、この各次元上の分割数は、システムが以下に示す式
1、2により算出するもの、あるいは、システム利用者
の指定を許すものとする。但し、式1における格納領域
数は、全ノード上の格納領域の総和である。また、式2
は、複数個の次元に関して分割を行う場合に適用する。
しかし、一般に、式1、2を満たす分割数の組み合わせ
は複数通り存在する。システムは、これらの組み合わせ
をとり尽くして計算し、この結果の中から1通りを選択
する。どの計算結果を選択するかは後述する。 0 ≦ 各次元の分割数 ≦ 格納領域数 ……(式1) 各次元の分割数の割合 = 各次元のメンバ数の対数の割合 ……(式2)
In the example shown in FIG. 3, the number of divisions is four, but the number of divisions in each dimension is calculated by the system according to the following equations 1 and 2, or the system user can be specified. Shall be. However, the number of storage areas in Equation 1 is the sum of the storage areas on all nodes. Equation 2
Is applied when division is performed on a plurality of dimensions.
However, in general, there are a plurality of combinations of the number of divisions that satisfy Expressions 1 and 2. The system calculates by exhausting these combinations and selects one of the results. Which calculation result is selected will be described later. 0 ≤ number of divisions in each dimension ≤ number of storage areas ... (Equation 1) Ratio of the number of divisions in each dimension = ratio of logarithm of the number of members in each dimension ... (Equation 2)

【0030】次に、図1に示す多次元データベースを、
2個の次元に関して分割を行う場合について説明する。
システムの利用者が、次元A及び次元Bに関して分割を
要求した場合、次元Bに関しても前述と同様にして分割
を行う。この場合、次元Bにおいても次元Aと同様に平
均セル数を計算し、地区b0から有効セル数の加算を繰り
返し、分割点を求めて分割を行う。図4に示すb1とb2と
は、この分割点を図1に示す多次元データベースに表記
したものである。また、この図4には、前述で説明した
次元A分割点a2、a3も示している。
Next, the multidimensional database shown in FIG.
A case where division is performed on two dimensions will be described.
When the user of the system requests division for dimension A and dimension B, division is performed for dimension B in the same manner as described above. In this case, the average number of cells is calculated for dimension B as well as dimension A, and the addition of the number of valid cells is repeated from area b0 to obtain a division point and perform division. B1 and b2 shown in FIG. 4 represent these division points in the multidimensional database shown in FIG. FIG. 4 also shows the dimension A division points a2 and a3 described above.

【0031】また、多次元データベースのスキーマを定
義する際、集約計算のためのスキーマ定義がなされてい
れば、現在格納を行っているデータベースの各次元のメ
ンバが、集約の結果のどのメンバに入るかを、システム
は予め知ることができる。この機能は、既存の多次元デ
ータベースの製品で実現されているため、詳細な説明を
省略する。システムは、現在格納している多次元データ
ベースと集約計算に使われるスキーマにおける各次元の
各メンバの対応関係とから集約計算により1階層上で同
一のメンバに集約される端の部分を判定することがで
き、この1階層上で同一のメンバに集約される端の部分
を分割箇所にすることにより、集約処理を同じ処理ノー
ド内で実行することができるため高速な演算を実現でき
る。
When a schema of a multidimensional database is defined, if a schema for aggregate calculation has been defined, the members of each dimension of the currently stored database are included in any member of the result of aggregation. The system can know in advance. Since this function is realized by existing multidimensional database products, detailed description will be omitted. The system determines, from the currently stored multidimensional database and the correspondence relationship between each member of each dimension in the schema used for the aggregation calculation, the end portion to be aggregated into the same member on one layer by the aggregation calculation. By using the end portion that is aggregated into the same member on this one layer as a division point, the aggregation process can be executed in the same processing node, so that a high-speed operation can be realized.

【0032】システムは、前述した併合処理で得られた
有効セル数の総数に基づいて、各次元の分割数を計算す
る。この計算には、前述の計算式(1)、(2)が使用
され、複数の分割数の組み合わせを得る。システムは、
これらの分割数の組み合わせの中から、分割によって作
成されるブロック数が最も少ないものから順に採用を試
みる。どの分割数の組み合わせを採用するかは、分割対
象の各次元に対して分割した場合を試算し、各次元上で
の分割によって作成される次元上の区間内の有効セル数
の最大値と最小値との差が一定値以下であるかを判定し
て決定される。
The system calculates the number of divisions in each dimension based on the total number of valid cells obtained by the above-described merging process. In this calculation, the above-described calculation formulas (1) and (2) are used, and a combination of a plurality of division numbers is obtained. the system,
From the combinations of the numbers of divisions, an attempt is made to adopt the blocks in the order of the smallest number of blocks created by the division. The combination of the number of divisions to be adopted is estimated based on the case of division for each dimension to be divided, and the maximum and minimum number of effective cells in the section on the dimension created by the division on each dimension It is determined by determining whether the difference from the value is equal to or less than a certain value.

【0033】全ての組み合わせに関して、前述した次元
上の区間内の有効セル数の最大値と最小値との差が一定
値以下とならない場合、一定値に最も近い組み合わせが
採用される。この判定に使用する一定値は、システムに
デフォルト値として設定されているが、利用者による指
定も可能である。図3に示す例の場合、システムは、a0
からa1、a1からa2、a2からa3、a3以降の4区間について
有効セル数を算出し、最大値と最小値の差を求め、この
差が全有効セル数に対してシステムのデフォルト値以下
または利用者の指定値以下である場合、その分割数の組
み合わせを採用する。
If the difference between the maximum value and the minimum value of the number of valid cells in the above-mentioned dimension does not fall below a certain value for all combinations, the combination closest to the certain value is adopted. The constant value used for this determination is set as a default value in the system, but can be specified by the user. In the case of the example shown in FIG.
From a1, from a1 to a2, from a2 to a3, calculate the number of valid cells for the four sections after a3, find the difference between the maximum and minimum values, this difference is less than the system default value for the total number of valid cells or If the value is equal to or less than the value specified by the user, a combination of the division numbers is adopted.

【0034】図2に示すノード202において、システ
ムは、前述した分割数の計算により得られた結果をもと
に分割によって作成される1個または複数個のブロック
の有効セル数を計算し、これらのブロックを各格納領域
へ割り振る。割り振る手順としては、各次元上での分割
されたブロックに対して次元上での座標値を割り当てる
方法が使用される。これによって図5に示すように、各
ブロックを一意に識別することができる多次元空間上で
の座標を割り付けることができる。この結果、各ブロッ
クは、(α1、β1)、(α1、β2)、(α1、β3)、
(α2、β1)、……、(α4、β3)、(α4、β4)とい
う座標で識別される。これらのブロックは、ラウンドロ
ビンにより各格納領域へ割り振られる。
At the node 202 shown in FIG. 2, the system calculates the number of effective cells of one or a plurality of blocks created by the division based on the result obtained by the calculation of the number of divisions described above. Is allocated to each storage area. As a procedure for allocating, a method of allocating coordinate values on dimensions to divided blocks on each dimension is used. As a result, as shown in FIG. 5, it is possible to allocate coordinates in a multidimensional space where each block can be uniquely identified. As a result, each block includes (α1, β1), (α1, β2), (α1, β3),
It is identified by coordinates (α2, β1),..., (α4, β3), (α4, β4). These blocks are allocated to each storage area by round robin.

【0035】ラウンドロビンの実施方法も、複数通りの
パターンがあるが、システムは、全てのパターンを計算
し、最も有効セルの分配が均等になる組み合わせを選択
する。そして、システムは、割り振りを行う際、1個の
格納領域上に各次元に関して同じ座標のブロックが集中
することを避ける。例えば、図5に示す例の場合、(α
1、β1)、(α1、β2)、(α1、β3)の座標で識別
されるブロックを全て同一の格納領域に割り振られるよ
うなことは避けられる。もし、(α1、β1)、(α1、
β2)、(α1、β3)の座標で識別されるブロックが同
一の格納領域に配布されると、商品a1に関する全地区
の売上高を利用者から要求された場合、すなわち、商品
α1上のメンバに関するスライス処理を実施した場合、
(α1、β1)、(α1、β2)、(α1、β3)のブロック
格納している処理ノードに負荷が集中するためである。
これにより、並列処理性能を高めることができる。
The method of implementing round robin also has a plurality of patterns, but the system calculates all the patterns and selects a combination that makes the distribution of the effective cells most uniform. Then, when performing the allocation, the system avoids concentrating blocks having the same coordinates for each dimension on one storage area. For example, in the case of the example shown in FIG.
It is avoided that the blocks identified by the coordinates of (1, β1), (α1, β2) and (α1, β3) are all allocated to the same storage area. If (α1, β1), (α1,
When the blocks identified by the coordinates of (β2) and (α1, β3) are distributed to the same storage area, when the user requests the sales amount of the entire area related to the product a1, that is, the member on the product α1 When the slice processing related to
This is because the load is concentrated on the processing nodes storing the blocks (α1, β1), (α1, β2), and (α1, β3).
Thereby, parallel processing performance can be improved.

【0036】前述した図2に示すノード202でのデー
タ分布の解析処理により、ブロック分割されたデータベ
ース内のデータは、一旦、ファイル等に格納された後、
読み出されて、分配、併合された後、複数の多次元デー
タ格納領域に格納されて利用される。
By the data distribution analysis process at the node 202 shown in FIG. 2 described above, the data in the block-divided database is temporarily stored in a file or the like.
After being read, distributed, and merged, it is stored in a plurality of multidimensional data storage areas and used.

【0037】一旦、ファイル等に格納されたブロック分
割されたデータベース内のデータを読み出して、分配、
併合した後、複数の多次元データ格納領域に格納するデ
ータ格納処理の構成を図6に示しており、以下、これに
ついて説明する。
Once the data in the block-divided database stored in a file or the like is read,
FIG. 6 shows the configuration of data storage processing for storing data in a plurality of multidimensional data storage areas after merging, and this will be described below.

【0038】図6に示すように、データ格納処理は、入
力データを読み込む処理を担当する入力データスキャン
処理及び分配処理とを備える入力データ読み込み分配処
理ノード601と、ノード601からのデータを受け取
り、データの併合処理を行いデータの格納処理を行う多
次元データ格納処理ノード602とにより構成される。
データ読み込み分配処理ノード601は、1個または複
数個存在する。また、前述のデータ読み込み分配処理ノ
ード601と多次元データ格納処理ノードとは、同一の
ノードとして構成されてもよい。
As shown in FIG. 6, the data storage process includes an input data read / distribution processing node 601 having an input data scan process and a distribution process in charge of a process of reading input data, and receives data from the node 601. A multi-dimensional data storage processing node 602 performs data merging processing and data storage processing.
One or a plurality of data read distribution processing nodes 601 exist. Further, the data read / distribution processing node 601 and the multidimensional data storage processing node described above may be configured as the same node.

【0039】データ読み込み分配処理ノード601にお
ける入力データスキャン処理は、ファイルなどから入力
データを読み込む。この入力データスキャン処理により
取得されたデータは、セルに座標が割り付けられてデー
タ分配処理へ渡される。データ分配処理は、前述のデー
タ解析処理にて決まった格納領域が存在する多次元デー
タ格納処理ノード602へセル値及び座標を送る。
The input data scanning process in the data read distribution node 601 reads input data from a file or the like. The data obtained by this input data scanning process is assigned to the cells and passed to the data distribution process. In the data distribution processing, the cell value and the coordinates are sent to the multidimensional data storage processing node 602 in which the storage area determined by the above-described data analysis processing exists.

【0040】ノード602は、データ分配処理からセル
値と座標値とを受け取る。ノード602内の併合処理
は、セルの重複等をチェックし、重複をエラーとする、
セルの値を足し込む、セルの値の大きな方を有効とする
等の判定を行う。これらの判定を行うか否かは、利用者
が指定することができるオプションとなる。データ格納
処理は、このようにして、分割された多次元データを多
次元データ格納領域へ格納する。
The node 602 receives the cell value and the coordinate value from the data distribution processing. The merging process in the node 602 checks cell duplication and the like, and makes the duplication an error.
A determination is made such as adding the value of the cell or validating the larger value of the cell. Whether or not to make these determinations is an option that can be specified by the user. The data storage process stores the divided multidimensional data in the multidimensional data storage area in this manner.

【0041】前述までで、図2に示したデータ解析処理
と図6に示したデータ格納処理について説明したが、こ
れらの処理動作をフローとして示したものを図7、図8
にに示しており、以下、これらのフローを説明する。
The data analysis processing shown in FIG. 2 and the data storage processing shown in FIG. 6 have been described above. FIGS. 7 and 8 show the flow of these processing operations.
And these flows will be described below.

【0042】まず、図7を参照して、図2に示したデー
タ解析処理での処理動作をフローに従って説明する。
First, the processing operation in the data analysis processing shown in FIG. 2 will be described with reference to FIG.

【0043】(1)入力データ読み込み処理ノード20
1は、入力データスキャン処理により入力データを読み
込み、変換処理により、有効セルに座標値を割り振ると
共に、有効セルの存在する座標の情報を作成し、送付処
理により、作成した有効セルの存在する座標の情報を入
力データ解析処理ノード202のデータ併合処理に送信
する(ステップ701〜704)。
(1) Input data read processing node 20
1 reads input data by an input data scanning process, assigns coordinate values to valid cells by a conversion process, creates information on coordinates where valid cells exist, and sends coordinates by a sending process to the coordinates where the created valid cells exist. Is transmitted to the data merge processing of the input data analysis processing node 202 (steps 701 to 704).

【0044】(2)入力データ解析処理ノード202の
データ併合処理は、受け取った有効セルの存在する座標
の情報をマージし、結果をデータ解析処理に渡す(ステ
ップ705)。
(2) In the data merging process of the input data analyzing node 202, the received information of the coordinates where the valid cells exist is merged, and the result is passed to the data analyzing process (step 705).

【0045】(3)データ解析処理は、各次元の各メン
バの有効セル数を計算し、データベースの各軸のメンバ
数の対比により、各軸の分割数の比を計算し、さらに、
各軸の分割数の全ての組み合わせを計算する(ステップ
706〜708)。
(3) In the data analysis processing, the number of effective cells of each member of each dimension is calculated, and the ratio of the number of divisions of each axis is calculated based on the number of members of each axis of the database.
All combinations of the number of divisions of each axis are calculated (steps 706 to 708).

【0046】(4)次に、各ブロックに座標を割り当て
て、ブロックの中の有効セル数を計算する(ステップ7
09、710)。
(4) Next, coordinates are assigned to each block, and the number of effective cells in the block is calculated (step 7).
09, 710).

【0047】(5)次に、多次元データベースの次元の
組み合わせにおける次元の順序に従って、1つの次元方
向にブロックを取り出し、データ格納領域に各ブロック
をラウンドロビンにより割り振る。この処理は、入れ子
順に、1つの次元A方向にのみ最初にループさせ、他の
次元B、……方向には動かさずに行い、次元A方向の処
理が一巡したら他の次元B方向を1つだけインクリメン
トし、再び次元A方向に再びループさせる処理を繰返
し、さらに、次元B方向移行に関しても処理を繰り返す
ことにより行われる(ステップ711)。
(5) Blocks are extracted in one dimension direction according to the dimension order in the combination of dimensions of the multidimensional database, and each block is allocated to the data storage area by round robin. This processing is performed by first looping only in one dimension A in the order of nesting, and moving without moving in the other dimensions B,... Directions. The process is repeated by repeating the process of incrementing only by one, looping again in the dimension A direction, and repeating the process for the transition to the dimension B (step 711).

【0048】(6)割り振られたブロックの中の有効セ
ル数を足し込み、各データ格納領域の有効セル数を計算
する。この結果、図示しないが、多次元データベースの
次元の組み合わせと、複数のデータ格納領域の各データ
格納領域に格納されるデータ数のテーブルが作成される
(ステップ712)。
(6) The number of valid cells in the allocated block is added to calculate the number of valid cells in each data storage area. As a result, although not shown, a table of combinations of dimensions of the multidimensional database and the number of data stored in each data storage area of the plurality of data storage areas is created (step 712).

【0049】(7)各格納領域の有効セル数の最大値か
ら最小値を引き、有効セル数のばらつきの幅を求め、そ
の結果と前回のループ処理時の結果とを比較し、小さい
方を記憶する。ラウンドロビンの組み合わせの全てが終
了しているか否かチェックし、終了していなければ、ス
テップ711からの処理を繰り返し、次のラウンドロビ
ンの組み合わせによる計算を実行する(ステップ71
3、714)。
(7) The minimum value is subtracted from the maximum value of the number of valid cells in each storage area to determine the width of the variation in the number of valid cells, and the result is compared with the result of the previous loop processing. Remember. It is checked whether or not all the round robin combinations have been completed. If not, the processing from step 711 is repeated, and the calculation based on the next round robin combination is executed (step 71).
3, 714).

【0050】(8)ステップ711〜714までの処理
の繰り返しにより、全てのラウンドロビンの組み合わせ
による計算が終了した後、ステップ713での処理の場
合と同様に、各格納領域内の有効セル数のばらつきの最
も小さいものを選択して記憶した後、次の各軸の分割数
の組み合わせについて、ステップ708からの処理を繰
り返し実行する。これにより、ステップ708で求めた
各軸の分割数の組み合わせの中の1つに関してばらつき
が最小となるラウンドロビンの組み合わせが得られ、し
かも、ステップ709からのループの処理毎の比較の結
果の最小のものを選択して記憶したことになる(ステッ
プ715)。
(8) After the calculation by all round robin combinations is completed by repeating the processing of steps 711 to 714, similarly to the processing of step 713, the number of effective cells in each storage area is calculated. After selecting and storing the one with the smallest variation, the processing from step 708 is repeatedly executed for the next combination of the number of divisions for each axis. As a result, a round-robin combination that minimizes the variation with respect to one of the combinations of the number of divisions of each axis obtained in step 708 is obtained, and the minimum result of the comparison for each loop process from step 709 is obtained. Is selected and stored (step 715).

【0051】(9)各軸の分割数の組み合わせについて
の処理が終了すれば、ステップ714で得られた結果、
すなわち、計算の結果得られた各軸の分割数と最も有効
セルのばらつきの小さい分配の方法を辞書に格納する
(ステップ716)。
(9) When the processing for the combination of the number of divisions of each axis is completed, the result obtained in step 714
That is, the number of divisions of each axis obtained as a result of the calculation and the distribution method with the smallest variation of effective cells are stored in the dictionary (step 716).

【0052】次に、図8を参照して、図6に示したデー
タ格納処理での処理動作をフローに従って説明する。
Next, the processing operation in the data storage processing shown in FIG. 6 will be described with reference to FIG.

【0053】(1)入力データ読み込み分配処理ノード
601は、入力データスキャン処理により入力データを
読み込み、セルに座標を割り付けてデータ分配処理に渡
す。分配処理は、前述のデータ解析処理にて決まった格
納領域が存在する多次元データ格納処理ノード602の
データ併合処理へ、セル値及び座標を送る(ステップ8
01〜803)。
(1) Input data read / distribution processing node 601 reads input data by input data scan processing, assigns coordinates to cells, and transfers the cells to the data distribution processing. In the distribution processing, the cell value and the coordinates are sent to the data merging processing of the multidimensional data storage processing node 602 in which the storage area determined by the data analysis processing exists (step 8).
01-803).

【0054】(2)多次元データ格納処理ノード602
は、データ分配処理からセル値と座標値とを受け取る。
ノード602内の併合処理は、セルの重複等をチェック
し、重複をエラーとする、セルの値を足し込む、セルの
値の大きな方を有効とする等の判定を行い、有効セルの
併合を行う。これらの判定を行うか否かは、利用者が指
定することができるオプションとなる。データ格納処理
は、このようにして、分割された多次元データを多次元
データ格納領域へ格納する(ステップ804、80
5)。
(2) Multidimensional data storage processing node 602
Receives cell values and coordinate values from the data distribution process.
The merging process in the node 602 checks cell duplication and the like, and makes a judgment such as making the duplication an error, adding a cell value, and validating a larger cell value. Do. Whether or not to make these determinations is an option that can be specified by the user. The data storage process stores the divided multidimensional data in the multidimensional data storage area (steps 804 and 80).
5).

【0055】前述した本発明の実施形態による処理によ
れば、多次元データベースへデータを格納する格納領域
のそれぞれに対して均等に近いデータ分散を実現するこ
とができる。このため、集約計算やスライス処理などで
負荷分散を図ることができ、また、集約計算等において
も各次元上で近い距離にあるデータが同じ格納領域内に
存在することが多くなるため並列処理の速度を高めるこ
とができ、計算速度の向上を図ることができる。
According to the above-described processing according to the embodiment of the present invention, it is possible to realize nearly equal data distribution for each of the storage areas for storing data in the multidimensional database. For this reason, load distribution can be achieved by aggregation calculation and slicing processing, etc. Also, in aggregation calculation and the like, data at close distances in each dimension often exist in the same storage area, so that parallel processing is not performed. The speed can be increased, and the calculation speed can be improved.

【0056】次に、図11を参照して、本発明の一実施
形態で使用する辞書定義機能の理ブロックの構成につい
て説明する。
Next, with reference to FIG. 11, a description will be given of the configuration of a physical block of a dictionary definition function used in an embodiment of the present invention.

【0057】辞書定義機能1101は、システム利用者
から渡される次元名とメンバ名とを格納した次元構成情
報を入力とし、作成しようとする多次元データベースの
次元毎に各メンバに計算機上で座標値として使用可能な
座標IDを割り振り、メンバ名称座標IDテーブルを記
憶装置上に作成する機能である。システム利用者から渡
される次元構成情報は、例えば、図12に示すようなも
のであり、ここでは、次元名として、“商品”と“地
区”とがあり、メンバ名として、商品名、地区名が対応
付けられている。すでに説明したが、辞書定義機能11
01により作成されるメンバ名称座標IDテーブルの例
である図9では、商品次元の各メンバに0001、0002、…
…、0100の座標IDが割り振られている。
The dictionary definition function 1101 receives, as input, dimension configuration information storing dimension names and member names passed from a system user, and assigns a coordinate value on a computer to each member for each dimension of the multidimensional database to be created. This is a function of allocating a coordinate ID that can be used as, and creating a member name coordinate ID table on the storage device. The dimension configuration information passed from the system user is, for example, as shown in FIG. 12, where the dimension names include “product” and “district”, and the member names include the product name and the district name. Are associated with each other. As already described, the dictionary definition function 11
In FIG. 9, which is an example of the member name coordinate ID table created by No. 01, 0001, 0002,.
.., 0100 coordinate IDs are assigned.

【0058】[0058]

【発明の効果】以上説明したように本発明によれば、多
次元データベースへデータを格納する場合に格納領域に
対して均等に近いデータ分散を実現し、集約計算やスラ
イス処理などで負荷分散を図ることができ、また、集約
計算等においても各次元上で近い距離にあるデータが同
じ格納領域内に存在することが多くなるため並列処理の
速度を高めることができ、計算速度の向上を図ることが
できる。
As described above, according to the present invention, when data is stored in a multidimensional database, data distribution close to the storage area is realized, and load distribution is performed by aggregation calculation and slicing processing. In addition, even in an aggregate calculation or the like, data at close distances in each dimension often exists in the same storage area, so that the speed of parallel processing can be increased, and the calculation speed is improved. be able to.

【図面の簡単な説明】[Brief description of the drawings]

【図1】商品、地区、売り上げの3つの次元を持つ多次
元データの例を説明する図である。
FIG. 1 is a diagram illustrating an example of multidimensional data having three dimensions of a product, a district, and sales.

【図2】本発明の一実施形態によるデータベース管理シ
ステムのデータ解析処理の構成を示すブロック図であ
る。
FIG. 2 is a block diagram illustrating a configuration of a data analysis process of the database management system according to the embodiment of the present invention.

【図3】図1に示す多次元データを次元Aにのみ着目し
て分割したときの有効セル数の分布を説明する図であ
る。
FIG. 3 is a diagram illustrating a distribution of the number of effective cells when the multidimensional data shown in FIG. 1 is divided by focusing only on dimension A.

【図4】図1に示す多次元データを次元A及び次元Bに
関して分割した例を説明する図である。
FIG. 4 is a diagram illustrating an example in which the multidimensional data shown in FIG. 1 is divided with respect to dimensions A and B.

【図5】図4に示す分割された多次元データの各ブロッ
クに座標の割り振りを説明する図である。
FIG. 5 is a diagram illustrating the allocation of coordinates to each block of the divided multidimensional data shown in FIG. 4;

【図6】本発明の一実施形態によるデータベース管理シ
ステムのデータ格納処理の構成を示すブロック図であ
る。
FIG. 6 is a block diagram illustrating a configuration of a data storage process of the database management system according to the embodiment of the present invention.

【図7】データ解析処理の処理動作を説明するフローチ
ャートである。
FIG. 7 is a flowchart illustrating a processing operation of a data analysis process.

【図8】データ格納処理の処理動作を説明するフローチ
ャートである。
FIG. 8 is a flowchart illustrating a processing operation of a data storage process.

【図9】データ解析処理で、各次元のメンバを計算機で
使用可能な座標値に変換するためのテーブルの構成例を
示す図である。
FIG. 9 is a diagram illustrating a configuration example of a table for converting members of each dimension into coordinate values usable by a computer in a data analysis process.

【図10】データ解析処理で、有効セルの存在する座標
を表現するためのテーブルの例を示す図である。
FIG. 10 is a diagram showing an example of a table for expressing coordinates where valid cells exist in data analysis processing.

【図11】本発明の一実施形態によるデータベース管理
システムの辞書定義機能処理の構成を示すブロック図で
ある。
FIG. 11 is a block diagram showing a configuration of a dictionary definition function process of the database management system according to one embodiment of the present invention.

【図12】次元構成情報の例を説明する図である。FIG. 12 is a diagram illustrating an example of dimension configuration information.

【符号の説明】[Explanation of symbols]

201 入力データ読み込み処理ノード 202 入力データ解析処理ノード 601 入力データ読み込み分配処理ノード 602 多次元データ格納処理ノード 201 input data read processing node 202 input data analysis processing node 601 input data read distribution node 602 multidimensional data storage processing node

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 複数の次元のそれぞれに対応付けられる
メンバの組み合わせにより識別されるデータを格納管理
する多次元データベース管理システムにおいて、データ
ベースを処理するための1または複数の処理ノードを備
え、該処理ノードは、前記複数の次元の各次元のメンバ
のそれぞれに一連の座標値を割り当て、次元メンバの座
標値の組を、その組に含まれるデータのセル座標とし、
多次元データベースの格納領域数に応じて、各次元を有
効セル数が均等になるようにデータを分割し、これによ
り有効セルを含む1個または複数個のブロックを作成
し、これらのブロックをデータ格納領域に配置するよう
に多次元データベースを分割することを特徴とする多次
元データベース管理システム。
1. A multidimensional database management system for storing and managing data identified by a combination of members respectively associated with a plurality of dimensions, comprising one or a plurality of processing nodes for processing a database. The node assigns a series of coordinate values to each of the members of each of the plurality of dimensions, and sets a set of coordinate values of the dimension members as cell coordinates of data included in the set,
According to the number of storage areas of the multidimensional database, data is divided so that the number of effective cells in each dimension is equal, thereby creating one or more blocks containing effective cells, and dividing these blocks into data. A multidimensional database management system, wherein a multidimensional database is divided so as to be arranged in a storage area.
【請求項2】 前記次元毎のメンバ数の多い次元につい
て、大きい分割数により分割し、メンバ数の少ない次元
について、少ない分割数により分割することを特徴とす
る請求項1記載の多次元データベース管理システム。
2. The multidimensional database management according to claim 1, wherein the dimension having a large number of members for each dimension is divided by a large number of divisions, and the dimension having a small number of members is divided by a small number of divisions. system.
【請求項3】 多次元データベースの格納領域の数が多
い場合、前記分割ブロック数が多くなるように分割し、
前記格納領域数が少ない場合、分割ブロック数が少なく
なるように分割することを特徴とする請求項1記載の多
次元データベース管理システム。
3. When the number of storage areas of the multidimensional database is large, the data is divided so that the number of the divided blocks is large.
2. The multidimensional database management system according to claim 1, wherein when the number of storage areas is small, the division is performed so as to reduce the number of divided blocks.
【請求項4】 前記の分割されたブロックのそれぞれ
に、各次元上での座標値を割り当て、次元上のブロック
の座標値の組をそれぞれのブロックのブロック座標とし
て各ブロックを一意に特定し、1個または複数個のブロ
ックの組みを格納領域上に配置し、各格納領域に配布さ
れる有効セル数の合計を計算し、格納領域の間でこの合
計値の最大値と最小値との差が最小となるブロックの組
み合わせを各格納領域上に配置することを特徴とする請
求項1記載の多次元データベース管理システム。
4. A coordinate value on each dimension is assigned to each of the divided blocks, and each block is uniquely specified by using a set of coordinate values of the block on the dimension as block coordinates of each block, A set of one or a plurality of blocks is arranged in a storage area, the total number of valid cells distributed to each storage area is calculated, and the difference between the maximum value and the minimum value of the total value among the storage areas is calculated. 2. The multidimensional database management system according to claim 1, wherein a combination of blocks that minimizes is arranged in each storage area.
【請求項5】 前記の分割されたブロックの各次元上の
同一分割範囲にあるブロックが異なる格納領域に配置さ
れることを特徴とする請求項1記載の多次元データベー
ス管理システム。
5. The multidimensional database management system according to claim 1, wherein blocks in the same division range on each dimension of the divided blocks are arranged in different storage areas.
JP11194984A 1999-07-08 1999-07-08 Multidimensional database management system Pending JP2001022621A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11194984A JP2001022621A (en) 1999-07-08 1999-07-08 Multidimensional database management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11194984A JP2001022621A (en) 1999-07-08 1999-07-08 Multidimensional database management system

Publications (1)

Publication Number Publication Date
JP2001022621A true JP2001022621A (en) 2001-01-26

Family

ID=16333615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11194984A Pending JP2001022621A (en) 1999-07-08 1999-07-08 Multidimensional database management system

Country Status (1)

Country Link
JP (1) JP2001022621A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004133684A (en) * 2002-10-10 2004-04-30 Ntt Data Corp Information retrieval system and information retrieval program
US7269786B1 (en) 2000-05-04 2007-09-11 International Business Machines Corporation Navigating an index to access a subject multi-dimensional database
US7472127B2 (en) 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US7529727B2 (en) 2000-05-04 2009-05-05 International Business Machines Corporation Using an index to access a subject multi-dimensional database
JP2010271781A (en) * 2009-05-19 2010-12-02 Ntt Docomo Inc System and method for dividing data
KR101757253B1 (en) * 2016-12-20 2017-07-13 한국과학기술정보연구원 Method and apparatus for managing multidimensional data
CN112214645A (en) * 2019-07-11 2021-01-12 杭州海康威视数字技术股份有限公司 Method and device for storing track data
CN114077581A (en) * 2021-11-24 2022-02-22 北京白板科技有限公司 Database based on data aggregation storage mode
CN117609270A (en) * 2024-01-22 2024-02-27 广东广宇科技发展有限公司 Multi-dimensional data distributed parallel processing method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269786B1 (en) 2000-05-04 2007-09-11 International Business Machines Corporation Navigating an index to access a subject multi-dimensional database
US7529727B2 (en) 2000-05-04 2009-05-05 International Business Machines Corporation Using an index to access a subject multi-dimensional database
JP2004133684A (en) * 2002-10-10 2004-04-30 Ntt Data Corp Information retrieval system and information retrieval program
US7472127B2 (en) 2002-12-18 2008-12-30 International Business Machines Corporation Methods to identify related data in a multidimensional database
US8126871B2 (en) 2002-12-18 2012-02-28 International Business Machines Corporation Systems and computer program products to identify related data in a multidimensional database
JP2010271781A (en) * 2009-05-19 2010-12-02 Ntt Docomo Inc System and method for dividing data
KR101757253B1 (en) * 2016-12-20 2017-07-13 한국과학기술정보연구원 Method and apparatus for managing multidimensional data
WO2018117504A1 (en) * 2016-12-20 2018-06-28 한국과학기술정보연구원 Apparatus and method for managing multi-dimensional data
CN112214645A (en) * 2019-07-11 2021-01-12 杭州海康威视数字技术股份有限公司 Method and device for storing track data
CN112214645B (en) * 2019-07-11 2023-09-19 杭州海康威视数字技术股份有限公司 Method and device for storing track data
CN114077581A (en) * 2021-11-24 2022-02-22 北京白板科技有限公司 Database based on data aggregation storage mode
CN117609270A (en) * 2024-01-22 2024-02-27 广东广宇科技发展有限公司 Multi-dimensional data distributed parallel processing method
CN117609270B (en) * 2024-01-22 2024-04-09 广东广宇科技发展有限公司 Multi-dimensional data distributed parallel processing method

Similar Documents

Publication Publication Date Title
JP3952518B2 (en) Multidimensional data processing method
US6438562B1 (en) Parallel index maintenance
US8219564B1 (en) Two-dimensional indexes for quick multiple attribute search in a catalog system
Rothnie Jr et al. Attribute based file organization in a paged memory environment
US5970495A (en) Method and apparatus for achieving uniform data distribution in a parallel database system
KR101700340B1 (en) System and method for analyzing cluster result of mass data
US5832475A (en) Database system and method employing data cube operator for group-by operations
KR101266358B1 (en) A distributed index system based on multi-length signature files and method thereof
US8271523B2 (en) Coordination server, data allocating method, and computer program product
US20130297788A1 (en) Computer system and data management method
JP2000187668A (en) Grouping method and overlap excluding method
US20180165335A1 (en) Parallel processing of queries with inverse distribution function
WO2001003032A9 (en) Apparatus, systems and methods for constructing large numbers of travel fares
US9619501B2 (en) Index scan device and index scan method
WO2017118335A1 (en) Mapping method and device
JP3395208B2 (en) How to sort and access a distributed database
US6564221B1 (en) Random sampling of rows in a parallel processing database system
JP2001022621A (en) Multidimensional database management system
JPH1097544A (en) Database processing system
EP1524599B1 (en) A method of reassigning objects to processing units
CN117851490A (en) Data analysis processing system based on big data
JPH06309284A (en) Inquiry processing load distributing method
US20020032685A1 (en) Database dividing system, method and program
US8290935B1 (en) Method and system for optimizing database system queries
JP2000010989A (en) Similar object retrieval method/device and recording medium recording similar object retrieval program

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees