JP6402600B2 - Database apparatus, data management method, and program - Google Patents

Database apparatus, data management method, and program Download PDF

Info

Publication number
JP6402600B2
JP6402600B2 JP2014230847A JP2014230847A JP6402600B2 JP 6402600 B2 JP6402600 B2 JP 6402600B2 JP 2014230847 A JP2014230847 A JP 2014230847A JP 2014230847 A JP2014230847 A JP 2014230847A JP 6402600 B2 JP6402600 B2 JP 6402600B2
Authority
JP
Japan
Prior art keywords
value
list
data
specified
registration
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
JP2014230847A
Other languages
Japanese (ja)
Other versions
JP2016095639A (en
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2014230847A priority Critical patent/JP6402600B2/en
Publication of JP2016095639A publication Critical patent/JP2016095639A/en
Application granted granted Critical
Publication of JP6402600B2 publication Critical patent/JP6402600B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、カラムストア型のデータベース装置、データ管理方法、及びこれらを実現するためのプログラムに関する。   The present invention relates to a column store type database device, a data management method, and a program for realizing them.

従来、データベースとしては、主に、テーブルに格納されたデータを行単位で処理するリレーショナルデータベースが知られている。リレーショナルデータベースは、特定のデータに対する更新及び削除といったトランザクション処理に優れている一方、特定の列に対して行う処理(必要項目のみの抽出や集計処理)を苦手としている。   Conventionally, as a database, a relational database that mainly processes data stored in a table in units of rows is known. The relational database is excellent in transaction processing such as update and deletion of specific data, but is not good at processing (extraction of only necessary items or aggregation processing) performed on a specific column.

このため、近年、リレーショナルデータベースが苦手とする列毎の処理を得意とするデータベース、いわゆる「カラムストア型データベース」が注目されている(例えば、特許文献1参照)。カラムストア型データベースは、列毎に情報を保持しているため、特定の列に対して、高速に処理を行うことができる。   For this reason, in recent years, a database that is good at processing for each column, which is not good at relational databases, a so-called “column store database” has attracted attention (see, for example, Patent Document 1). Since the column store database holds information for each column, a specific column can be processed at high speed.

カラムストア型データベースにおけるデータ保持構造の一つとして、列データを値番号と値リストとで管理するFAST(Filter Array STructure)構造が知られている。図22は、従来からのFAST構造の一例を示す図である。また、図22(a)は、FAST構造の元になるテーブルを示し、図22(b)は、図22(a)のテーブルから作成された値番号リスト及び値リストを示している。図22の例では、列として、「日付」、「顧客ID」、「商品名」を有するテーブルが、FAST構造によって保持されている。更に、列毎に、値番号リストと値リストとが構築されている。   A FAST (Filter Array STructure) structure that manages column data with a value number and a value list is known as one of the data holding structures in a column store database. FIG. 22 shows an example of a conventional FAST structure. FIG. 22A shows a table on which the FAST structure is based, and FIG. 22B shows a value number list and a value list created from the table of FIG. In the example of FIG. 22, a table having “date”, “customer ID”, and “product name” as columns is held by the FAST structure. Further, a value number list and a value list are constructed for each column.

図22(b)に示すように、各値リストには、実データの値が、重複が排除された状態で格納されている。各値番号リストには、該当箇所の値を格納している値リストの番号が格納されている。このようなFAST構造では、ある値を検索したい場合、以下のように各処理が実行される。図23は、図22に示すFAST構造での処理を模式的に示す図である。   As shown in FIG. 22B, the value of actual data is stored in each value list in a state where duplication is eliminated. In each value number list, the number of the value list storing the value of the corresponding part is stored. In such a FAST structure, when it is desired to search for a certain value, each process is executed as follows. FIG. 23 is a diagram schematically showing processing in the FAST structure shown in FIG.

[値リストからのリスト番号の取得処理]
図23に示すように、最初に、検索対象となる値が入力されると、値リストから、検索対象となる値のリスト番号が取得される。具体的には、例えば、顧客IDとして「102」が入力されると、図23の例では、値リストの番号「2」が取得される。
[Acquisition of list number from value list]
As shown in FIG. 23, when a value to be searched is first input, a list number of the value to be searched is acquired from the value list. Specifically, for example, when “102” is input as the customer ID, the value list number “2” is acquired in the example of FIG.

[値番号リストからの番号の取得処理]
次に、値番号リストから、先に取得されたリスト番号を保持している番号(以下「値番号リスト番号」と表記する。)が取得される。具体的には、図23の例では、取得された値リストの番号が「2」であるので、値番号リストからは、値番号リスト番号として、「2」と「5」が取得される。
[Acquisition of number from value number list]
Next, from the value number list, a number holding the previously acquired list number (hereinafter referred to as “value number list number”) is acquired. Specifically, in the example of FIG. 23, since the acquired value list number is “2”, “2” and “5” are acquired as value number list numbers from the value number list.

そして、対応する日付及び商品名のデータも一緒に検索対象となる場合は、日付及び商品名それぞれの値番号リストから、値番号リスト番号「2」及び「5」それぞれに格納されている値リストの番号(値)が取得される(図22(b)参照)。次に、値リストから、取得された値リストの番号に対応する実データが取得される。具体的には、本例では、「2014/3/1、102、banana」と、「2014/3/3、102、banana」とが取得される。   When the corresponding date and product name data are also to be searched together, the value lists stored in the value number list numbers “2” and “5” respectively from the value number lists of the date and product name respectively. Is obtained (see FIG. 22B). Next, actual data corresponding to the acquired value list number is acquired from the value list. Specifically, in this example, “2014/3/1, 102, banana” and “2014/3/3, 102, banana” are acquired.

但し、上述のカラムストア型データベースでは、上述した処理を行なうために、取得対象となる実データの値リスト番号と値番号リストとの比較が、値番号リストのサイズ分だけ行なわれることになる。即ち、値番号リストに登録されているデータの件数が、例えば10億件であれば、比較処理は10億回繰り返して行なわれる。このため、カラムストア型データベースには、検索効率が低く、検索に多くの時間がかかるという問題がある。このため、カラムストア型データベースにおいては、検索速度の向上が求められている。   However, in the above-described column store database, in order to perform the above-described processing, the value list number of the actual data to be acquired and the value number list are compared by the size of the value number list. That is, if the number of data registered in the value number list is 1 billion, for example, the comparison process is repeated 1 billion times. For this reason, the column store database has a problem that the search efficiency is low and the search takes a long time. For this reason, in a column store database, an improvement in search speed is required.

ところで、一般なデータベースでは、データの格納場所を速く見つけるために、インデックス(索引)の作成が行なわれている。そして、カラムストア型データベースにおいても、インデックスを作成しておくことで、検索速度の向上が図られると考えられる。このようなインデックスの代表例としては、B−TREE構造を採用したインデックスが挙げられる。   By the way, in general databases, an index is created in order to quickly find a data storage location. And in the column store database, it is considered that the search speed can be improved by creating an index. A typical example of such an index is an index adopting a B-TREE structure.

また、特許文献2は、ハッシュテーブルを用いたインデックスを開示している。更に、特許文献3は、頻繁に行なわれるインデックスの更新処理にかかる時間を短縮するため、索引管理装置によって更新処理をまとめて実行するシステムを開示している。   Patent Document 2 discloses an index using a hash table. Further, Patent Document 3 discloses a system in which update processing is collectively executed by an index management device in order to reduce the time required for frequent index update processing.

特開2013−228999号公報JP 2013-228999 A 特開2009−140302号公報JP 2009-140302 A 特開2011−053868号公報JP 2011-053868 A

しかしながら、B−TREE構造を採用したインデックスを用いる場合は、更新処理の度に、ツリー構造を再構築する必要があり、更新処理に時間がかかってしまうという問題がある。   However, in the case of using an index adopting the B-TREE structure, there is a problem that it is necessary to reconstruct the tree structure every time the update process is performed, and the update process takes time.

一方、特許文献2に開示されたインデックスを用いた場合は、B−TREE構造を採用したインデックスの問題を解消できる。更に、この場合、B−TREE構造を採用したインデックスに比べてアクセス回数を少なくすることができるので、検索速度の向上も期待できる。   On the other hand, when the index disclosed in Patent Document 2 is used, the problem of the index adopting the B-TREE structure can be solved. Furthermore, in this case, since the number of accesses can be reduced as compared with an index adopting the B-TREE structure, an improvement in search speed can be expected.

しかしながら、特許文献2に開示されたインデックスでは、実データがソートされた順に格納されないため、このインデックスをカラムストア型データベースに適用した場合は、逆に検索速度が低下してしまうおそれがある。   However, since the index disclosed in Patent Document 2 does not store the actual data in the sorted order, if this index is applied to a column store database, the search speed may be reduced.

また、特許文献3に開示されたシステムを用いた場合も、B−TREE構造を採用したインデックスの問題を解消できるが、このシステムでは、索引管理装置を構築する必要があり、システムの構築にかかるコストが大きいという問題がある。   In addition, even when the system disclosed in Patent Document 3 is used, the problem of the index adopting the B-TREE structure can be solved. However, in this system, it is necessary to construct an index management device, and it is necessary to construct the system. There is a problem that the cost is large.

このため、カラムストア型データベースにおいては、インデックスの作成を行なうことなく、検索速度の向上を図ることが求められている。   For this reason, in a column store database, it is required to improve the search speed without creating an index.

本発明の目的の一例は、上記問題を解消し、インデックスの作成を行なうことなく、検索速度の向上を図り得る、データベース装置、データ管理方法、及びプログラムを提供することにある。   An object of the present invention is to provide a database apparatus, a data management method, and a program that can improve the search speed without solving the above problems and without creating an index.

上記目的を達成するため、本発明の一側面におけるデータベース装置は、
番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
前記処理実行部は、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
ことを特徴とする。
In order to achieve the above object, a database apparatus according to an aspect of the present invention provides:
A data management unit that manages the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers of the value lists are registered in order of appearance of corresponding data values;
When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list, and the specified number in the value number list is identified. A process execution unit that extracts a registration order and executes a search process for a specified data value based on the extracted registration order;
The process execution unit
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped.
It is characterized by that.

また、上記目的を達成するため、本発明の一側面におけるデータ管理方法は、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とする。
In order to achieve the above object, a data management method according to one aspect of the present invention includes:
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank;
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. It is characterized by that.

更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とする。
Furthermore, in order to achieve the above object, a program according to one aspect of the present invention is provided.
On the computer,
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank,
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. It is characterized by that.

以上のように、本発明によれば、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。   As described above, according to the present invention, it is possible to improve the search speed without creating an index.

図1は、本発明で用いられるデータ保持構造の一例を示す図である。FIG. 1 is a diagram showing an example of a data holding structure used in the present invention. 図2は、図1に示したデータ構造を用いた検索処理を説明する説明図である。FIG. 2 is an explanatory diagram for explaining search processing using the data structure shown in FIG. 図3は、本発明の実施の形態1におけるデータベース装置の概略構成を示すブロック図である。FIG. 3 is a block diagram showing a schematic configuration of the database apparatus according to Embodiment 1 of the present invention. 図4は、本発明の実施の形態1におけるデータベース装置の具体的構成を示すブロック図である。FIG. 4 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 1 of the present invention. 図5は、本発明の実施の形態1におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。FIG. 5 is a flowchart showing an operation during the list creation process of the database device according to the first embodiment of the present invention. 図6は、本発明の実施の形態1におけるデータベース装置の検索処理時の動作を示すフロー図である。FIG. 6 is a flowchart showing an operation during the search process of the database device in the first embodiment of the present invention. 図7は、本発明の実施の形態1におけるデータベース装置の更新処理時の動作を示すフロー図である。FIG. 7 is a flowchart showing an operation at the time of update processing of the database apparatus in the first embodiment of the present invention. 図8は、本発明の実施の形態1における更新処理の一例を説明するための図である。FIG. 8 is a diagram for explaining an example of update processing according to Embodiment 1 of the present invention. 図9は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。FIG. 9 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 2 of the present invention. 図10は、本発明の実施の形態2におけるデータベース装置の検索処理時の動作を示すフロー図である。FIG. 10 is a flowchart showing the operation during the search process of the database device in the second embodiment of the present invention. 図11(a)及び(b)は、従来からのカラムストア型データベースにおける検索対象値が2つである場合の検索処理を説明するための図である。FIGS. 11A and 11B are diagrams for explaining search processing when there are two search target values in a conventional column store database. 図12は、本発明の実施の形態2におけるデータベース装置における検索対象値が2つである場合の検索処理を説明するための図である。FIG. 12 is a diagram for explaining search processing when there are two search target values in the database apparatus according to Embodiment 2 of the present invention. 図13は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。FIG. 13 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 2 of the present invention. 図14は、本発明の実施の形態3におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。FIG. 14 is a flowchart showing an operation at the time of list creation processing of the database device according to the third embodiment of the present invention. 図15は、本発明の実施の形態3において作成された値番号リスト及び値リストの一例を示す図である。FIG. 15 is a diagram showing an example of the value number list and value list created in the third embodiment of the present invention. 図16は、本発明の実施の形態3におけるデータベース装置の検索処理時の動作を示すフロー図である。FIG. 16 is a flowchart showing the operation during the search process of the database device in the third embodiment of the present invention. 図17は、本発明の実施の形態3における検索処理を説明するための図である。FIG. 17 is a diagram for explaining search processing according to Embodiment 3 of the present invention. 図18は、本発明の実施の形態3におけるデータベース装置の更新処理時の動作を示すフロー図である。FIG. 18 is a flowchart showing the operation during the update process of the database device in the third embodiment of the present invention. 図19は、本発明の実施の形態3における更新処理の前半部分を説明するための図である。FIG. 19 is a diagram for explaining the first half of the update process according to the third embodiment of the present invention. 図20は、本発明の実施の形態3における更新処理の後半部分を説明するための図である。FIG. 20 is a diagram for explaining the latter half of the update processing according to Embodiment 3 of the present invention. 図21は、本発明の実施の形態1〜3におけるデータベース装置を実現するコンピュータの一例を示すブロック図である。FIG. 21 is a block diagram illustrating an example of a computer that implements the database device according to the first to third embodiments of the present invention. 図22は、従来からのFAST構造の一例を示す図である。FIG. 22 shows an example of a conventional FAST structure. 図23は、図22に示すFAST構造での処理を模式的に示す図である。FIG. 23 is a diagram schematically showing processing in the FAST structure shown in FIG.

(発明の概要)
最初に、図1及び図2を用いて、本発明の概要について説明する。図1は、本発明で用いられるデータ保持構造の一例を示す図である。図2は、図1に示したデータ構造を用いた検索処理を説明する説明図である。
(Summary of Invention)
First, the outline of the present invention will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram showing an example of a data holding structure used in the present invention. FIG. 2 is an explanatory diagram for explaining search processing using the data structure shown in FIG.

図1に示すように、本発明でも、データ保持構造としてFAST構造が採用されたカラムストア型データベースが利用される。図1の例でも、図22(a)及び(b)に示した従来例と同様に、「日付」、「顧客ID」、「商品名」のデータを有するテーブルが、値番号リストと値リストとで保持されている。   As shown in FIG. 1, the present invention also uses a column store database that employs a FAST structure as a data holding structure. In the example of FIG. 1, as in the conventional example shown in FIGS. 22A and 22B, a table having data of “date”, “customer ID”, and “product name” is a value number list and a value list. And is held by.

また、図1の例でも、各値リストには、番号(以下「値リスト番号」と表記する。)が付加された実データの値(以下「データ値」と表記する。)が、重複が排除された状態で登録されている。各値番号リストには、値リスト番号が、対応するデータ値の出現順に登録されている。   Also in the example of FIG. 1, each value list has a duplicated value of actual data (hereinafter referred to as “data value”) to which a number (hereinafter referred to as “value list number”) is added. It is registered in the excluded state. In each value number list, value list numbers are registered in the order of appearance of corresponding data values.

但し、図1に示すように、本発明では、図22に示した従来例と異なり、値リストに、データ値(値リスト番号)の値番号リストでの「登録回数」を登録する領域が追加されている。「登録回数」は、値番号リスト内に登録されている各値リスト番号をカウントすることによって得られる値である。なお、図1の例では、項目数は3、値リストの行数は3又は4、値番号リストの行数は7であるが、本発明は、この例に限定されるものではない。本発明は、あらゆるデータに対して適用可能である。   However, as shown in FIG. 1, in the present invention, unlike the conventional example shown in FIG. 22, an area for registering “number of registrations” in the value number list of the data value (value list number) is added to the value list. Has been. The “number of registrations” is a value obtained by counting each value list number registered in the value number list. In the example of FIG. 1, the number of items is 3, the number of rows in the value list is 3 or 4, and the number of rows in the value number list is 7. However, the present invention is not limited to this example. The present invention is applicable to any data.

このため、本発明では、値番号の検索時においては、検索によって特定された対象値の個数が、予め登録されている「登録回数」と一致するまで、検索が行なわれる。つまり、対象値を見つけた回数と、値リストの「登録回数」とが一致すれば、対象となる値番号リストには、それ以上の対象値が存在していないことを意味するため、値番号の検索は終了することになる。   Therefore, in the present invention, at the time of searching for a value number, the search is performed until the number of target values specified by the search matches the “registration count” registered in advance. In other words, if the number of times the target value is found matches the “registration count” in the value list, it means that there are no more target values in the target value number list. The search for will end.

例えば、図2に示すように、対象値が「102」である場合は、「登録回数」は2であるため、値番号リストから、「102」の値リスト番号(2)が2回見つかると、検索は終了する。このように、本発明では、値番号リストを毎回最後まで検索する必要が無いため、システム全体としての検索性能の向上が図られることになる。   For example, as illustrated in FIG. 2, when the target value is “102”, the “number of registrations” is 2, and therefore, when the value list number (2) of “102” is found twice from the value number list. The search ends. As described above, in the present invention, it is not necessary to search the value number list to the end every time, so that the search performance of the entire system can be improved.

また、本発明では、値リストに格納される実データの値の「登録回数」のカウントは、値リストの作成時に行なわれ、その初期値は、例えば「0」に設定される。更に、FAST構造の構築時においては、必ず、値リストの作成が必要な各項目にどのようなデータ値が存在しているのかを、元になるテーブルの全データについて確認する必要がある。従って、データ値の「登録回数」のカウントは、この値リストの作成時に実行できるので、「登録回数」は、システムにおいて大きな負担となることなく、取得可能である。   In the present invention, the “number of registrations” of the actual data stored in the value list is counted when the value list is created, and the initial value is set to “0”, for example. Furthermore, at the time of constructing the FAST structure, it is always necessary to check what data values exist in each item for which a value list needs to be created for all data in the original table. Therefore, since the count of the “registration count” of the data value can be executed when the value list is created, the “registration count” can be acquired without causing a heavy burden on the system.

(実施の形態1)
以下、本発明の実施の形態1における、データベース装置、データ管理方法、及びプログラムについて、図3〜図7を参照しながら説明する。
(Embodiment 1)
Hereinafter, a database device, a data management method, and a program according to Embodiment 1 of the present invention will be described with reference to FIGS.

[装置構成]
最初に、本実施の形態1におけるデータベース装置の構成について図3を用いて説明する。図3は、本発明の実施の形態1におけるデータベース装置の概略構成を示すブロック図である。
[Device configuration]
Initially, the structure of the database apparatus in this Embodiment 1 is demonstrated using FIG. FIG. 3 is a block diagram showing a schematic configuration of the database apparatus according to Embodiment 1 of the present invention.

図3に示すように、本実施の形態1におけるデータベース装置100は、データ管理部10と、処理実行部30とを備えている。このうち、データ管理部10は、番号順にデータ値が登録された値リストと、値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、データ値を管理している(図1参照)。   As shown in FIG. 3, the database device 100 according to the first embodiment includes a data management unit 10 and a process execution unit 30. Among these, the data management unit 10 manages data values using a value list in which data values are registered in order of numbers and a value number list in which values of the value list are registered in order of appearance of corresponding data values. (See FIG. 1).

処理実行部20は、データ値が指定された場合に、まず、指定されたデータ値について値リストの番号を特定し、更に、特定した番号と値番号リストとを照合して、特定した番号の登録順位を抽出する。次いで、処理実行部20は、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する。   When the data value is designated, the process execution unit 20 first identifies the value list number for the designated data value, and further collates the identified number with the value number list to obtain the identified number. Extract registration order. Next, the process execution unit 20 executes a search process related to the specified data value based on the extracted registration order.

また、処理実行部20は、値リストに、それに登録されているデータ値それぞれ毎の、値番号リストでの登録回数が付加されている場合は、指定されたデータ値について、値番号リストでの登録回数を特定する(図2参照)。そして、この場合は、処理実行部20は、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と値番号リストとの照合を停止する(図2参照)。   In addition, when the number of registrations in the value number list for each data value registered in the value list is added to the value list, the process execution unit 20 adds the specified data value in the value number list. The number of registrations is specified (see FIG. 2). In this case, the process execution unit 20 stops collating the specified number with the value number list when the registration ranks can be extracted by the specified number of registrations (see FIG. 2).

このように、データベース装置100では、値リストに、各データ値の値番号リストでの登録回数を付加することで、指定されたデータ値の値リストでの番号と、値番号リストとの照合を最小限にすることができる。このため、データベース装置100によれば、値番号リストを常に最後まで検索する必要がないので、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。   In this way, the database device 100 adds the number of registrations in the value number list of each data value to the value list, thereby collating the number in the value list of the specified data value with the value number list. Can be minimized. For this reason, according to the database apparatus 100, it is not necessary to always search the value number list to the end, so that the search speed can be improved without creating an index.

ここで、図4を用いて、本実施の形態1におけるデータベース装置100の構成を更に具体的に説明する。図4は、本発明の実施の形態1におけるデータベース装置の具体的構成を示すブロック図である。   Here, the configuration of the database apparatus 100 according to the first embodiment will be described more specifically with reference to FIG. FIG. 4 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 1 of the present invention.

図4に示すように、本実施の形態1では、データベース装置100は、データ管理部10及び処理実行部20に加え、更に処理受信部30を備えている。処理受信部30は、ネットワーク300を介して、クライアント210及びAP(Access Point)220といった外部の装置に接続され、外部の装置によって要求された処理(検索処理、更新処理等)を受け付ける。なお、このとき要求された処理には、処理対象となるデータ値の指定も含まれている。   As shown in FIG. 4, in the first embodiment, the database device 100 further includes a process reception unit 30 in addition to the data management unit 10 and the process execution unit 20. The process receiving unit 30 is connected to an external device such as a client 210 and an AP (Access Point) 220 via the network 300, and receives a process (search process, update process, etc.) requested by the external apparatus. Note that the processing requested at this time includes designation of a data value to be processed.

また、本実施の形態1では、処理実行部20は、処理種別解析部21と、検索処理部22と、更新処理部23と、リスト作成部24とを備えている。このうち、処理種別解析部21は、処理受信部30によって受け付けられた処理がどのような処理であるのか、例えば、検索処理及び更新処理のいずれであるのかを解析する。また、処理種別解析部21は、処理対象となるデータ値を特定する。   In the first embodiment, the process execution unit 20 includes a process type analysis unit 21, a search processing unit 22, an update processing unit 23, and a list creation unit 24. Among these, the process type analysis unit 21 analyzes what kind of process the process received by the process reception unit 30 is, for example, a search process or an update process. Further, the processing type analysis unit 21 specifies a data value to be processed.

また、リスト作成部24は、行毎に1又は2以上のデータ値を登録するテーブルから、テーブルの列毎に、データ値を抽出して、値リスト11とそれに対応する値番号リスト12とを作成する。更に、リスト作成部24は、値リスト11の作成の際に、抽出したデータ値毎に、各データ値の抽出回数を特定し、特定した抽出回数を、各データ値の登録回数として、値リスト11に付加する。   In addition, the list creation unit 24 extracts data values for each column of the table from a table that registers one or more data values for each row, and creates a value list 11 and a corresponding value number list 12. create. Furthermore, the list creation unit 24 identifies the number of extractions of each data value for each extracted data value when creating the value list 11, and uses the identified number of extractions as the number of registrations of each data value. 11 is added.

検索処理部22は、図1を用いて説明したように、処理対象となるデータ値の値番号リストでの番号(値番号リスト番号)を特定し、更に、特定した値番号リスト番号における値番号リストでの登録順位を抽出する。また、このときの登録順位の抽出は、値番号リストに付加されている登録回数の数だけ行なわれる。そして、検索処理部22が、抽出した登録順位に基づいて検索処理を実行する。更新処理部23は、要求された処理が更新処理の場合に、値リスト11及び値番号リスト12に格納されている値に対して、更新処理を実行する。   As described with reference to FIG. 1, the search processing unit 22 identifies the number (value number list number) in the value number list of the data value to be processed, and further, the value number in the identified value number list number Extract the registration order in the list. Further, the registration ranks at this time are extracted as many times as the number of registrations added to the value number list. And the search process part 22 performs a search process based on the extracted registration order. The update processing unit 23 performs the update process on the values stored in the value list 11 and the value number list 12 when the requested process is the update process.

データ管理部10は、本実施の形態1では、データ値をFAST構造によって格納及び管理している。具体的には、データ管理部10は、値リスト11と、値番号リスト12とを格納し、これらを管理している。また、図4の例では、1組みの値リスト11及び値番号リスト12のみが図示されているが、実際には、項目の数に応じて、値リスト11及び値番号リスト12が格納されている。   In the first embodiment, the data management unit 10 stores and manages data values using the FAST structure. Specifically, the data management unit 10 stores a value list 11 and a value number list 12 and manages them. In addition, in the example of FIG. 4, only one set of value list 11 and value number list 12 is illustrated, but actually, the value list 11 and value number list 12 are stored according to the number of items. Yes.

また、値リスト11には、各データ値と、各データ値に付加された番号(値リスト番号)と、各データ値の登録回数とが登録されている。値番号リスト12には、データ値の登録順位を表す値番号と、各値番号に対応付けられた値リスト番号とが登録されている。   In the value list 11, each data value, a number added to each data value (value list number), and the number of times each data value is registered are registered. In the value number list 12, a value number indicating the registration order of data values and a value list number associated with each value number are registered.

また、本実施の形態では、データ管理部10は、値リスト11及び値番号リスト12に加えて、抽出回数情報13を格納及び管理している。抽出回数情報13は、処理対象の値リスト番号についての、現時点における登録順位の抽出回数を特定する情報である。従って、検索処理部22及び更新処理部23は、抽出回数情報13を確認することにより、値番号リスト12から、処理対象となるデータ値が今いくつ見つかっているかを特定できる。   In this embodiment, the data management unit 10 stores and manages the extraction number information 13 in addition to the value list 11 and the value number list 12. The extraction number information 13 is information that specifies the number of extractions of the registration order at the present time for the value list number to be processed. Therefore, the search processing unit 22 and the update processing unit 23 can identify the number of data values to be processed from the value number list 12 by checking the extraction number information 13.

[装置動作]
次に、本実施の形態1におけるデータベース装置100の動作について図5〜図8を用いて説明する。また、本実施の形態1では、データベース装置100を動作させることによって、データ管理方法が実施される。よって、本実施の形態1におけるデータ管理方法の説明は、以下のデータ管理装置100の動作説明に代える。また、以下の説明では、適宜、図1〜図4を参酌する。
[Device operation]
Next, the operation of the database apparatus 100 according to the first embodiment will be described with reference to FIGS. In the first embodiment, the data management method is implemented by operating the database apparatus 100. Therefore, the description of the data management method in the first embodiment is replaced with the following description of the operation of the data management apparatus 100. In the following description, FIGS. 1 to 4 are referred to as appropriate.

リスト作成処理:
最初に、図5を用いて、値番号リスト及び値リストの作成処理について説明する。図5は、本発明の実施の形態1におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。また、以下においては、図22(a)に示したテーブルから、図1に示した値番号リスト及び値リストを作成する場合について説明する。
List creation process:
First, a process for creating a value number list and a value list will be described with reference to FIG. FIG. 5 is a flowchart showing an operation during the list creation process of the database device according to the first embodiment of the present invention. In the following, a case will be described in which the value number list and value list shown in FIG. 1 are created from the table shown in FIG.

図5に示すように、最初に、リスト作成部24は、データ管理部10の記憶領域において、値リスト11及び値番号リスト12に使用する領域を確保し、テーブルに登録されている項目の1つを選択する(ステップA1)。   As shown in FIG. 5, first, the list creation unit 24 secures areas to be used for the value list 11 and the value number list 12 in the storage area of the data management unit 10, and sets 1 of items registered in the table. Is selected (step A1).

次に、リスト作成部24は、選択した項目のテーブルにおける行数を表すパラメータiの値を初期値に設定する(ステップA2)。ステップA2における初期値としては、「1」が挙げられる。   Next, the list creation unit 24 sets the value of the parameter i indicating the number of rows in the table of the selected item to an initial value (step A2). The initial value in step A2 is “1”.

次に、リスト作成部24は、テーブル(図22(a)参照)から、ステップA1で選択された項目のi行目のデータ値を取得する(ステップA3)。次に、リスト作成部24は、ステップA3で取得したi行目のデータ値が、値リスト11に存在しているかどうかを判定する(ステップA4)。   Next, the list creation unit 24 acquires the data value of the i-th row of the item selected in step A1 from the table (see FIG. 22A) (step A3). Next, the list creation unit 24 determines whether or not the data value of the i-th line acquired in step A3 exists in the value list 11 (step A4).

ステップA4の判定の結果、i行目のデータ値が値リスト11に存在している場合は、リスト作成部24は、値リスト11において、このデータ値の登録回数に1を加算する(ステップA6)。   If the data value of the i-th row exists in the value list 11 as a result of the determination in step A4, the list creating unit 24 adds 1 to the registration count of this data value in the value list 11 (step A6). ).

一方、ステップA4の判定の結果、i行目のデータ値が値リスト11に存在していない場合は、リスト作成部24は、i行目のデータ値を値リスト11に追加し(ステップA5)、その後、ステップA6を実行する。また、ステップA5では、リスト作成部24は、i行目のデータ値に値リスト番号を付加すると共に、付加した値リスト番号も、値リスト11に追加する。   On the other hand, if it is determined in step A4 that the data value of the i-th row does not exist in the value list 11, the list creation unit 24 adds the data value of the i-th row to the value list 11 (step A5). Thereafter, Step A6 is executed. In step A5, the list creation unit 24 adds a value list number to the data value of the i-th row and also adds the added value list number to the value list 11.

次に、ステップA6の実行後、リスト作成部24は、値番号リスト12において、値番号として、i番を追加する。更に、リスト作成部24は、i番に対応する値リスト番号として、ステップA3で取得されたデータ値に付加されている値リスト番号(ステップA5が実行された場合は、そのときに付加された値リスト番号)を追加する(ステップA7)。   Next, after execution of step A6, the list creation unit 24 adds i-th as a value number in the value number list 12. Furthermore, the list creation unit 24 adds the value list number added to the data value acquired in step A3 as the value list number corresponding to the i-th (if step A5 is executed, it is added at that time) (Value list number) is added (step A7).

次に、リスト作成部24は、iの値に1を加算し(ステップA8)、その後、加算後のiの値がテーブル(データ値)の行数以下であるかどうかを判定する(ステップA9)。   Next, the list creation unit 24 adds 1 to the value of i (step A8), and then determines whether the value of i after the addition is equal to or less than the number of rows in the table (data value) (step A9). ).

ステップA9の判定の結果、iの値がテーブル(データ値)の行数以下である場合は、リスト作成部24は、再度、ステップA3を実行する。一方、ステップA9の判定の結果、iの値がテーブル(データ値)の行数以下でない場合は、リスト作成部24は、全ての項目について値番リスト11及び値番号リスト12が作成済みであるかどうかを判定する(ステップA10)。   If the result of determination in step A9 is that the value of i is less than or equal to the number of rows in the table (data value), the list creation unit 24 executes step A3 again. On the other hand, if the result of determination in step A9 is that the value of i is not less than or equal to the number of rows in the table (data value), the list creation unit 24 has created the value number list 11 and the value number list 12 for all items. (Step A10).

ステップA10の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みでない場合は、リスト作成部24は、再度ステップA1を実行する。一方、ステップA10の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みである場合は、リスト作成部24は、処理を終了する。   As a result of the determination in step A10, if the value number list 11 and the value number list 12 have not been created for all items, the list creation unit 24 executes step A1 again. On the other hand, as a result of the determination in step A10, if the value number list 11 and the value number list 12 have been created for all items, the list creation unit 24 ends the process.

ここで、ステップA1において、項目として「日付」が選択された場合の処理について具体的に説明する(図22(a)参照)。まず、i=1であるとすると、リスト作成部24は、1行目のデータ値「2014/3/1」を取得する。   Here, the processing when “date” is selected as an item in step A1 will be specifically described (see FIG. 22A). First, if i = 1, the list creation unit 24 acquires the data value “2014/3/1” in the first row.

そして、リスト作成部24は、「2014/3/1」が値リストに存在しないため、値リストの1行目に、データ値「2014/3/1」を追加し、更に、このデータ値に対して値リスト番号「1」を付加する。また、リスト作成部24は、データ値「2014/3/1」の登録回数に1を加算する。   Then, since “2014/3/1” does not exist in the value list, the list creation unit 24 adds the data value “2014/3/1” to the first line of the value list, and further adds this data value to this data value. A value list number “1” is added to the value. In addition, the list creation unit 24 adds 1 to the registration count of the data value “2014/3/1”.

更に、リスト作成部24は、値番号リスト12において、値番号として、1番を追加し、更に、値番号「1」に対応する値リスト番号「1」を追加する。   Furthermore, the list creation unit 24 adds “1” as the value number in the value number list 12 and further adds the value list number “1” corresponding to the value number “1”.

次に、i=2となると、リスト作成部24は、2行目のデータ値「2014/3/1」を取得する。このデータ値は、既に値リストに存在するため、リスト作成部24は、値リスト11のデータ値「2014/3/1」の登録回数に1を加算する。また、リスト作成部24は、値番号リス12トにおいて、値番号として、2番を追加し、更に、値番号「2」に対応する値リスト番号「1」を追加する。   Next, when i = 2, the list creation unit 24 acquires the data value “2014/3/1” in the second row. Since this data value already exists in the value list, the list creation unit 24 adds 1 to the registration count of the data value “2014/3/1” in the value list 11. In addition, the list creation unit 24 adds number 2 as the value number in the value number list 12 and further adds a value list number “1” corresponding to the value number “2”.

次に、i=3となると、リスト作成部24は、3行目のデータ値「2014/3/1」を取得する。この場合も、データ値は、既に値リストに存在するため、リスト作成部24は、値リストのデータ値「2014/3/1」の登録回数に1を加算する。また、リスト作成部24は、値番号リスト12において、値番号として、3番を追加し、更に、値番号「3」に対応する値リスト番号「1」を追加する。   Next, when i = 3, the list creation unit 24 acquires the data value “2014/3/1” in the third row. Also in this case, since the data value already exists in the value list, the list creation unit 24 adds 1 to the registration count of the data value “2014/3/1” in the value list. In addition, the list creation unit 24 adds number 3 as the value number in the value number list 12, and further adds a value list number “1” corresponding to the value number “3”.

次に、i=4となると、リスト作成部24は、4行目のデータ値「2014/3/2」を取得する。このデータ値「2014/3/2」は値リストに存在しないため、リスト作成部24は、値リストの2行目に、データ値「2014/3/2」を追加し、更に、このデータ値に対して値リスト番号「2」を付加する。また、リスト作成部24は、データ値「2014/3/2」の登録回数に1を加算する。   Next, when i = 4, the list creation unit 24 acquires the data value “2014/3/2” in the fourth row. Since the data value “2014/3/2” does not exist in the value list, the list creation unit 24 adds the data value “2014/3/2” to the second line of the value list, and further, this data value A value list number “2” is added to In addition, the list creation unit 24 adds 1 to the registration count of the data value “2014/3/2”.

更に、リスト作成部24は、値番号リスト12において、値番号として、4番を追加し、更に、値番号「4」に対応する値リスト番号「2」を追加する。   Further, the list creating unit 24 adds the number 4 as the value number in the value number list 12, and further adds the value list number “2” corresponding to the value number “4”.

そして、リスト作成部24は、同様の処理を、i=7まで繰り返し、「日付」について、図1に示す値リスト及び値番号リストを作成する。また、リスト作成部24は、項目「顧客ID」と項目「商品名」とについても、i=1〜i=7までの処理を実行し、これらの項目についても図1に示す値リスト及び値番号リストを作成する。   Then, the list creation unit 24 repeats the same processing until i = 7, and creates the value list and value number list shown in FIG. 1 for “date”. Further, the list creation unit 24 executes the processes from i = 1 to i = 7 for the item “customer ID” and the item “product name”, and the value list and value shown in FIG. Create a number list.

検索処理:
続いて、図6を用いて、値番号リスト及び値リストを利用した検索処理について説明する。図6は、本発明の実施の形態1におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。
Search process:
Next, a search process using a value number list and a value list will be described with reference to FIG. FIG. 6 is a flowchart showing an operation during the search process of the database device in the first embodiment of the present invention. In the following, the case of using the value number list and value list shown in FIG. 1 will be described.

図6に示すように、最初に、検索処理部22は、検索対象となるデータ値(以下「検索対象値」と表記する。)の値リスト番号を取得する(ステップB1)。次に、検索処理部22は、値リストに格納されている、検索対象値の登録回数を取得する(ステップB2)。   As shown in FIG. 6, first, the search processing unit 22 acquires a value list number of a data value to be searched (hereinafter referred to as “search target value”) (step B1). Next, the search processing unit 22 acquires the number of registrations of the search target value stored in the value list (step B2).

次に、検索処理部22は、値番号リストの行数を示すパラメータjの値を初期値の「1」に設定し、更に、対象データ一致カウンタkの値を初期値の「0」に設定する(ステップB3)。なお、対象データ一致カウンタkは、検索対象値の値リスト番号が値番号リストにおいて一致した回数を示すパラメータである。また対象データ一致カウンタkの値は、抽出回数情報13として、データ管理部10に格納される。   Next, the search processing unit 22 sets the value of the parameter j indicating the number of rows in the value number list to the initial value “1”, and further sets the value of the target data match counter k to the initial value “0”. (Step B3). The target data match counter k is a parameter indicating the number of times that the value list number of the search target value matches in the value number list. The value of the target data match counter k is stored in the data management unit 10 as the extraction number information 13.

次に、検索処理部22は、kの値が、ステップB2で取得された検索対象値の登録回数より小さいかどうかを判定する(ステップB4)。ステップB4の判定の結果、kの値が、ステップB2で取得された検索対象値の登録回数より小さくない場合は、検索処理部22は、処理を終了する。   Next, the search processing unit 22 determines whether or not the value of k is smaller than the number of registrations of the search target value acquired in Step B2 (Step B4). As a result of the determination in step B4, when the value of k is not smaller than the number of registrations of the search target value acquired in step B2, the search processing unit 22 ends the process.

一方、ステップB4の判定の結果、kの値が、ステップB2で取得された検索対象値の登録回数より小さい場合は、検索処理部22は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップB5)。   On the other hand, if the result of determination in step B4 is that the value of k is smaller than the number of registrations of the search target value acquired in step B2, the search processing unit 22 determines that the value of j is less than the total number of values in the value number list. (Step B5).

ステップB5の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部22は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部22は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップB6)。   As a result of the determination in step B5, if the value of j is not less than the total number of rows in the value number list, the search processing unit 22 ends the process. On the other hand, if the value of j is equal to or less than the total number of rows in the value number list, the search processing unit 22 acquires a value list number associated with the value number j in the value number list (step B6).

次に、検索処理部22は、ステップB6で取得された、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する(ステップB7)。   Next, the search processing unit 22 determines whether or not the value list number associated with the value number j acquired in step B6 matches the value list number of the search target value (step B7). .

ステップB7の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致していない場合は、検索処理部22は、jの値に1を加算し(ステップB8)、その後、再度ステップB6を実行する。   As a result of the determination in step B7, when the value list number associated with the value number j does not match the value list number of the search target value, the search processing unit 22 adds 1 to the value of j. (Step B8) Then, Step B6 is executed again.

一方、ステップB7の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致している場合は、検索処理部22は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップB9)。   On the other hand, as a result of the determination in step B7, if the value list number associated with the value number j matches the value list number of the search target value, the search processing unit 22 returns the value number of the value number list. j is acquired as the registration order of search target values (step B9).

次に、検索処理部22は、jの値に1を加算し、更に、kの値にも1を加算する(ステップB10)。その後、検索処理部22は、再度、ステップB4を実行する。   Next, the search processing unit 22 adds 1 to the value of j, and further adds 1 to the value of k (step B10). Thereafter, the search processing unit 22 executes Step B4 again.

ここで、検索対象値が顧客ID「102」である場合の検索処理について具体的に説明する(図1参照)。まず、検索処理部22は、顧客IDの値リストから、検索対象である「102」の値リスト番号を取得する。検索対象値「102」は、値リストの2行目に格納されているので、検索処理部22は、値リスト番号として「2」を取得する(図1参照)。更に、検索処理部22は、検索対象値「102」の登録回数として、「2」を取得する(図1参照)。   Here, the search process when the search target value is the customer ID “102” will be specifically described (see FIG. 1). First, the search processing unit 22 acquires the value list number of “102” as a search target from the value list of the customer ID. Since the search target value “102” is stored in the second row of the value list, the search processing unit 22 acquires “2” as the value list number (see FIG. 1). Further, the search processing unit 22 acquires “2” as the registration count of the search target value “102” (see FIG. 1).

次に、検索処理部22は、値番号リストの値番号「1」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合、前者は「1」で、後者は「2」であるので、検索処理部102は、一致していないと判断し、jの値に1を加算する。   Next, the search processing unit 22 determines whether or not the value list number associated with the value number “1” in the value number list matches the value list number of the search target value. In this case, since the former is “1” and the latter is “2”, the search processing unit 102 determines that they do not match, and adds 1 to the value of j.

次に、検索処理部22は、値番号リストの値番号「2」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部22は、値番号リストの値番号「2」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。   Next, the search processing unit 22 determines whether or not the value list number associated with the value number “2” in the value number list matches the value list number of the search target value. In this case, since the former is “2” and the latter is also “2”, the search processing unit 22 determines that they match. Therefore, the search processing unit 22 acquires the value number “2” in the value number list as the registration order of the search target value, and further adds 1 to each of the value of j and the value of k.

次に、検索処理部22は、値番号リストの値番号「3」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合、前者は「1」で、後者は「2」であるので、検索処理部22は、一致していないと判断し、jの値に1を加算する。   Next, the search processing unit 22 determines whether or not the value list number associated with the value number “3” in the value number list matches the value list number of the search target value. In this case, since the former is “1” and the latter is “2”, the search processing unit 22 determines that they do not match, and adds 1 to the value of j.

次に、検索処理部22は、値番号リストの値番号「4」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合も、前者は「1」で、後者は「2」であるので、検索処理部102は、一致していないと判断し、jの値に1を加算する。   Next, the search processing unit 22 determines whether the value list number associated with the value number “4” in the value number list matches the value list number of the search target value. Also in this case, since the former is “1” and the latter is “2”, the search processing unit 102 determines that they do not match and adds 1 to the value of j.

次に、検索処理部22は、値番号リストの値番号「5」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部102は、値番号リストの値番号「5」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。   Next, the search processing unit 22 determines whether or not the value list number associated with the value number “5” in the value number list matches the value list number of the search target value. In this case, since the former is “2” and the latter is also “2”, the search processing unit 22 determines that they match. Therefore, the search processing unit 102 acquires the value number “5” in the value number list as the registration order of the search target value, and further adds 1 to each of the value of j and the value of k.

そして、この結果、kの値が検索対象値の登録回数と同じとなり、ステップB4の判定がNoとなるので、検索処理部22は処理を終了する。   As a result, the value of k becomes the same as the number of registrations of the search target value, and the determination in step B4 is No, so the search processing unit 22 ends the process.

また、登録順位として、値番号「2」と値番号「5」とが取得されているので、検索処理部22は、他の項目についての検索も指示されている場合は、これらの値番号を用いて、指示の対象となった項目の値番号リストと値リストとを検索する。このように、本実施の形態1では、値番号リストを全て検索することなく、検索対象値を取得することが可能となっている。   Further, since the value number “2” and the value number “5” are acquired as the registration order, the search processing unit 22 uses these value numbers when a search for other items is also instructed. And search the value number list and the value list of the item to be instructed. As described above, in the first embodiment, it is possible to acquire the search target value without searching the entire value number list.

更新処理:
続いて、図7を用いて、値番号リスト及び値リストの更新処理について説明する。図7は、本発明の実施の形態1におけるデータベース装置の更新処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。
Update process:
Next, the value number list and value list update processing will be described with reference to FIG. FIG. 7 is a flowchart showing an operation at the time of update processing of the database apparatus in the first embodiment of the present invention. In the following, the case of using the value number list and value list shown in FIG. 1 will be described.

図7に示すように、最初に、更新処理部23は、要求された更新処理において更新対象となっているデータ値(以下「更新前データ値」と表記する。)を特定し、その値リスト番号を取得する(ステップC1)。   As shown in FIG. 7, first, the update processing unit 23 specifies a data value (hereinafter referred to as “pre-update data value”) that is an update target in the requested update process, and its value list. A number is acquired (step C1).

次に、更新処理部23は、値リストに格納されている、更新前データ値の登録回数を取得し(ステップC2)、更に、取得した登録回数から1を減算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップC3)。   Next, the update processing unit 23 acquires the number of registrations of the pre-update data value stored in the value list (step C2), and further subtracts 1 from the acquired number of registrations, The number of registrations stored in the value list is updated (step C3).

次に、更新処理部23は、要求された更新処理で指定されている更新後のデータ値(以下「更新後データ値」と表記する。)を特定し、特定した更新後データ値が値リストに存在するかどうかを判定する(ステップC4)。   Next, the update processing unit 23 specifies an updated data value (hereinafter referred to as “updated data value”) specified in the requested update process, and the specified updated data value is a value list. (Step C4).

ステップC4の判定の結果、更新後データ値が値リストに存在する場合は、更新処理部23は、値リストに格納されている、更新後データ値に対応する登録回数を取得する(ステップC5)。次に、更新処理部23は、ステップC5で取得した登録回数に1を加算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップC6)。   If the updated data value exists in the value list as a result of the determination in step C4, the update processing unit 23 acquires the number of registrations corresponding to the updated data value stored in the value list (step C5). . Next, the update processing unit 23 adds 1 to the number of registrations acquired in step C5, and updates the number of registrations stored in the value list with the obtained value (step C6).

一方、ステップC4の判定の結果、更新後データ値が値リストに存在しない場合は、更新処理部23は、値リストに、更新後データ値を新たなデータ値として格納する(ステップC7)。また、更新処理部23は、更新後データ値に新たな値リスト番号を付加する。次に、更新処理部23は、新たなデータ値の登録回数として「1」を格納する。   On the other hand, if the updated data value does not exist in the value list as a result of the determination in step C4, the update processing unit 23 stores the updated data value in the value list as a new data value (step C7). Further, the update processing unit 23 adds a new value list number to the updated data value. Next, the update processing unit 23 stores “1” as the registration count of the new data value.

次に、ステップC6又はC8の実行後、更新処理部23は、更新後データ値の値リスト番号を、値番号リストの更新箇所に格納する(ステップC9)。これにより、更新前データ値の更新がなされたことになる。   Next, after executing step C6 or C8, the update processing unit 23 stores the value list number of the updated data value in the update location of the value number list (step C9). As a result, the pre-update data value is updated.

次に、更新処理部23は、全ての更新前データ値について更新処理が終了しているかどうかを判定する(ステップC10)。ステップC10の判定の結果、全ての更新前データ値について更新処理が終了していない場合は、更新処理部23は、再度、ステップC1を実行する。一方、ステップC10の判定の結果、全ての更新前データ値について更新処理が終了している場合は、更新処理部23は、処理を終了する。   Next, the update processing unit 23 determines whether or not the update process has been completed for all pre-update data values (step C10). If the result of determination in step C10 is that the update processing has not been completed for all pre-update data values, the update processing unit 23 executes step C1 again. On the other hand, as a result of the determination in step C10, if the update process has been completed for all pre-update data values, the update processing unit 23 ends the process.

ここで、図8を用いて、「2014/3/2」に「lemon」を買った顧客のIDを「103」に更新する場合の更新処理について具体的に説明する(図1参照)。図8は、本発明の実施の形態1における更新処理の一例を説明するための図である。   Here, with reference to FIG. 8, the update process in the case where the ID of the customer who bought “lemon” in “2014/3/2” is updated to “103” will be described in detail (see FIG. 1). FIG. 8 is a diagram for explaining an example of update processing according to Embodiment 1 of the present invention.

まず、図8に示すように、更新処理部23は、「2014/3/2」に「lemon」を購入した顧客のIDを検索する。本例では、値番号リストにおいて、日付「2014/3/2」に対応する値番号は「4」である。   First, as illustrated in FIG. 8, the update processing unit 23 searches for the ID of a customer who purchased “lemon” for “2014/3/2”. In this example, in the value number list, the value number corresponding to the date “2014/3/2” is “4”.

よって、更新処理部23は、顧客IDの値番号リストの値番号「4」に対応する値リスト番号が「1」であるので、値リスト番号「1」が付加されているデータ値(「101」)を、更新前データ値として特定する。また、更新処理部23は、更新前データ値「101」の登録回数を4から1減算し、「3」とする。   Therefore, since the value list number corresponding to the value number “4” in the value number list of the customer ID is “1”, the update processing unit 23 has the data value (“101” added with the value list number “1”). )) Is specified as the pre-update data value. Further, the update processing unit 23 subtracts 1 from the registration count of the pre-update data value “101” from 4 to obtain “3”.

次に、更新処理部23は、更新後データ値「103」が、値リストに存在するかどうかを判定する。本例では、更新後データ値は、値リストに存在し、その値リスト番号は「3」であるので、対応する登録回数に1を加算し、「2」とする。更に、更新処理部23は、値番号リストの更新箇所(値番号「4」の値リスト番号)に、新たに値リスト番号「3」を格納する。   Next, the update processing unit 23 determines whether the updated data value “103” exists in the value list. In this example, the updated data value exists in the value list, and the value list number is “3”. Therefore, 1 is added to the corresponding registration count to obtain “2”. Further, the update processing unit 23 newly stores the value list number “3” in the update location of the value number list (value list number of the value number “4”).

更新箇所が複数存在する場合は、更新処理部23は、上述の処理を必要なだけ実行する。また、値リストのデータ値に紐付けられている登録回数が変更されても、本実施の形態1では、既存の値番号リストと値リストとはそのまま使用できる。このため、本実施の形態1では、従来からのインデックスを用いる場合と異なり、更新が入る度に、各リストを作成し直す必要はない。   When there are a plurality of update locations, the update processing unit 23 performs the above-described processing as many times as necessary. Further, even if the number of registrations associated with the data value of the value list is changed, in the first embodiment, the existing value number list and value list can be used as they are. For this reason, in the first embodiment, unlike the case of using a conventional index, it is not necessary to recreate each list every time an update is made.

[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図5に示すステップA1〜A10、図6に示すステップB1〜B10、図7に示すステップC1〜C10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるデータベース装置100とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部20及び処理受信部30として機能し、処理を行なう。また、データ管理部10は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
[program]
The program in the first embodiment may be a program that causes a computer to execute steps A1 to A10 shown in FIG. 5, steps B1 to B10 shown in FIG. 6, and steps C1 to C10 shown in FIG. By installing and executing this program on a computer, the database apparatus 100 and the data management method according to the first embodiment can be realized. In this case, a CPU (Central Processing Unit) of the computer functions as the process execution unit 20 and the process reception unit 30 to perform processing. The data management unit 10 can be realized by a storage device such as a hard disk provided in the computer.

[実施の形態1による効果]
以上のように、本実施の形態1によれば、検索処理において、値番号リストを常に最後まで検索する必要がなく、検索対象値が見つかった時点で、値番号リストの検索処理が終了する。このため、検索にかかる時間が従来例に比べて平均すると半分程度になると予想され、検索速度の向上が図られる。
[Effects of Embodiment 1]
As described above, according to the first embodiment, in the search process, it is not always necessary to search the value number list to the end, and when the search target value is found, the value number list search process ends. For this reason, the time required for the search is expected to be about half that on average compared to the conventional example, and the search speed can be improved.

また、本実施の形態1では、データ値の削除が行なわれた場合は、対応する登録回数がゼロとなるため、削除されたデータ値が検索対象となったときは、検索処理が実行されない状態となる。よって、この点からも検索速度の向上が期待される。   Further, in the first embodiment, when a data value is deleted, the corresponding registration count is zero. Therefore, when the deleted data value is a search target, the search process is not executed. It becomes. Therefore, an improvement in search speed is also expected from this point.

更に、本実施の形態1では、従来例のように、インデックスが作成されないため、更新処理の実行中に別の更新処理が要求されても、既に実行されている更新処理の継続は可能となる。また、インデックスが作成されないので、インデックスの再生成も不要となる。よって、インデックスの再作成に時間がかかることが無いので、システム全体としての性能も向上する。   Further, in the first embodiment, since an index is not created as in the conventional example, even if another update process is requested during the execution of the update process, the already executed update process can be continued. . Further, since no index is created, it is not necessary to regenerate the index. Therefore, since it does not take time to re-create the index, the performance of the entire system is improved.

(実施の形態2)
次に、本発明の実施の形態2における、データベース装置、データ管理方法、及びプログラムについて、図9〜図12を参照しながら説明する。
(Embodiment 2)
Next, a database device, a data management method, and a program according to Embodiment 2 of the present invention will be described with reference to FIGS.

[装置構成]
最初に、本実施の形態2におけるデータベース装置の構成について図9を用いて説明する。図9は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。
[Device configuration]
Initially, the structure of the database apparatus in this Embodiment 2 is demonstrated using FIG. FIG. 9 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 2 of the present invention.

図9に示すように、本実施の形態2におけるデータベース装置101は、実施の形態1において図2に示したデータベース装置100と同様に、データ管理部40と、処理実行部50と、処理受信部60とを備えている。但し、本実施の形態2は、処理実行部50の機能と、データ管理部40に格納される情報とにおいて、実施の形態1と異なっている。以下、相違点について具体的に説明する。   As shown in FIG. 9, the database apparatus 101 in the second embodiment is similar to the database apparatus 100 shown in FIG. 2 in the first embodiment, with a data management unit 40, a process execution unit 50, and a process reception unit. 60. However, the second embodiment is different from the first embodiment in the function of the processing execution unit 50 and the information stored in the data management unit 40. Hereinafter, the difference will be specifically described.

まず、本実施の形態2では、処理実行部50における検索処理部52は、複数のデータ値が指定されると、指定されたデータ値(検索対象値)毎に、値番号リストでの登録回数を特定する。そして、検索処理部52は、各検索対象値について、対応する登録回数の数だけ登録順位が抽出できた時点で、値リスト番号と値番号リストとの照合を停止する。また、検索処理部52は、各検索対象値の値リスト番号を特定し、特定した値リスト番号を格納した「検査対象列」を作成し、これをデータ管理部40に出力する。   First, in the second embodiment, when a plurality of data values are specified, the search processing unit 52 in the processing execution unit 50 counts the number of registrations in the value number list for each specified data value (search target value). Is identified. And the search process part 52 stops collation with a value list number and a value number list | wrist at the time of having registered the registration order | rank for the number of corresponding registrations about each search object value. Further, the search processing unit 52 specifies the value list number of each search target value, creates a “test target column” that stores the specified value list number, and outputs this to the data management unit 40.

本実施の形態2では、このように、検索対象値毎に検索処理が行なわれるため、データ管理部40は、検索対象値の数だけ、抽出回数情報43を格納及び管理する。また、データ管理部40は、出力されてきた検査対象列を特定する検査対象列情報44も格納及び管理する。   In the second embodiment, since the search process is performed for each search target value in this way, the data management unit 40 stores and manages the extraction count information 43 by the number of search target values. The data management unit 40 also stores and manages the inspection target column information 44 that specifies the output inspection target column.

なお、上述した相違点を除けば、本実施の形態2におけるデータベース装置101は、実施の形態1において図2に示したデータベース装置101と同様に構成されている。   Except for the differences described above, the database apparatus 101 in the second embodiment is configured in the same manner as the database apparatus 101 shown in FIG. 2 in the first embodiment.

[装置動作]
次に、本実施の形態2におけるデータベース装置101の動作について図10を用いて説明する。また、本実施の形態2でも、データベース装置101を動作させることによって、データ管理方法が実施される。よって、本実施の形態2におけるデータ管理方法の説明も、以下のデータ管理装置101の動作説明に代える。また、以下の説明では、適宜、図9を参酌する。
[Device operation]
Next, the operation of the database apparatus 101 according to the second embodiment will be described with reference to FIG. Also in the second embodiment, the data management method is implemented by operating the database apparatus 101. Therefore, the description of the data management method in the second embodiment is also replaced with the following description of the operation of the data management apparatus 101. In the following description, FIG. 9 is referred to as appropriate.

図10は、本発明の実施の形態2におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。なお、本実施の形態2において、リスト作成処理及び更新処理は、実施の形態1と同様であるので、これらの処理の説明については省略する。   FIG. 10 is a flowchart showing the operation during the search process of the database device in the second embodiment of the present invention. In the following, the case of using the value number list and value list shown in FIG. 1 will be described. In the second embodiment, the list creation process and the update process are the same as those in the first embodiment, and a description thereof will be omitted.

図10に示すように、最初に、検索処理部52は、複数の検索対象値それぞれについて、値リスト番号を取得する(ステップD1)。また、ステップD1では、検索処理部52は、取得した各値リスト番号を格納した「検索対象列」を作成し、これを検索対象列情報44として、データ管理部40に格納する。   As shown in FIG. 10, first, the search processing unit 52 acquires a value list number for each of a plurality of search target values (step D1). In step D <b> 1, the search processing unit 52 creates a “search target column” that stores each acquired value list number, and stores this in the data management unit 40 as search target column information 44.

次に、検索処理部22は、検索対象値毎に、値リストに格納されている、検索対象値の登録回数を取得する(ステップD2)。   Next, the search processing unit 22 acquires the number of registrations of the search target value stored in the value list for each search target value (step D2).

次に、検索処理部22は、値番号リストの行数を示すパラメータjの値を初期値の「1」に設定し、更に、対象データ一致カウンタk1、k2、・・・kn(n:自然数)それぞれの値を初期値の「0」に設定する(ステップD3)。なお、対象データ一致カウンタk1、k2、・・・kn、それぞれは、検索対象値毎の、値リスト番号が値番号リストにおいて一致した回数を示すパラメータである。また、対象データ一致カウンタk1、k2、・・・kn、それぞれは、抽出回数情報43として、データ管理部10に格納される。   Next, the search processing unit 22 sets the value of the parameter j indicating the number of rows in the value number list to the initial value “1”, and further sets the target data match counters k1, k2,... Kn (n: natural number) ) Set each value to the initial value “0” (step D3). Note that each of the target data match counters k1, k2,... Kn is a parameter indicating the number of times the value list number matches in the value number list for each search target value. Further, each of the target data matching counters k1, k2,... Kn is stored in the data management unit 10 as the extraction number information 43.

次に、検索処理部52は、k1〜knの全ての値が、ステップD2で取得された対応する検索対象値の登録回数より小さいかどうかを判定する(ステップD4)。ステップD4の判定の結果、k1〜knの全ての値が、対応する検索対象値の登録回数より小さい場合は、検索処理部52は、ステップD7を実行する。   Next, the search processing unit 52 determines whether or not all the values of k1 to kn are smaller than the number of registrations of the corresponding search target value acquired in Step D2 (Step D4). As a result of the determination in step D4, if all the values of k1 to kn are smaller than the number of registrations of the corresponding search target value, the search processing unit 52 executes step D7.

一方、ステップD4の判定の結果、k1〜knの全ての値が、対応する検索対象値の登録回数より小さくない場合(1つでも登録回数以上となっている場合)は、検索処理部52は、登録回数以上となっている対象データ一致カウンタkを特定する。そして、検索処理部52は、検索対象列情報から、特定した対象データ一致カウンタkに対応する検索対象地の値リスト番号を削除する(ステップD5)。   On the other hand, as a result of the determination in step D4, when all the values of k1 to kn are not smaller than the number of registrations of the corresponding search target value (when one is more than the number of registrations), the search processing unit 52 The target data matching counter k that is equal to or greater than the registration count is specified. Then, the search processing unit 52 deletes the value list number of the search target location corresponding to the specified target data match counter k from the search target column information (step D5).

次に、ステップD5の実行後、検索処理部52は、検索対象列情報に未だ値リスト番号が存在しているかどうかを判定する(ステップD6)。ステップD6の判定の結果、検索対象列情報に未だ値リスト番号が存在していない場合は、検索処理部52は、処理を終了する。一方、ステップD6の判定の結果、検索対象列情報に未だ値リスト番号が存在している場合は、検索処理部52は、ステップD7を実行する。   Next, after executing step D5, the search processing unit 52 determines whether or not a value list number still exists in the search target column information (step D6). As a result of the determination in step D6, if the value list number does not yet exist in the search target column information, the search processing unit 52 ends the process. On the other hand, as a result of the determination in step D6, if the value list number still exists in the search target column information, the search processing unit 52 executes step D7.

次に、ステップD4でYesと判定された場合、又はステップD6が実行された場合は、検索処理部52は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップD7)。   Next, when it is determined Yes in step D4 or when step D6 is executed, the search processing unit 52 determines whether the value of j is equal to or less than the total number of rows in the value number list ( Step D7).

ステップD7の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部52は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部52は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップD8)。   If the value of j is not less than or equal to the total number of values in the value number list as a result of the determination in step D7, the search processing unit 52 ends the process. On the other hand, if the value of j is equal to or less than the total number of rows in the value number list, the search processing unit 52 acquires the value list number associated with the value number j in the value number list (step D8).

次に、検索処理部52は、検索対象列情報において、ステップD8で取得された値番号jに対応付けられた値リスト番号と一致する、値リスト番号が存在しているかどうかを判定する(ステップD9)。   Next, the search processing unit 52 determines whether or not there is a value list number that matches the value list number associated with the value number j acquired in Step D8 in the search target column information (Step S8). D9).

ステップD9の判定の結果、値番号jに対応付けられた値リスト番号に一致する値リスト番号が存在していない場合は、検索処理部52は、jの値に1を加算し(ステップD10)、その後、再度ステップD8を実行する。   As a result of the determination in step D9, if there is no value list number that matches the value list number associated with the value number j, the search processing unit 52 adds 1 to the value of j (step D10). Thereafter, Step D8 is executed again.

一方、ステップD9の判定の結果、値番号jに対応付けられた値リスト番号に一致する値リスト番号が存在している場合は、検索処理部52は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップD11)。   On the other hand, as a result of the determination in step D9, if there is a value list number that matches the value list number associated with the value number j, the search processing unit 52 searches for the value number j in the value number list. Obtained as the registration order of the target value (step D11).

次に、検索処理部52は、jの値に1を加算し、更に、値番号jに対応付けられた値リスト番号を持つ検索対象値を特定し、特定した検索対象値の対象データ一致カウンタkの値にも1を加算する(ステップD12)。その後、検索処理部52は、再度、ステップD4を実行する。   Next, the search processing unit 52 adds 1 to the value of j, further specifies the search target value having the value list number associated with the value number j, and the target data match counter of the specified search target value 1 is also added to the value of k (step D12). Thereafter, the search processing unit 52 executes Step D4 again.

ここで、2つの検索対象値を一度に検索する場合の具体例について図11及び図12を用いて説明する(図1参照)。図11(a)及び(b)は、従来からのカラムストア型データベースにおける検索対象値が2つである場合の検索処理を説明するための図である。図12は、本発明の実施の形態2におけるデータベース装置における検索対象値が2つである場合の検索処理を説明するための図である。   Here, a specific example in the case where two search target values are searched at once will be described with reference to FIGS. 11 and 12 (see FIG. 1). FIGS. 11A and 11B are diagrams for explaining search processing when there are two search target values in a conventional column store database. FIG. 12 is a diagram for explaining search processing when there are two search target values in the database apparatus according to Embodiment 2 of the present invention.

図11(a)に示すように、従来からのカラムストア型データベースにおいて、検索対象値として「2014/3/1」と「2014/3/3」とが入力されたとする。この場合、まず、「2014/3/1」について、値リストからの値リスト番号の取得、取得した値リスト番号と値番号リストの全値番号との比較が行なわれる。次いで、「2014/3/3」について、値リストからの値リスト番号の取得、取得した値リスト番号と値番号リストの全値番号との比較が行なわれる。   As shown in FIG. 11A, it is assumed that “2014/3/1” and “2014/3/3” are input as search target values in a conventional column store database. In this case, for “2014/3/1”, first, the value list number is acquired from the value list, and the acquired value list number is compared with all value numbers in the value number list. Next, for “2014/3/3”, the acquisition of the value list number from the value list and the comparison between the acquired value list number and all the value numbers in the value number list are performed.

また、図11(b)に示すように、従来からのカラムカラムストア型データベースでは、2つの検索対象値について、順に値リスト番号を取得したのち、2つの値リスト番号を、同時に、値番号リストに照合することもできる。但し、この場合であっても、取得した2つの値リスト番号と値番号リストの全値番号との比較は必要となる。   In addition, as shown in FIG. 11B, in the conventional column / column store database, after obtaining the value list numbers in order for two search target values, the two value list numbers are simultaneously converted into the value number list. Can also be matched. However, even in this case, it is necessary to compare the acquired two value list numbers with all the value numbers in the value number list.

これに対して、図12に示すように、本実施の形態2におけるデータベース装置101では、2つの検索対象値の2つの値リスト番号を、同時に、値番号リストに照合でき、更に、各検索対象値について値番号リストを常に最後まで検索する必要もない。このように、本実施の形態2では、2つの検索対象値について同時に検索を行なう場合において、検索範囲を縮小させることが可能であり、検索速度の向上が図られる。   On the other hand, as shown in FIG. 12, in the database apparatus 101 according to the second embodiment, two value list numbers of two search target values can be collated with the value number list at the same time. There is no need to always search through the list of value numbers for values. As described above, in the second embodiment, when searching for two search target values at the same time, the search range can be reduced and the search speed can be improved.

[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図10に示すステップD1〜D12、図5に示すステップA1〜A10、図7に示すステップC1〜C10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2におけるデータベース装置101とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部50及び処理受信部60として機能し、処理を行なう。また、データ管理部40は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
[program]
The program in the second embodiment may be a program that causes a computer to execute steps D1 to D12 shown in FIG. 10, steps A1 to A10 shown in FIG. 5, and steps C1 to C10 shown in FIG. By installing and executing this program on a computer, the database apparatus 101 and the data management method according to the second embodiment can be realized. In this case, a CPU (Central Processing Unit) of the computer functions as the process execution unit 50 and the process reception unit 60 to perform processing. The data management unit 40 can be realized by a storage device such as a hard disk provided in the computer.

(実施の形態3)
次に、本発明の実施の形態3における、データベース装置、データ管理方法、及びプログラムについて、図13〜図20を参照しながら説明する。
(Embodiment 3)
Next, a database device, a data management method, and a program according to Embodiment 3 of the present invention will be described with reference to FIGS.

[装置構成]
最初に、本実施の形態3におけるデータベース装置の構成について図13を用いて説明する。図13は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。
[Device configuration]
Initially, the structure of the database apparatus in this Embodiment 3 is demonstrated using FIG. FIG. 13 is a block diagram showing a specific configuration of the database apparatus according to Embodiment 2 of the present invention.

図13に示すように、本実施の形態3におけるデータベース装置102は、実施の形態1において図2に示したデータベース装置100と同様に、データ管理部70と、処理実行部80と、処理受信部90とを備えている。但し、本実施の形態3は、処理実行部80の機能と、データ管理部70に格納される情報とにおいて、実施の形態1と異なっている。以下、相違点について具体的に説明する。   As shown in FIG. 13, the database apparatus 102 in the third embodiment is similar to the database apparatus 100 shown in FIG. 2 in the first embodiment, with a data management unit 70, a process execution unit 80, and a process reception unit. 90. However, the third embodiment differs from the first embodiment in the function of the processing execution unit 80 and the information stored in the data management unit 70. Hereinafter, the difference will be specifically described.

まず、処理実行部80におけるリスト作成部84は、実施の形態1及び2と同様に、値リスト71に、それに登録されているデータ値71b毎に、値番号リスト71での登録回数を付加する。そして、本実施の形態3では、リスト作成部84は、各データ値の値番号リスト71における最先の登録順位(以下「先頭位置」とも表記する。)も付加する(後述の図17参照)。   First, the list creation unit 84 in the process execution unit 80 adds the number of registrations in the value number list 71 to the value list 71 for each data value 71b registered in the value list 71 as in the first and second embodiments. . In the third embodiment, the list creation unit 84 also adds the earliest registration order (hereinafter also referred to as “start position”) in the value number list 71 of each data value (see FIG. 17 described later). .

また、値リスト71の先頭位置71dにより、処理実行部80における検索処理部82は、検索処理時において、先頭位置から、検索対象値の値リスト番号と値番号リストとの照合を開始することができる。このため、本実施の形態3によれば、検索の開始位置を狭めることができるので、よりいっそうの検索速度の向上が図られる。   Further, the search processing unit 82 in the process execution unit 80 can start collating the value list number of the search target value with the value number list from the top position at the time of the search process by the start position 71d of the value list 71. it can. For this reason, according to the third embodiment, since the search start position can be narrowed, the search speed can be further improved.

なお、上述した相違点を除けば、本実施の形態3におけるデータベース装置102は、実施の形態1において図2に示したデータベース装置101と同様に構成されている。   Except for the differences described above, the database apparatus 102 in the third embodiment is configured in the same manner as the database apparatus 101 shown in FIG. 2 in the first embodiment.

[装置動作]
次に、本実施の形態3におけるデータベース装置102の動作について図14〜図20を用いて説明する。また、本実施の形態1では、データベース装置100を動作させることによって、データ管理方法が実施される。よって、本実施の形態1におけるデータ管理方法の説明は、以下のデータ管理装置100の動作説明に代える。また、以下の説明では、適宜、図13を参酌する。
[Device operation]
Next, the operation of the database apparatus 102 according to the third embodiment will be described with reference to FIGS. In the first embodiment, the data management method is implemented by operating the database apparatus 100. Therefore, the description of the data management method in the first embodiment is replaced with the following description of the operation of the data management apparatus 100. In the following description, FIG. 13 is referred to as appropriate.

リスト作成処理:
最初に、図14を用いて、値番号リスト及び値リストの作成処理について説明する。図14は、本発明の実施の形態3におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。また、以下においては、図22(a)に示したテーブルから、図15に示す値番号リスト及び値リストを作成する場合について説明する。
List creation process:
First, the creation process of the value number list and the value list will be described with reference to FIG. FIG. 14 is a flowchart showing an operation at the time of list creation processing of the database device according to the third embodiment of the present invention. In the following, a case will be described in which the value number list and value list shown in FIG. 15 are created from the table shown in FIG.

図14に示すように、最初に、リスト作成部84は、データ管理部70の記憶領域において、値リスト71及び値番号リスト72に使用する領域を確保し、テーブルに登録されている項目の1つを選択する(ステップE1)。   As illustrated in FIG. 14, first, the list creation unit 84 secures areas to be used for the value list 71 and the value number list 72 in the storage area of the data management unit 70, and sets one of the items registered in the table. Is selected (step E1).

次に、リスト作成部84は、選択した項目のテーブルにおける行数を表すパラメータiの値を初期値に設定する(ステップE2)。ステップE2における初期値としては、「1」が挙げられる。   Next, the list creation unit 84 sets the value of the parameter i indicating the number of rows in the table of the selected item to an initial value (step E2). As an initial value in step E2, “1” is given.

次に、リスト作成部84は、テーブル(図22(a)参照)から、ステップE1で選択された項目のi行目のデータ値を取得する(ステップE3)。次に、リスト作成部84は、ステップE3で取得したi行目のデータ値が、値リスト71に存在しているかどうかを判定する(ステップE4)。   Next, the list creation unit 84 acquires the data value of the i-th row of the item selected in step E1 from the table (see FIG. 22A) (step E3). Next, the list creation unit 84 determines whether or not the data value of the i-th row acquired in step E3 exists in the value list 71 (step E4).

ステップE4の判定の結果、i行目のデータ値が値リスト71に存在している場合は、リスト作成部84は、値リスト71において、このデータ値の登録回数に1を加算する(ステップE7)。   If the data value of the i-th row exists in the value list 71 as a result of the determination in step E4, the list creation unit 84 adds 1 to the number of registrations of this data value in the value list 71 (step E7). ).

一方、ステップE4の判定の結果、i行目のデータ値が値リスト71に存在していない場合は、リスト作成部84は、i行目のデータ値を値リスト71に追加する(ステップE5)。また、ステップE5では、リスト作成部84は、i行目のデータ値に値リスト番号を付加すると共に、付加した値リスト番号も、値リスト71に追加する。   On the other hand, as a result of the determination in step E4, if the data value of the i-th row does not exist in the value list 71, the list creation unit 84 adds the data value of the i-th row to the value list 71 (step E5). . In step E5, the list creation unit 84 adds a value list number to the data value in the i-th row and also adds the added value list number to the value list 71.

続いて、リスト作成部84は、値リスト71において、i行目のデータ値の先頭位置として、iを追加し(ステップE6)、その後、ステップE7を実行する。   Subsequently, the list creation unit 84 adds i as the leading position of the data value of the i-th row in the value list 71 (step E6), and then executes step E7.

次に、ステップE7の実行後、リスト作成部84は、値番号リスト72において、値番号として、i番を追加する。更に、リスト作成部24は、i番に対応する値リスト番号として、ステップE3で取得されたデータ値に付加されている値リスト番号(ステップE5が実行された場合は、そのときに付加された値リスト番号)を追加する(ステップE8)。   Next, after execution of step E7, the list creation unit 84 adds the i-th number as the value number in the value number list 72. Further, the list creation unit 24 adds the value list number added to the data value acquired in step E3 as the value list number corresponding to the i-th (if step E5 is executed, the value list number is added at that time). (Value list number) is added (step E8).

次に、リスト作成部84は、iの値に1を加算し(ステップE9)、その後、加算後のiの値がテーブル(データ値)の行数以下であるかどうかを判定する(ステップE10)。   Next, the list creation unit 84 adds 1 to the value of i (step E9), and then determines whether the value of i after the addition is equal to or less than the number of rows in the table (data value) (step E10). ).

ステップE10の判定の結果、iの値がテーブル(データ値)の行数以下である場合は、リスト作成部84は、再度、ステップE3を実行する。一方、ステップE10の判定の結果、iの値がテーブル(データ値)の行数以下でない場合は、リスト作成部84は、全ての項目について値番リスト11及び値番号リスト12が作成済みであるかどうかを判定する(ステップE11)。   If the value of i is equal to or less than the number of rows in the table (data value) as a result of the determination in step E10, the list creation unit 84 executes step E3 again. On the other hand, if the result of determination in step E10 is that the value of i is not less than or equal to the number of rows in the table (data value), the list creation unit 84 has created the value number list 11 and the value number list 12 for all items. Whether or not (step E11).

ステップE11の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みでない場合は、リスト作成部84は、再度ステップE1を実行する。一方、ステップE11の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みである場合は、リスト作成部84は、処理を終了する。   As a result of the determination in step E11, if the value number list 11 and the value number list 12 have not been created for all items, the list creation unit 84 executes step E1 again. On the other hand, if it is determined in step E11 that the value number list 11 and the value number list 12 have been created for all items, the list creation unit 84 ends the process.

ここで、図15を用いて、ステップE1において、項目として「日付」が選択された場合の処理について具体的に説明する。図15は、本発明の実施の形態3において作成された値番号リスト及び値リストの一例を示す図である。まず、i=1であるとすると、リスト作成部24は、1行目のデータ値「2014/3/1」を取得する。   Here, the processing when “date” is selected as an item in step E1 will be specifically described with reference to FIG. FIG. 15 is a diagram showing an example of the value number list and value list created in the third embodiment of the present invention. First, if i = 1, the list creation unit 24 acquires the data value “2014/3/1” in the first row.

そして、リスト作成部84は、「2014/3/1」が値リストに存在しないため、値リストの1行目に、データ値「2014/3/1」を追加し、更に、このデータ値に対して値リスト番号「1」を付加する。また、リスト作成部24は、データ値「2014/3/1」の登録回数に1を加算し、先頭位置として「1」を追加する。   Then, since “2014/3/1” does not exist in the value list, the list creation unit 84 adds the data value “2014/3/1” to the first line of the value list, and further adds this data value to this data value. A value list number “1” is added to the value. The list creation unit 24 adds 1 to the number of registrations of the data value “2014/3/1” and adds “1” as the head position.

また、i=4となったとき、リスト作成部84は、4行目のデータ値「2014/3/2」を取得する。このデータ値「2014/3/2」は値リストに存在しないため、リスト作成部24は、値リストの2行目に、データ値「2014/3/2」を追加し、更に、このデータ値に対して、値リスト番号「2」と先頭位置「4」とを付加する。また、リスト作成部24は、データ値「2014/3/2」の登録回数に1を加算する。   When i = 4, the list creation unit 84 acquires the data value “2014/3/2” in the fourth row. Since the data value “2014/3/2” does not exist in the value list, the list creation unit 24 adds the data value “2014/3/2” to the second line of the value list, and further, this data value The value list number “2” and the head position “4” are added to the table. In addition, the list creation unit 24 adds 1 to the registration count of the data value “2014/3/2”.

同様に、i=5になったときは、リスト作成部84は、5行目のデータ値「2014/3/3」の先頭位置として、「5」を追加する。i=7になったときは、リスト作成部84は、7行目のデータ値「2014/3/4」の先頭位置として、「7」を追加する。   Similarly, when i = 5, the list creation unit 84 adds “5” as the head position of the data value “2014/3/3” in the fifth row. When i = 7, the list creation unit 84 adds “7” as the head position of the data value “2014/3/4” in the seventh row.

検索処理:
続いて、図16を用いて、値番号リスト及び値リストを利用した検索処理について説明する。図16は、本発明の実施の形態3におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図15に示した値番号リスト及び値リストを用いる場合について説明する。
Search process:
Next, a search process using a value number list and a value list will be described with reference to FIG. FIG. 16 is a flowchart showing the operation during the search process of the database device in the third embodiment of the present invention. In the following, the case of using the value number list and value list shown in FIG. 15 will be described.

図16に示すように、最初に、検索処理部82は、検索対象となるデータ値(以下「検索対象値」と表記する。)の値リスト番号を取得する(ステップF1)。次に、検索処理部82は、値リストに格納されている、検索対象値の登録回数を取得する(ステップF2)。更に、検索処理部82は、値リストに格納されている、検索対象値の先頭位置も取得する(ステップF3)。   As shown in FIG. 16, first, the search processing unit 82 acquires a value list number of a data value to be searched (hereinafter referred to as “search target value”) (step F1). Next, the search processing unit 82 acquires the registration count of the search target value stored in the value list (step F2). Furthermore, the search processing unit 82 also acquires the start position of the search target value stored in the value list (step F3).

次に、検索処理部82は、値番号リストの行数を示すパラメータjの値を、ステップF3で取得した先頭位置に設定し、更に、対象データ一致カウンタkの値を初期値の「0」に設定する(ステップF4)。対象データ一致カウンタkの値は、抽出回数情報73として、データ管理部70に格納されている。   Next, the search processing unit 82 sets the value of the parameter j indicating the number of rows in the value number list to the head position acquired in step F3, and further sets the value of the target data match counter k to the initial value “0”. (Step F4). The value of the target data matching counter k is stored in the data management unit 70 as the extraction count information 73.

次に、検索処理部82は、kの値が、ステップF2で取得された検索対象値の登録回数より小さいかどうかを判定する(ステップF5)。ステップF5の判定の結果、kの値が、ステップF2で取得された検索対象値の登録回数より小さくない場合は、検索処理部82は、処理を終了する。   Next, the search processing unit 82 determines whether or not the value of k is smaller than the number of registrations of the search target value acquired in Step F2 (Step F5). As a result of the determination in step F5, when the value of k is not smaller than the number of registrations of the search target value acquired in step F2, the search processing unit 82 ends the process.

一方、ステップF5の判定の結果、kの値が、ステップF2で取得された検索対象値の登録回数より小さい場合は、検索処理部82は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップF6)。   On the other hand, as a result of the determination in step F5, when the value of k is smaller than the number of registrations of the search target value acquired in step F2, the search processing unit 82 determines that the value of j is equal to or less than the total number of rows in the value number list. Is determined (step F6).

ステップF6の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部82は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部82は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップF7)。   As a result of the determination in step F6, when the value of j is not less than the total number of rows in the value number list, the search processing unit 82 ends the process. On the other hand, if the value of j is equal to or less than the total number of rows in the value number list, the search processing unit 82 acquires a value list number associated with the value number j in the value number list (step F7).

次に、検索処理部82は、ステップF7で取得された、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する(ステップF8)。   Next, the search processing unit 82 determines whether the value list number associated with the value number j acquired in step F7 matches the value list number of the search target value (step F8). .

ステップF8の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致していない場合は、検索処理部82は、jの値に1を加算し(ステップF9)、その後、再度ステップF7を実行する。   As a result of the determination in step F8, if the value list number associated with the value number j does not match the value list number of the search target value, the search processing unit 82 adds 1 to the value of j. (Step F9) Then, Step F7 is performed again.

一方、ステップF8の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致している場合は、検索処理部82は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップF10)。   On the other hand, as a result of the determination in step F8, if the value list number associated with the value number j matches the value list number of the search target value, the search processing unit 82 sets the value number in the value number list. j is acquired as the registration order of search target values (step F10).

次に、検索処理部22は、jの値に1を加算し、更に、kの値にも1を加算する(ステップF11)。その後、検索処理部22は、再度、ステップF5を実行する。   Next, the search processing unit 22 adds 1 to the value of j, and further adds 1 to the value of k (step F11). Thereafter, the search processing unit 22 executes Step F5 again.

ここで、図17を用いて、検索対象値が顧客ID「102」である場合の検索処理について具体的に説明する(図1参照)。図17は、本発明の実施の形態3における検索処理を説明するための図である。   Here, the search process when the search target value is the customer ID “102” will be specifically described with reference to FIG. 17 (see FIG. 1). FIG. 17 is a diagram for explaining search processing according to Embodiment 3 of the present invention.

図17にしめすように、まず、検索処理部82は、顧客IDの値リストから、検索対象である「102」の値リスト番号を取得する。検索対象値「102」は、値リストの2行目に格納されているので、検索処理部22は、値リスト番号として「2」を取得する(図1参照)。更に、検索処理部22は、検索対象値「102」の登録回数として、「2」を取得し、先頭位置として「2」を取得する。   As illustrated in FIG. 17, first, the search processing unit 82 acquires the value list number “102” that is the search target from the value list of the customer ID. Since the search target value “102” is stored in the second row of the value list, the search processing unit 22 acquires “2” as the value list number (see FIG. 1). Further, the search processing unit 22 acquires “2” as the registration count of the search target value “102” and acquires “2” as the head position.

次に、検索処理部82は、jの初期値が「2」に設定されているので、値番号リストの値番号「1」ではなく、値番号「2」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部22は、値番号リストの値番号「2」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。   Next, since the initial value of j is set to “2”, the search processing unit 82 sets the value list number associated with the value number “2” instead of the value number “1” in the value number list. Then, it is determined whether or not the value list number of the search target value matches. In this case, since the former is “2” and the latter is also “2”, the search processing unit 22 determines that they match. Therefore, the search processing unit 22 acquires the value number “2” in the value number list as the registration order of the search target value, and further adds 1 to each of the value of j and the value of k.

また、検索処理部82は、j=5となったときも、値リスト番号と、検索対象値の値リスト番号とが一致しているので、値番号リストの値番号「5」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。そして、この結果、kの値が検索対象値の登録回数と同じとなり、ステップE5の判定がNoとなるので、検索処理部82は処理を終了する。   Further, even when j = 5, the search processing unit 82 matches the value number “5” in the value number list with the search target value because the value list number matches the value list number of the search target value. Obtained as the registration order of the values, and 1 is added to each of the values of j and k. As a result, the value of k becomes the same as the number of registrations of the search target value, and the determination in step E5 is No, so the search processing unit 82 ends the process.

このように、本実施の形態3では、登録回数に加えて先頭位置も用いられるので、検索範囲がより絞り込まれるので、検索速度の更なる向上が図られる。   As described above, in the third embodiment, since the head position is used in addition to the number of registrations, the search range is further narrowed down, so that the search speed can be further improved.

更新処理:
続いて、図18を用いて、値番号リスト及び値リストの更新処理について説明する。図18は、本発明の実施の形態3におけるデータベース装置の更新処理時の動作を示すフロー図である。また、以下においては、図15に示した値番号リスト及び値リストを用いる場合について説明する。
Update process:
Next, the value number list and value list update processing will be described with reference to FIG. FIG. 18 is a flowchart showing the operation during the update process of the database device in the third embodiment of the present invention. In the following, the case of using the value number list and value list shown in FIG. 15 will be described.

図18に示すように、最初に、更新処理部83は、要求された更新処理での更新前データ値を特定し、その値リスト番号を取得する(ステップG1)。   As shown in FIG. 18, first, the update processing unit 83 specifies the pre-update data value in the requested update process, and acquires the value list number (step G1).

次に、更新処理部83は、値リストに格納されている、更新前データ値の登録回数及び先頭位置を取得し(ステップG2)、更に、取得した登録回数から1を減算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップG3)。   Next, the update processing unit 83 obtains the number of registrations and the start position of the pre-update data value stored in the value list (step G2), and further subtracts 1 from the obtained number of registrations. The number of registrations stored in the value list is updated with the value (step G3).

次に、更新処理部83は、更新前データ値の値番号とステップG2で取得された先頭位置とを比較し、両者が一致しているかどうかを判定する(ステップG4)。ステップG4の判定の結果、両者が一致していない場合は、更新処理部83は、ステップG7を実行する。   Next, the update processing unit 83 compares the value number of the pre-update data value with the head position acquired in step G2, and determines whether or not they match (step G4). If the result of determination in step G4 is that they do not match, the update processing unit 83 executes step G7.

一方、ステップG4の判定の結果、両者が一致している場合は、更新処理部83は、値番号リストから、更新前データ値の値リスト番号と同じ値リスト番号が次に登録されている値番号を取得する(ステップG5)。そして、更新処理部83は、値リストにおける更新前データ値の先頭位置を、ステップG5で取得した値番号で更新する(ステップG6)。   On the other hand, if the result of determination in step G4 is that they match, the update processing unit 83 uses the value number list to register the same value list number as the value list number of the pre-update data value. A number is acquired (step G5). Then, the update processing unit 83 updates the leading position of the pre-update data value in the value list with the value number acquired in Step G5 (Step G6).

次に、更新処理部83は、要求された更新処理で指定されている更新後データ値を特定し、特定した更新後データ値が値リストに存在するかどうかを判定する(ステップG7)。   Next, the update processing unit 83 specifies the updated data value specified in the requested update process, and determines whether or not the specified updated data value exists in the value list (step G7).

ステップG7の判定の結果、更新後データ値が値リストに存在する場合は、更新処理部83は、値リストに格納されている、更新後データ値に対応する登録回数を取得する(ステップG8)。次に、更新処理部83は、ステップG8で取得した登録回数に1を加算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップG9)。   If the updated data value exists in the value list as a result of the determination in step G7, the update processing unit 83 acquires the number of registrations corresponding to the updated data value stored in the value list (step G8). . Next, the update processing unit 83 adds 1 to the number of registrations acquired in step G8, and updates the number of registrations stored in the value list with the obtained value (step G9).

次に、更新処理部83は、値番号リストにおいて、更新前データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さいかどうかを判定する(ステップG10)。ステップG10の結果、更新後データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さくない場合は、更新処理部83は、ステップG15を実行する。   Next, the update processing unit 83 determines whether or not the value number of the pre-update data value is smaller than the start position of the post-update data value in the value list in the value number list (step G10). As a result of step G10, when the value number of the updated data value is not smaller than the starting position of the updated data value in the value list, the update processing unit 83 executes step G15.

一方、ステップG10の結果、更新後データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さい場合は、更新処理部83は、値リストにおける更新後データ値の先頭位置を、更新後データ値の値番号で更新する(ステップG11)。また、その後、更新処理部83は、ステップG15を実行する。   On the other hand, as a result of step G10, when the value number of the updated data value is smaller than the starting position of the updated data value in the value list, the update processing unit 83 updates the starting position of the updated data value in the value list. Update with the value number of the subsequent data value (step G11). Thereafter, the update processing unit 83 executes Step G15.

また、上述のステップG7の判定の結果、更新後データ値が値リストに存在しない場合は、更新処理部83は、値リストに、更新後データ値を新たなデータ値として格納する(ステップG12)。また、更新処理部83は、更新後データ値に新たな値リスト番号を付加する。次に、更新処理部83は、値リストに、新たなデータ値の登録回数として「1」を格納し、その後、ステップG15を実行する。   If the updated data value does not exist in the value list as a result of the determination in step G7, the update processing unit 83 stores the updated data value in the value list as a new data value (step G12). . Further, the update processing unit 83 adds a new value list number to the updated data value. Next, the update processing unit 83 stores “1” in the value list as the new data value registration count, and then executes Step G15.

次に、ステップG10でNo判定の後、ステップG11の実行後、又はステップG14の実行後、更新処理部83は、更新後データ値の値リスト番号を、値番号リストの更新箇所に格納する(ステップG15)。これにより、更新前データ値の更新がなされたことになる。   Next, after No determination in step G10, after execution of step G11, or after execution of step G14, the update processing unit 83 stores the value list number of the updated data value in the update location of the value number list ( Step G15). As a result, the pre-update data value is updated.

次に、更新処理部83は、全ての更新前データ値について更新処理が終了しているかどうかを判定する(ステップG16)。ステップG16の判定の結果、全ての更新前データ値について更新処理が終了していない場合は、更新処理部83は、再度、ステップG1を実行する。一方、ステップG16の判定の結果、全ての更新前データ値について更新処理が終了している場合は、更新処理部83は、処理を終了する。   Next, the update processing unit 83 determines whether or not the update process has been completed for all pre-update data values (step G16). If the result of determination in step G16 is that update processing has not been completed for all pre-update data values, the update processing unit 83 executes step G1 again. On the other hand, as a result of the determination in step G16, when the update process has been completed for all the pre-update data values, the update processing unit 83 ends the process.

ここで、図19及び図20を用いて、更新処理の具体例について説明する(図1参照)。図19は、本発明の実施の形態3における更新処理の前半部分を説明するための図である。図20は、本発明の実施の形態3における更新処理の後半部分を説明するための図である。   Here, a specific example of the update process will be described with reference to FIGS. 19 and 20 (see FIG. 1). FIG. 19 is a diagram for explaining the first half of the update process according to the third embodiment of the present invention. FIG. 20 is a diagram for explaining the latter half of the update processing according to Embodiment 3 of the present invention.

図19及び図20は、値番号リストの値番号2に対応するデータ値(顧客ID)を、「102」から「103」に更新する場合を示している。図20に示すように、更新処理部83は、値番号リストにおいて更新前データ値「102」が対応している値番号「2」と、値リストに格納されている更新前データ値「102」の先頭位置とを比較する。   19 and 20 show a case where the data value (customer ID) corresponding to value number 2 in the value number list is updated from “102” to “103”. As illustrated in FIG. 20, the update processing unit 83 includes the value number “2” corresponding to the pre-update data value “102” in the value number list and the pre-update data value “102” stored in the value list. Compare with the start position of.

本例では、両者は等しいため、更新処理部83は、値番号リストから、更新前データ値の値リスト番号と同じ値リスト番号が次に登録されている値番号として、値番号「5」を取得する。そして、図19に示すように、更新処理部83は、値リストにおける更新前データ値「102」の先頭位置を「2」から「5」に更新する。   In this example, since both are equal, the update processing unit 83 sets the value number “5” from the value number list as the value number to which the same value list number as the value list number of the data value before update is registered next. get. Then, as illustrated in FIG. 19, the update processing unit 83 updates the leading position of the pre-update data value “102” in the value list from “2” to “5”.

また、更新後データ値「103」は既に値リストに存在し、その値リスト番号は「3」である。よって、図20に示すように、更新処理部83は、対応する登録回数に1を加算し、「2」とする。   The updated data value “103” already exists in the value list, and its value list number is “3”. Therefore, as illustrated in FIG. 20, the update processing unit 83 adds 1 to the corresponding registration count to obtain “2”.

そして、更新処理部83は、値番号リストにおいて、更新前データ値の値番号「2」が、値リストにおける更新後データ値「103」の先頭位置より小さいかどうかを判定する。本例では、更新後データ値「103」の先頭位置は「6」であり、更新前データ値の値番号の方が小さいので、図20に示すように、更新処理部83は、更新後データ値「103」の先頭位置を「6」から「2」に更新する。   Then, the update processing unit 83 determines whether the value number “2” of the pre-update data value is smaller than the top position of the post-update data value “103” in the value list in the value number list. In this example, the post-update data value “103” starts at “6”, and the value number of the pre-update data value is smaller. Therefore, as shown in FIG. The head position of the value “103” is updated from “6” to “2”.

更に、更新処理部23は、図20に示すように、値番号リストの更新箇所(値番号「2」の値リスト番号)に、新たに値リスト番号「3」を格納する。   Further, as illustrated in FIG. 20, the update processing unit 23 newly stores the value list number “3” in the update location of the value number list (value list number of the value number “2”).

また、図19及び図20には図示していないが、更新後データ値が値リストに存在しない場合は、更新処理部83は、値リストに、この更新後データ値を追加すると共に、新たな値リスト番号を付与する。また、更新処理部83は、その登録回数を「1」とすると共に、その先頭位置として、更新前データ値の値番号を格納する。   Although not shown in FIGS. 19 and 20, if the updated data value does not exist in the value list, the update processing unit 83 adds the updated data value to the value list and adds a new value. Assign a value list number. In addition, the update processing unit 83 sets the number of registrations to “1” and stores the value number of the pre-update data value as the head position.

このように、本実施の形態3では、更新後データ値が値リストに存在する場合だけでなく、存在しない場合であっても、その先頭位置は保持される。従って、本実施の形態3によれば、従来のデータベースのように更新の度にインデックスを再作成する必要がないため、更新処理における処理速度も向上される。   Thus, in the third embodiment, not only when the updated data value exists in the value list but also when it does not exist, the head position is retained. Therefore, according to the third embodiment, it is not necessary to re-create an index every time it is updated as in the conventional database, so that the processing speed in the update process is also improved.

[プログラム]
本実施の形態3におけるプログラムは、コンピュータに、図14に示すステップE1〜E11、図16に示すステップF1〜F11、図18に示すステップG1〜G16を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるデータベース装置102とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部80及び処理受信部90として機能し、処理を行なう。また、データ管理部70は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
[program]
The program in the third embodiment may be any program that causes a computer to execute steps E1 to E11 shown in FIG. 14, steps F1 to F11 shown in FIG. 16, and steps G1 to G16 shown in FIG. By installing and executing this program on a computer, the database apparatus 102 and the data management method in the first embodiment can be realized. In this case, a CPU (Central Processing Unit) of the computer functions as the process execution unit 80 and the process reception unit 90 to perform processing. The data management unit 70 can be realized by a storage device such as a hard disk provided in the computer.

(物理構成)
ここで、実施の形態1〜3におけるプログラムを実行することによって、データベース装置を実現するコンピュータについて図21を用いて説明する。図21は、本発明の実施の形態1〜3におけるデータベース装置を実現するコンピュータの一例を示すブロック図である。
(Physical configuration)
Here, a computer that implements the database apparatus by executing the programs in the first to third embodiments will be described with reference to FIG. FIG. 21 is a block diagram illustrating an example of a computer that implements the database device according to the first to third embodiments of the present invention.

図21に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。   As shown in FIG. 21, the computer 110 includes a CPU 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These units are connected to each other via a bus 121 so that data communication is possible.

CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。   The CPU 111 performs various calculations by developing the program (code) in the present embodiment stored in the storage device 113 in the main memory 112 and executing them in a predetermined order. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory). Further, the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. Note that the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.

また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。   Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and a mouse. The display controller 115 is connected to the display device 119 and controls display on the display device 119.

データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。   The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a processing result in the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and another computer.

また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。   Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic storage media such as a flexible disk, or CD- An optical storage medium such as ROM (Compact Disk Read Only Memory) can be used.

上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。   Part or all of the above-described embodiments can be expressed by (Appendix 1) to (Appendix 12) described below, but is not limited to the following description.

(付記1)
番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
前記処理実行部は、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
ことを特徴とするデータベース装置。
(Appendix 1)
A data management unit that manages the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers of the value lists are registered in order of appearance of corresponding data values;
When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list, and the specified number in the value number list is identified. A process execution unit that extracts a registration order and executes a search process for a specified data value based on the extracted registration order;
The process execution unit
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped.
A database apparatus characterized by that.

(付記2)
前記処理実行部が、
行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、
付記1に記載のデータベース装置。
(Appendix 2)
The process execution unit
From the table that registers one or more data values for each row, extract the data values for each column of the table, create a value list and a corresponding value number list,
Further, when creating the value list, for each of the extracted data values, the number of extractions of the data value is specified, and the extracted number is used as the registration number of the data value. Append to the list,
The database device according to attachment 1.

(付記3)
前記処理実行部が、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記1または2に記載のデータベース装置。
(Appendix 3)
When a plurality of data values are specified, the processing execution unit specifies the number of registrations in the value number list for each of the specified plurality of data values, and for each of the specified plurality of data values, When the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped.
The database device according to appendix 1 or 2.

(付記4)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記処理実行部は、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記1〜3のいずれかに記載のデータベース装置。
(Appendix 4)
In addition to the number of registrations in the value number list for each of the data values registered in the value list, the first registration order in the value number list of the data value is added to the value list,
The database device according to any one of appendices 1 to 3, wherein the processing execution unit starts collation between the specified number and the value number list from the position of the registration order.

(付記5)
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とするデータ管理方法。
(Appendix 5)
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank;
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. A data management method characterized by the above.

(付記6)
(c)行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、ステップを更に有する、
付記5に記載のデータ管理方法。
(Appendix 6)
(C) Extracting the data value for each column of the table from a table for registering one or more data values for each row, creating a value list and a corresponding value number list,
Further, when creating the value list, for each of the extracted data values, the number of extractions of the data value is specified, and the extracted number is used as the registration number of the data value. Adding to the list, further comprising a step,
The data management method according to attachment 5.

(付記7)
前記(b)のステップにおいて、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記5または6に記載のデータ管理方法。
(Appendix 7)
In the step (b), when a plurality of data values are specified, the number of registrations in the value number list is specified for each of the specified data values, and each of the specified data values is specified. When the registration rank can be extracted by the number of specified registration times, the verification of the specified number and the value number list is stopped.
The data management method according to appendix 5 or 6.

(付記8)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記(b)のステップにおいて、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記5〜7のいずれかに記載のデータ管理方法。
(Appendix 8)
In addition to the number of registrations in the value number list for each of the data values registered in the value list, the first registration order in the value number list of the data value is added to the value list,
The data management method according to any one of appendices 5 to 7, wherein, in the step (b), collation between the specified number and the value number list is started from the position of the registration order.

(付記9)
コンピュータに、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、プログラム。
(Appendix 9)
On the computer,
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank,
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. program.

(付記10)
前記コンピュータに、
(c)行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、ステップを更に実行させる、
付記9に記載のプログラム。
(Appendix 10)
In the computer,
(C) Extracting the data value for each column of the table from a table for registering one or more data values for each row, creating a value list and a corresponding value number list,
Further, when creating the value list, for each of the extracted data values, the number of extractions of the data value is specified, and the extracted number is used as the registration number of the data value. Add to the list, further execute steps,
The program according to appendix 9.

(付記11)
前記(b)のステップにおいて、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記9または10に記載のプログラム。
(Appendix 11)
In the step (b), when a plurality of data values are specified, the number of registrations in the value number list is specified for each of the specified data values, and each of the specified data values is specified. When the registration rank can be extracted by the number of specified registration times, the verification of the specified number and the value number list is stopped.
The program according to appendix 9 or 10.

(付記12)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記(b)のステップにおいて、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記9〜11のいずれかに記載のプログラム。
(Appendix 12)
In addition to the number of registrations in the value number list for each of the data values registered in the value list, the first registration order in the value number list of the data value is added to the value list,
The program according to any one of appendices 9 to 11, wherein in the step (b), collation between the specified number and the value number list is started from the position of the registration order.

以上のように、本発明によれば、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。本発明は、データベース、特には、カラムストア型データベースに有用である。     As described above, according to the present invention, it is possible to improve the search speed without creating an index. The present invention is useful for databases, particularly column store type databases.

10、40、70 データ管理部
11、41、71 値リスト
12、42、72 値番号リスト
13、43、73 抽出回数情報
20、50、80 処理実行部
21、51、81 処理種別解析部
22、52、82 検索処理部
23、53、83 更新処理部
24、54、84 リスト作成部
30、60、90 処理受信部
44 検索対象列情報
100 データベース装置(実施の形態1)
101 データベース装置(実施の形態2)
103 データベース装置(実施の形態3)
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
10, 40, 70 Data management unit 11, 41, 71 Value list 12, 42, 72 Value number list 13, 43, 73 Extraction count information 20, 50, 80 Processing execution unit 21, 51, 81 Processing type analysis unit 22, 52, 82 Search processing unit 23, 53, 83 Update processing unit 24, 54, 84 List creation unit 30, 60, 90 Processing reception unit 44 Search target column information 100 Database device (Embodiment 1)
101 Database device (Embodiment 2)
103 Database device (Embodiment 3)
110 Computer 111 CPU
112 Main Memory 113 Storage Device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Device 119 Display Device 120 Recording Medium 121 Bus

Claims (6)

番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
前記処理実行部は、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
ことを特徴とするデータベース装置。
A data management unit that manages the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers of the value lists are registered in order of appearance of corresponding data values;
When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list, and the specified number in the value number list is identified. A process execution unit that extracts a registration order and executes a search process for a specified data value based on the extracted registration order;
The process execution unit
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped.
A database apparatus characterized by that.
前記処理実行部が、
行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、
請求項1に記載のデータベース装置。
The process execution unit
From the table that registers one or more data values for each row, extract the data values for each column of the table, create a value list and a corresponding value number list,
Further, when creating the value list, for each of the extracted data values, the number of extractions of the data value is specified, and the extracted number is used as the registration number of the data value. Append to the list,
The database device according to claim 1.
前記処理実行部が、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
請求項1または2に記載のデータベース装置。
When a plurality of data values are specified, the processing execution unit specifies the number of registrations in the value number list for each of the specified plurality of data values, and for each of the specified plurality of data values, When the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped.
The database apparatus according to claim 1 or 2.
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記処理実行部は、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、請求項1〜3のいずれかに記載のデータベース装置。
In addition to the number of registrations in the value number list for each of the data values registered in the value list, the first registration order in the value number list of the data value is added to the value list,
The database apparatus according to any one of claims 1 to 3, wherein the processing execution unit starts collation between the identified number and the value number list from the position of the registration order.
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とするデータ管理方法。
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank;
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. A data management method characterized by the above.
コンピュータに、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、プログラム。
On the computer,
(A) managing the data values using a value list in which data values are registered in order of numbers, and a value number list in which the numbers in the value list are registered in order of appearance of corresponding data values;
(B) When a data value is specified, the number of the value list is specified for the specified data value, and further, the specified number is compared with the value number list to determine the value number of the specified number Extracting the registration rank in the list, and executing a search process for the specified data value based on the extracted registration rank,
In the step (b),
When the number of registrations in the value number list is added to each of the data values registered in the value list,
For the specified data value, the number of registrations in the value number list is specified, and when the registration rank can be extracted by the number of specified registration times, the matching between the specified number and the value number list is stopped. program.
JP2014230847A 2014-11-13 2014-11-13 Database apparatus, data management method, and program Active JP6402600B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014230847A JP6402600B2 (en) 2014-11-13 2014-11-13 Database apparatus, data management method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014230847A JP6402600B2 (en) 2014-11-13 2014-11-13 Database apparatus, data management method, and program

Publications (2)

Publication Number Publication Date
JP2016095639A JP2016095639A (en) 2016-05-26
JP6402600B2 true JP6402600B2 (en) 2018-10-10

Family

ID=56071852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014230847A Active JP6402600B2 (en) 2014-11-13 2014-11-13 Database apparatus, data management method, and program

Country Status (1)

Country Link
JP (1) JP6402600B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6863006B2 (en) * 2017-03-30 2021-04-21 富士通株式会社 File generator, file generator and file generator
WO2023032013A1 (en) * 2021-08-30 2023-03-09 晋二 古庄 Calculation device, calculation method, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3847836B2 (en) * 1996-05-08 2006-11-22 キヤノン株式会社 Character string search method and apparatus
JP2008250546A (en) * 2007-03-29 2008-10-16 Fujitsu Broad Solution & Consulting Inc Data search method, program and apparatus
JP5048417B2 (en) * 2007-08-07 2012-10-17 株式会社富士通ビー・エス・シー Database management program and database management apparatus
JP5413161B2 (en) * 2008-12-17 2014-02-12 三菱電機株式会社 Table device, encoding device, decoding device, and encoding / decoding device
US8244735B2 (en) * 2010-05-03 2012-08-14 International Business Machines Corporation Efficient and scalable data evolution with column oriented databases
JP2014191593A (en) * 2013-03-27 2014-10-06 Nec Corp Column store type database management system

Also Published As

Publication number Publication date
JP2016095639A (en) 2016-05-26

Similar Documents

Publication Publication Date Title
JP5199317B2 (en) Database processing method, database processing system, and database server
CN103853802B (en) Device and method for indexing digital content
US10664459B2 (en) Database managing method, database managing system, and database tree structure
US10810174B2 (en) Database management system, database server, and database management method
CN112579586A (en) Data processing method, device, equipment and storage medium
JP2021002830A (en) Advanced database decompression
JP7015319B2 (en) Data analysis support device, data analysis support method and data analysis support program
JP6402600B2 (en) Database apparatus, data management method, and program
JP6098294B2 (en) Information concealment device and information concealment method
WO2015148418A1 (en) Partition filtering using smart index in memory
JP4136594B2 (en) Data processing method and data processing program
JP6459669B2 (en) Column store type database management system
JP7015320B2 (en) Data analysis support device, data analysis support method and data analysis support program
JP5377672B2 (en) Database management system
JP2010272006A (en) Relation extraction apparatus, relation extraction method and program
JP2018109898A (en) Data migration system
JP6123372B2 (en) Information processing system, name identification method and program
CN110309367B (en) Information classification method, information processing method and device
JP2011209853A (en) System, method and program for name identification process
JP5984629B2 (en) Master file difference automatic output device
CN112817969A (en) Data query method, system, electronic device and storage medium
JP6702425B2 (en) Aggregation program, aggregation device, and aggregation method
US20130185401A1 (en) Configuration management device, configuration management method, and configuration management program
JP6361472B2 (en) Correspondence information generation program, correspondence information generation apparatus, and correspondence information generation method
JP5595957B2 (en) Access log processing system and method, program, and access log storage / retrieval device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171013

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: 20180814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180827

R150 Certificate of patent or registration of utility model

Ref document number: 6402600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150