JP2016095639A - データベース装置、データ管理方法、及びプログラム - Google Patents

データベース装置、データ管理方法、及びプログラム Download PDF

Info

Publication number
JP2016095639A
JP2016095639A JP2014230847A JP2014230847A JP2016095639A JP 2016095639 A JP2016095639 A JP 2016095639A JP 2014230847 A JP2014230847 A JP 2014230847A JP 2014230847 A JP2014230847 A JP 2014230847A JP 2016095639 A JP2016095639 A JP 2016095639A
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.)
Granted
Application number
JP2014230847A
Other languages
English (en)
Other versions
JP6402600B2 (ja
Inventor
寛子 永島
Hiroko Nagashima
寛子 永島
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/ja
Publication of JP2016095639A publication Critical patent/JP2016095639A/ja
Application granted granted Critical
Publication of JP6402600B2 publication Critical patent/JP6402600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】インデックスの作成を行なうことなく、検索速度の向上を図り得る、データベース装置、データ管理方法、及びプログラムを提供する。
【解決手段】データベース装置100は、データ値が登録された値リストと、値リストの番号が登録された値番号リストとを用いてデータ値を管理する、データ管理部10と、データ値が指定された場合に、その値リストでの番号と値番号リストとを照合して、この番号の値番号リストでの登録順位を抽出し、登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部20とを備えている。処理実行部20は、値リストに、データ値毎の値番号リストでの登録回数が付加されている場合、指定されたデータ値の登録回数を特定し、登録回数の数だけ登録順位が抽出できた時点で、番号と値番号リストとの照合を停止する。
【選択図】図3

Description

本発明は、カラムストア型のデータベース装置、データ管理方法、及びこれらを実現するためのプログラムに関する。
従来、データベースとしては、主に、テーブルに格納されたデータを行単位で処理するリレーショナルデータベースが知られている。リレーショナルデータベースは、特定のデータに対する更新及び削除といったトランザクション処理に優れている一方、特定の列に対して行う処理(必要項目のみの抽出や集計処理)を苦手としている。
このため、近年、リレーショナルデータベースが苦手とする列毎の処理を得意とするデータベース、いわゆる「カラムストア型データベース」が注目されている(例えば、特許文献1参照)。カラムストア型データベースは、列毎に情報を保持しているため、特定の列に対して、高速に処理を行うことができる。
カラムストア型データベースにおけるデータ保持構造の一つとして、列データを値番号と値リストとで管理するFAST(Filter Array STructure)構造が知られている。図22は、従来からのFAST構造の一例を示す図である。また、図22(a)は、FAST構造の元になるテーブルを示し、図22(b)は、図22(a)のテーブルから作成された値番号リスト及び値リストを示している。図22の例では、列として、「日付」、「顧客ID」、「商品名」を有するテーブルが、FAST構造によって保持されている。更に、列毎に、値番号リストと値リストとが構築されている。
図22(b)に示すように、各値リストには、実データの値が、重複が排除された状態で格納されている。各値番号リストには、該当箇所の値を格納している値リストの番号が格納されている。このようなFAST構造では、ある値を検索したい場合、以下のように各処理が実行される。図23は、図22に示すFAST構造での処理を模式的に示す図である。
[値リストからのリスト番号の取得処理]
図23に示すように、最初に、検索対象となる値が入力されると、値リストから、検索対象となる値のリスト番号が取得される。具体的には、例えば、顧客IDとして「102」が入力されると、図23の例では、値リストの番号「2」が取得される。
[値番号リストからの番号の取得処理]
次に、値番号リストから、先に取得されたリスト番号を保持している番号(以下「値番号リスト番号」と表記する。)が取得される。具体的には、図23の例では、取得された値リストの番号が「2」であるので、値番号リストからは、値番号リスト番号として、「2」と「5」が取得される。
そして、対応する日付及び商品名のデータも一緒に検索対象となる場合は、日付及び商品名それぞれの値番号リストから、値番号リスト番号「2」及び「5」それぞれに格納されている値リストの番号(値)が取得される(図22(b)参照)。次に、値リストから、取得された値リストの番号に対応する実データが取得される。具体的には、本例では、「2014/3/1、102、banana」と、「2014/3/3、102、banana」とが取得される。
但し、上述のカラムストア型データベースでは、上述した処理を行なうために、取得対象となる実データの値リスト番号と値番号リストとの比較が、値番号リストのサイズ分だけ行なわれることになる。即ち、値番号リストに登録されているデータの件数が、例えば10億件であれば、比較処理は10億回繰り返して行なわれる。このため、カラムストア型データベースには、検索効率が低く、検索に多くの時間がかかるという問題がある。このため、カラムストア型データベースにおいては、検索速度の向上が求められている。
ところで、一般なデータベースでは、データの格納場所を速く見つけるために、インデックス(索引)の作成が行なわれている。そして、カラムストア型データベースにおいても、インデックスを作成しておくことで、検索速度の向上が図られると考えられる。このようなインデックスの代表例としては、B−TREE構造を採用したインデックスが挙げられる。
また、特許文献2は、ハッシュテーブルを用いたインデックスを開示している。更に、特許文献3は、頻繁に行なわれるインデックスの更新処理にかかる時間を短縮するため、索引管理装置によって更新処理をまとめて実行するシステムを開示している。
特開2013−228999号公報 特開2009−140302号公報 特開2011−053868号公報
しかしながら、B−TREE構造を採用したインデックスを用いる場合は、更新処理の度に、ツリー構造を再構築する必要があり、更新処理に時間がかかってしまうという問題がある。
一方、特許文献2に開示されたインデックスを用いた場合は、B−TREE構造を採用したインデックスの問題を解消できる。更に、この場合、B−TREE構造を採用したインデックスに比べてアクセス回数を少なくすることができるので、検索速度の向上も期待できる。
しかしながら、特許文献2に開示されたインデックスでは、実データがソートされた順に格納されないため、このインデックスをカラムストア型データベースに適用した場合は、逆に検索速度が低下してしまうおそれがある。
また、特許文献3に開示されたシステムを用いた場合も、B−TREE構造を採用したインデックスの問題を解消できるが、このシステムでは、索引管理装置を構築する必要があり、システムの構築にかかるコストが大きいという問題がある。
このため、カラムストア型データベースにおいては、インデックスの作成を行なうことなく、検索速度の向上を図ることが求められている。
本発明の目的の一例は、上記問題を解消し、インデックスの作成を行なうことなく、検索速度の向上を図り得る、データベース装置、データ管理方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるデータベース装置は、
番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
前記処理実行部は、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
ことを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるデータ管理方法は、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とする。
以上のように、本発明によれば、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。
図1は、本発明で用いられるデータ保持構造の一例を示す図である。 図2は、図1に示したデータ構造を用いた検索処理を説明する説明図である。 図3は、本発明の実施の形態1におけるデータベース装置の概略構成を示すブロック図である。 図4は、本発明の実施の形態1におけるデータベース装置の具体的構成を示すブロック図である。 図5は、本発明の実施の形態1におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。 図6は、本発明の実施の形態1におけるデータベース装置の検索処理時の動作を示すフロー図である。 図7は、本発明の実施の形態1におけるデータベース装置の更新処理時の動作を示すフロー図である。 図8は、本発明の実施の形態1における更新処理の一例を説明するための図である。 図9は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。 図10は、本発明の実施の形態2におけるデータベース装置の検索処理時の動作を示すフロー図である。 図11(a)及び(b)は、従来からのカラムストア型データベースにおける検索対象値が2つである場合の検索処理を説明するための図である。 図12は、本発明の実施の形態2におけるデータベース装置における検索対象値が2つである場合の検索処理を説明するための図である。 図13は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。 図14は、本発明の実施の形態3におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。 図15は、本発明の実施の形態3において作成された値番号リスト及び値リストの一例を示す図である。 図16は、本発明の実施の形態3におけるデータベース装置の検索処理時の動作を示すフロー図である。 図17は、本発明の実施の形態3における検索処理を説明するための図である。 図18は、本発明の実施の形態3におけるデータベース装置の更新処理時の動作を示すフロー図である。 図19は、本発明の実施の形態3における更新処理の前半部分を説明するための図である。 図20は、本発明の実施の形態3における更新処理の後半部分を説明するための図である。 図21は、本発明の実施の形態1〜3におけるデータベース装置を実現するコンピュータの一例を示すブロック図である。 図22は、従来からのFAST構造の一例を示す図である。 図23は、図22に示すFAST構造での処理を模式的に示す図である。
(発明の概要)
最初に、図1及び図2を用いて、本発明の概要について説明する。図1は、本発明で用いられるデータ保持構造の一例を示す図である。図2は、図1に示したデータ構造を用いた検索処理を説明する説明図である。
図1に示すように、本発明でも、データ保持構造としてFAST構造が採用されたカラムストア型データベースが利用される。図1の例でも、図22(a)及び(b)に示した従来例と同様に、「日付」、「顧客ID」、「商品名」のデータを有するテーブルが、値番号リストと値リストとで保持されている。
また、図1の例でも、各値リストには、番号(以下「値リスト番号」と表記する。)が付加された実データの値(以下「データ値」と表記する。)が、重複が排除された状態で登録されている。各値番号リストには、値リスト番号が、対応するデータ値の出現順に登録されている。
但し、図1に示すように、本発明では、図22に示した従来例と異なり、値リストに、データ値(値リスト番号)の値番号リストでの「登録回数」を登録する領域が追加されている。「登録回数」は、値番号リスト内に登録されている各値リスト番号をカウントすることによって得られる値である。なお、図1の例では、項目数は3、値リストの行数は3又は4、値番号リストの行数は7であるが、本発明は、この例に限定されるものではない。本発明は、あらゆるデータに対して適用可能である。
このため、本発明では、値番号の検索時においては、検索によって特定された対象値の個数が、予め登録されている「登録回数」と一致するまで、検索が行なわれる。つまり、対象値を見つけた回数と、値リストの「登録回数」とが一致すれば、対象となる値番号リストには、それ以上の対象値が存在していないことを意味するため、値番号の検索は終了することになる。
例えば、図2に示すように、対象値が「102」である場合は、「登録回数」は2であるため、値番号リストから、「102」の値リスト番号(2)が2回見つかると、検索は終了する。このように、本発明では、値番号リストを毎回最後まで検索する必要が無いため、システム全体としての検索性能の向上が図られることになる。
また、本発明では、値リストに格納される実データの値の「登録回数」のカウントは、値リストの作成時に行なわれ、その初期値は、例えば「0」に設定される。更に、FAST構造の構築時においては、必ず、値リストの作成が必要な各項目にどのようなデータ値が存在しているのかを、元になるテーブルの全データについて確認する必要がある。従って、データ値の「登録回数」のカウントは、この値リストの作成時に実行できるので、「登録回数」は、システムにおいて大きな負担となることなく、取得可能である。
(実施の形態1)
以下、本発明の実施の形態1における、データベース装置、データ管理方法、及びプログラムについて、図3〜図7を参照しながら説明する。
[装置構成]
最初に、本実施の形態1におけるデータベース装置の構成について図3を用いて説明する。図3は、本発明の実施の形態1におけるデータベース装置の概略構成を示すブロック図である。
図3に示すように、本実施の形態1におけるデータベース装置100は、データ管理部10と、処理実行部30とを備えている。このうち、データ管理部10は、番号順にデータ値が登録された値リストと、値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、データ値を管理している(図1参照)。
処理実行部20は、データ値が指定された場合に、まず、指定されたデータ値について値リストの番号を特定し、更に、特定した番号と値番号リストとを照合して、特定した番号の登録順位を抽出する。次いで、処理実行部20は、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する。
また、処理実行部20は、値リストに、それに登録されているデータ値それぞれ毎の、値番号リストでの登録回数が付加されている場合は、指定されたデータ値について、値番号リストでの登録回数を特定する(図2参照)。そして、この場合は、処理実行部20は、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と値番号リストとの照合を停止する(図2参照)。
このように、データベース装置100では、値リストに、各データ値の値番号リストでの登録回数を付加することで、指定されたデータ値の値リストでの番号と、値番号リストとの照合を最小限にすることができる。このため、データベース装置100によれば、値番号リストを常に最後まで検索する必要がないので、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。
ここで、図4を用いて、本実施の形態1におけるデータベース装置100の構成を更に具体的に説明する。図4は、本発明の実施の形態1におけるデータベース装置の具体的構成を示すブロック図である。
図4に示すように、本実施の形態1では、データベース装置100は、データ管理部10及び処理実行部20に加え、更に処理受信部30を備えている。処理受信部30は、ネットワーク300を介して、クライアント210及びAP(Access Point)220といった外部の装置に接続され、外部の装置によって要求された処理(検索処理、更新処理等)を受け付ける。なお、このとき要求された処理には、処理対象となるデータ値の指定も含まれている。
また、本実施の形態1では、処理実行部20は、処理種別解析部21と、検索処理部22と、更新処理部23と、リスト作成部24とを備えている。このうち、処理種別解析部21は、処理受信部30によって受け付けられた処理がどのような処理であるのか、例えば、検索処理及び更新処理のいずれであるのかを解析する。また、処理種別解析部21は、処理対象となるデータ値を特定する。
また、リスト作成部24は、行毎に1又は2以上のデータ値を登録するテーブルから、テーブルの列毎に、データ値を抽出して、値リスト11とそれに対応する値番号リスト12とを作成する。更に、リスト作成部24は、値リスト11の作成の際に、抽出したデータ値毎に、各データ値の抽出回数を特定し、特定した抽出回数を、各データ値の登録回数として、値リスト11に付加する。
検索処理部22は、図1を用いて説明したように、処理対象となるデータ値の値番号リストでの番号(値番号リスト番号)を特定し、更に、特定した値番号リスト番号における値番号リストでの登録順位を抽出する。また、このときの登録順位の抽出は、値番号リストに付加されている登録回数の数だけ行なわれる。そして、検索処理部22が、抽出した登録順位に基づいて検索処理を実行する。更新処理部23は、要求された処理が更新処理の場合に、値リスト11及び値番号リスト12に格納されている値に対して、更新処理を実行する。
データ管理部10は、本実施の形態1では、データ値をFAST構造によって格納及び管理している。具体的には、データ管理部10は、値リスト11と、値番号リスト12とを格納し、これらを管理している。また、図4の例では、1組みの値リスト11及び値番号リスト12のみが図示されているが、実際には、項目の数に応じて、値リスト11及び値番号リスト12が格納されている。
また、値リスト11には、各データ値と、各データ値に付加された番号(値リスト番号)と、各データ値の登録回数とが登録されている。値番号リスト12には、データ値の登録順位を表す値番号と、各値番号に対応付けられた値リスト番号とが登録されている。
また、本実施の形態では、データ管理部10は、値リスト11及び値番号リスト12に加えて、抽出回数情報13を格納及び管理している。抽出回数情報13は、処理対象の値リスト番号についての、現時点における登録順位の抽出回数を特定する情報である。従って、検索処理部22及び更新処理部23は、抽出回数情報13を確認することにより、値番号リスト12から、処理対象となるデータ値が今いくつ見つかっているかを特定できる。
[装置動作]
次に、本実施の形態1におけるデータベース装置100の動作について図5〜図8を用いて説明する。また、本実施の形態1では、データベース装置100を動作させることによって、データ管理方法が実施される。よって、本実施の形態1におけるデータ管理方法の説明は、以下のデータ管理装置100の動作説明に代える。また、以下の説明では、適宜、図1〜図4を参酌する。
リスト作成処理:
最初に、図5を用いて、値番号リスト及び値リストの作成処理について説明する。図5は、本発明の実施の形態1におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。また、以下においては、図22(a)に示したテーブルから、図1に示した値番号リスト及び値リストを作成する場合について説明する。
図5に示すように、最初に、リスト作成部24は、データ管理部10の記憶領域において、値リスト11及び値番号リスト12に使用する領域を確保し、テーブルに登録されている項目の1つを選択する(ステップA1)。
次に、リスト作成部24は、選択した項目のテーブルにおける行数を表すパラメータiの値を初期値に設定する(ステップA2)。ステップA2における初期値としては、「1」が挙げられる。
次に、リスト作成部24は、テーブル(図22(a)参照)から、ステップA1で選択された項目のi行目のデータ値を取得する(ステップA3)。次に、リスト作成部24は、ステップA3で取得したi行目のデータ値が、値リスト11に存在しているかどうかを判定する(ステップA4)。
ステップA4の判定の結果、i行目のデータ値が値リスト11に存在している場合は、リスト作成部24は、値リスト11において、このデータ値の登録回数に1を加算する(ステップA6)。
一方、ステップA4の判定の結果、i行目のデータ値が値リスト11に存在していない場合は、リスト作成部24は、i行目のデータ値を値リスト11に追加し(ステップA5)、その後、ステップA6を実行する。また、ステップA5では、リスト作成部24は、i行目のデータ値に値リスト番号を付加すると共に、付加した値リスト番号も、値リスト11に追加する。
次に、ステップA6の実行後、リスト作成部24は、値番号リスト12において、値番号として、i番を追加する。更に、リスト作成部24は、i番に対応する値リスト番号として、ステップA3で取得されたデータ値に付加されている値リスト番号(ステップA5が実行された場合は、そのときに付加された値リスト番号)を追加する(ステップA7)。
次に、リスト作成部24は、iの値に1を加算し(ステップA8)、その後、加算後のiの値がテーブル(データ値)の行数以下であるかどうかを判定する(ステップA9)。
ステップA9の判定の結果、iの値がテーブル(データ値)の行数以下である場合は、リスト作成部24は、再度、ステップA3を実行する。一方、ステップA9の判定の結果、iの値がテーブル(データ値)の行数以下でない場合は、リスト作成部24は、全ての項目について値番リスト11及び値番号リスト12が作成済みであるかどうかを判定する(ステップA10)。
ステップA10の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みでない場合は、リスト作成部24は、再度ステップA1を実行する。一方、ステップA10の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みである場合は、リスト作成部24は、処理を終了する。
ここで、ステップA1において、項目として「日付」が選択された場合の処理について具体的に説明する(図22(a)参照)。まず、i=1であるとすると、リスト作成部24は、1行目のデータ値「2014/3/1」を取得する。
そして、リスト作成部24は、「2014/3/1」が値リストに存在しないため、値リストの1行目に、データ値「2014/3/1」を追加し、更に、このデータ値に対して値リスト番号「1」を付加する。また、リスト作成部24は、データ値「2014/3/1」の登録回数に1を加算する。
更に、リスト作成部24は、値番号リスト12において、値番号として、1番を追加し、更に、値番号「1」に対応する値リスト番号「1」を追加する。
次に、i=2となると、リスト作成部24は、2行目のデータ値「2014/3/1」を取得する。このデータ値は、既に値リストに存在するため、リスト作成部24は、値リスト11のデータ値「2014/3/1」の登録回数に1を加算する。また、リスト作成部24は、値番号リス12トにおいて、値番号として、2番を追加し、更に、値番号「2」に対応する値リスト番号「1」を追加する。
次に、i=3となると、リスト作成部24は、3行目のデータ値「2014/3/1」を取得する。この場合も、データ値は、既に値リストに存在するため、リスト作成部24は、値リストのデータ値「2014/3/1」の登録回数に1を加算する。また、リスト作成部24は、値番号リスト12において、値番号として、3番を追加し、更に、値番号「3」に対応する値リスト番号「1」を追加する。
次に、i=4となると、リスト作成部24は、4行目のデータ値「2014/3/2」を取得する。このデータ値「2014/3/2」は値リストに存在しないため、リスト作成部24は、値リストの2行目に、データ値「2014/3/2」を追加し、更に、このデータ値に対して値リスト番号「2」を付加する。また、リスト作成部24は、データ値「2014/3/2」の登録回数に1を加算する。
更に、リスト作成部24は、値番号リスト12において、値番号として、4番を追加し、更に、値番号「4」に対応する値リスト番号「2」を追加する。
そして、リスト作成部24は、同様の処理を、i=7まで繰り返し、「日付」について、図1に示す値リスト及び値番号リストを作成する。また、リスト作成部24は、項目「顧客ID」と項目「商品名」とについても、i=1〜i=7までの処理を実行し、これらの項目についても図1に示す値リスト及び値番号リストを作成する。
検索処理:
続いて、図6を用いて、値番号リスト及び値リストを利用した検索処理について説明する。図6は、本発明の実施の形態1におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。
図6に示すように、最初に、検索処理部22は、検索対象となるデータ値(以下「検索対象値」と表記する。)の値リスト番号を取得する(ステップB1)。次に、検索処理部22は、値リストに格納されている、検索対象値の登録回数を取得する(ステップB2)。
次に、検索処理部22は、値番号リストの行数を示すパラメータjの値を初期値の「1」に設定し、更に、対象データ一致カウンタkの値を初期値の「0」に設定する(ステップB3)。なお、対象データ一致カウンタkは、検索対象値の値リスト番号が値番号リストにおいて一致した回数を示すパラメータである。また対象データ一致カウンタkの値は、抽出回数情報13として、データ管理部10に格納される。
次に、検索処理部22は、kの値が、ステップB2で取得された検索対象値の登録回数より小さいかどうかを判定する(ステップB4)。ステップB4の判定の結果、kの値が、ステップB2で取得された検索対象値の登録回数より小さくない場合は、検索処理部22は、処理を終了する。
一方、ステップB4の判定の結果、kの値が、ステップB2で取得された検索対象値の登録回数より小さい場合は、検索処理部22は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップB5)。
ステップB5の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部22は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部22は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップB6)。
次に、検索処理部22は、ステップB6で取得された、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する(ステップB7)。
ステップB7の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致していない場合は、検索処理部22は、jの値に1を加算し(ステップB8)、その後、再度ステップB6を実行する。
一方、ステップB7の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致している場合は、検索処理部22は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップB9)。
次に、検索処理部22は、jの値に1を加算し、更に、kの値にも1を加算する(ステップB10)。その後、検索処理部22は、再度、ステップB4を実行する。
ここで、検索対象値が顧客ID「102」である場合の検索処理について具体的に説明する(図1参照)。まず、検索処理部22は、顧客IDの値リストから、検索対象である「102」の値リスト番号を取得する。検索対象値「102」は、値リストの2行目に格納されているので、検索処理部22は、値リスト番号として「2」を取得する(図1参照)。更に、検索処理部22は、検索対象値「102」の登録回数として、「2」を取得する(図1参照)。
次に、検索処理部22は、値番号リストの値番号「1」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合、前者は「1」で、後者は「2」であるので、検索処理部102は、一致していないと判断し、jの値に1を加算する。
次に、検索処理部22は、値番号リストの値番号「2」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部22は、値番号リストの値番号「2」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。
次に、検索処理部22は、値番号リストの値番号「3」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合、前者は「1」で、後者は「2」であるので、検索処理部22は、一致していないと判断し、jの値に1を加算する。
次に、検索処理部22は、値番号リストの値番号「4」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合も、前者は「1」で、後者は「2」であるので、検索処理部102は、一致していないと判断し、jの値に1を加算する。
次に、検索処理部22は、値番号リストの値番号「5」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部102は、値番号リストの値番号「5」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。
そして、この結果、kの値が検索対象値の登録回数と同じとなり、ステップB4の判定がNoとなるので、検索処理部22は処理を終了する。
また、登録順位として、値番号「2」と値番号「5」とが取得されているので、検索処理部22は、他の項目についての検索も指示されている場合は、これらの値番号を用いて、指示の対象となった項目の値番号リストと値リストとを検索する。このように、本実施の形態1では、値番号リストを全て検索することなく、検索対象値を取得することが可能となっている。
更新処理:
続いて、図7を用いて、値番号リスト及び値リストの更新処理について説明する。図7は、本発明の実施の形態1におけるデータベース装置の更新処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。
図7に示すように、最初に、更新処理部23は、要求された更新処理において更新対象となっているデータ値(以下「更新前データ値」と表記する。)を特定し、その値リスト番号を取得する(ステップC1)。
次に、更新処理部23は、値リストに格納されている、更新前データ値の登録回数を取得し(ステップC2)、更に、取得した登録回数から1を減算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップC3)。
次に、更新処理部23は、要求された更新処理で指定されている更新後のデータ値(以下「更新後データ値」と表記する。)を特定し、特定した更新後データ値が値リストに存在するかどうかを判定する(ステップC4)。
ステップC4の判定の結果、更新後データ値が値リストに存在する場合は、更新処理部23は、値リストに格納されている、更新後データ値に対応する登録回数を取得する(ステップC5)。次に、更新処理部23は、ステップC5で取得した登録回数に1を加算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップC6)。
一方、ステップC4の判定の結果、更新後データ値が値リストに存在しない場合は、更新処理部23は、値リストに、更新後データ値を新たなデータ値として格納する(ステップC7)。また、更新処理部23は、更新後データ値に新たな値リスト番号を付加する。次に、更新処理部23は、新たなデータ値の登録回数として「1」を格納する。
次に、ステップC6又はC8の実行後、更新処理部23は、更新後データ値の値リスト番号を、値番号リストの更新箇所に格納する(ステップC9)。これにより、更新前データ値の更新がなされたことになる。
次に、更新処理部23は、全ての更新前データ値について更新処理が終了しているかどうかを判定する(ステップC10)。ステップC10の判定の結果、全ての更新前データ値について更新処理が終了していない場合は、更新処理部23は、再度、ステップC1を実行する。一方、ステップC10の判定の結果、全ての更新前データ値について更新処理が終了している場合は、更新処理部23は、処理を終了する。
ここで、図8を用いて、「2014/3/2」に「lemon」を買った顧客のIDを「103」に更新する場合の更新処理について具体的に説明する(図1参照)。図8は、本発明の実施の形態1における更新処理の一例を説明するための図である。
まず、図8に示すように、更新処理部23は、「2014/3/2」に「lemon」を購入した顧客のIDを検索する。本例では、値番号リストにおいて、日付「2014/3/2」に対応する値番号は「4」である。
よって、更新処理部23は、顧客IDの値番号リストの値番号「4」に対応する値リスト番号が「1」であるので、値リスト番号「1」が付加されているデータ値(「101」)を、更新前データ値として特定する。また、更新処理部23は、更新前データ値「101」の登録回数を4から1減算し、「3」とする。
次に、更新処理部23は、更新後データ値「103」が、値リストに存在するかどうかを判定する。本例では、更新後データ値は、値リストに存在し、その値リスト番号は「3」であるので、対応する登録回数に1を加算し、「2」とする。更に、更新処理部23は、値番号リストの更新箇所(値番号「4」の値リスト番号)に、新たに値リスト番号「3」を格納する。
更新箇所が複数存在する場合は、更新処理部23は、上述の処理を必要なだけ実行する。また、値リストのデータ値に紐付けられている登録回数が変更されても、本実施の形態1では、既存の値番号リストと値リストとはそのまま使用できる。このため、本実施の形態1では、従来からのインデックスを用いる場合と異なり、更新が入る度に、各リストを作成し直す必要はない。
[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図5に示すステップA1〜A10、図6に示すステップB1〜B10、図7に示すステップC1〜C10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるデータベース装置100とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部20及び処理受信部30として機能し、処理を行なう。また、データ管理部10は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
[実施の形態1による効果]
以上のように、本実施の形態1によれば、検索処理において、値番号リストを常に最後まで検索する必要がなく、検索対象値が見つかった時点で、値番号リストの検索処理が終了する。このため、検索にかかる時間が従来例に比べて平均すると半分程度になると予想され、検索速度の向上が図られる。
また、本実施の形態1では、データ値の削除が行なわれた場合は、対応する登録回数がゼロとなるため、削除されたデータ値が検索対象となったときは、検索処理が実行されない状態となる。よって、この点からも検索速度の向上が期待される。
更に、本実施の形態1では、従来例のように、インデックスが作成されないため、更新処理の実行中に別の更新処理が要求されても、既に実行されている更新処理の継続は可能となる。また、インデックスが作成されないので、インデックスの再生成も不要となる。よって、インデックスの再作成に時間がかかることが無いので、システム全体としての性能も向上する。
(実施の形態2)
次に、本発明の実施の形態2における、データベース装置、データ管理方法、及びプログラムについて、図9〜図12を参照しながら説明する。
[装置構成]
最初に、本実施の形態2におけるデータベース装置の構成について図9を用いて説明する。図9は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。
図9に示すように、本実施の形態2におけるデータベース装置101は、実施の形態1において図2に示したデータベース装置100と同様に、データ管理部40と、処理実行部50と、処理受信部60とを備えている。但し、本実施の形態2は、処理実行部50の機能と、データ管理部40に格納される情報とにおいて、実施の形態1と異なっている。以下、相違点について具体的に説明する。
まず、本実施の形態2では、処理実行部50における検索処理部52は、複数のデータ値が指定されると、指定されたデータ値(検索対象値)毎に、値番号リストでの登録回数を特定する。そして、検索処理部52は、各検索対象値について、対応する登録回数の数だけ登録順位が抽出できた時点で、値リスト番号と値番号リストとの照合を停止する。また、検索処理部52は、各検索対象値の値リスト番号を特定し、特定した値リスト番号を格納した「検査対象列」を作成し、これをデータ管理部40に出力する。
本実施の形態2では、このように、検索対象値毎に検索処理が行なわれるため、データ管理部40は、検索対象値の数だけ、抽出回数情報43を格納及び管理する。また、データ管理部40は、出力されてきた検査対象列を特定する検査対象列情報44も格納及び管理する。
なお、上述した相違点を除けば、本実施の形態2におけるデータベース装置101は、実施の形態1において図2に示したデータベース装置101と同様に構成されている。
[装置動作]
次に、本実施の形態2におけるデータベース装置101の動作について図10を用いて説明する。また、本実施の形態2でも、データベース装置101を動作させることによって、データ管理方法が実施される。よって、本実施の形態2におけるデータ管理方法の説明も、以下のデータ管理装置101の動作説明に代える。また、以下の説明では、適宜、図9を参酌する。
図10は、本発明の実施の形態2におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図1に示した値番号リスト及び値リストを用いる場合について説明する。なお、本実施の形態2において、リスト作成処理及び更新処理は、実施の形態1と同様であるので、これらの処理の説明については省略する。
図10に示すように、最初に、検索処理部52は、複数の検索対象値それぞれについて、値リスト番号を取得する(ステップD1)。また、ステップD1では、検索処理部52は、取得した各値リスト番号を格納した「検索対象列」を作成し、これを検索対象列情報44として、データ管理部40に格納する。
次に、検索処理部22は、検索対象値毎に、値リストに格納されている、検索対象値の登録回数を取得する(ステップD2)。
次に、検索処理部22は、値番号リストの行数を示すパラメータjの値を初期値の「1」に設定し、更に、対象データ一致カウンタk1、k2、・・・kn(n:自然数)それぞれの値を初期値の「0」に設定する(ステップD3)。なお、対象データ一致カウンタk1、k2、・・・kn、それぞれは、検索対象値毎の、値リスト番号が値番号リストにおいて一致した回数を示すパラメータである。また、対象データ一致カウンタk1、k2、・・・kn、それぞれは、抽出回数情報43として、データ管理部10に格納される。
次に、検索処理部52は、k1〜knの全ての値が、ステップD2で取得された対応する検索対象値の登録回数より小さいかどうかを判定する(ステップD4)。ステップD4の判定の結果、k1〜knの全ての値が、対応する検索対象値の登録回数より小さい場合は、検索処理部52は、ステップD7を実行する。
一方、ステップD4の判定の結果、k1〜knの全ての値が、対応する検索対象値の登録回数より小さくない場合(1つでも登録回数以上となっている場合)は、検索処理部52は、登録回数以上となっている対象データ一致カウンタkを特定する。そして、検索処理部52は、検索対象列情報から、特定した対象データ一致カウンタkに対応する検索対象地の値リスト番号を削除する(ステップD5)。
次に、ステップD5の実行後、検索処理部52は、検索対象列情報に未だ値リスト番号が存在しているかどうかを判定する(ステップD6)。ステップD6の判定の結果、検索対象列情報に未だ値リスト番号が存在していない場合は、検索処理部52は、処理を終了する。一方、ステップD6の判定の結果、検索対象列情報に未だ値リスト番号が存在している場合は、検索処理部52は、ステップD7を実行する。
次に、ステップD4でYesと判定された場合、又はステップD6が実行された場合は、検索処理部52は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップD7)。
ステップD7の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部52は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部52は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップD8)。
次に、検索処理部52は、検索対象列情報において、ステップD8で取得された値番号jに対応付けられた値リスト番号と一致する、値リスト番号が存在しているかどうかを判定する(ステップD9)。
ステップD9の判定の結果、値番号jに対応付けられた値リスト番号に一致する値リスト番号が存在していない場合は、検索処理部52は、jの値に1を加算し(ステップD10)、その後、再度ステップD8を実行する。
一方、ステップD9の判定の結果、値番号jに対応付けられた値リスト番号に一致する値リスト番号が存在している場合は、検索処理部52は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップD11)。
次に、検索処理部52は、jの値に1を加算し、更に、値番号jに対応付けられた値リスト番号を持つ検索対象値を特定し、特定した検索対象値の対象データ一致カウンタkの値にも1を加算する(ステップD12)。その後、検索処理部52は、再度、ステップD4を実行する。
ここで、2つの検索対象値を一度に検索する場合の具体例について図11及び図12を用いて説明する(図1参照)。図11(a)及び(b)は、従来からのカラムストア型データベースにおける検索対象値が2つである場合の検索処理を説明するための図である。図12は、本発明の実施の形態2におけるデータベース装置における検索対象値が2つである場合の検索処理を説明するための図である。
図11(a)に示すように、従来からのカラムストア型データベースにおいて、検索対象値として「2014/3/1」と「2014/3/3」とが入力されたとする。この場合、まず、「2014/3/1」について、値リストからの値リスト番号の取得、取得した値リスト番号と値番号リストの全値番号との比較が行なわれる。次いで、「2014/3/3」について、値リストからの値リスト番号の取得、取得した値リスト番号と値番号リストの全値番号との比較が行なわれる。
また、図11(b)に示すように、従来からのカラムカラムストア型データベースでは、2つの検索対象値について、順に値リスト番号を取得したのち、2つの値リスト番号を、同時に、値番号リストに照合することもできる。但し、この場合であっても、取得した2つの値リスト番号と値番号リストの全値番号との比較は必要となる。
これに対して、図12に示すように、本実施の形態2におけるデータベース装置101では、2つの検索対象値の2つの値リスト番号を、同時に、値番号リストに照合でき、更に、各検索対象値について値番号リストを常に最後まで検索する必要もない。このように、本実施の形態2では、2つの検索対象値について同時に検索を行なう場合において、検索範囲を縮小させることが可能であり、検索速度の向上が図られる。
[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図10に示すステップD1〜D12、図5に示すステップA1〜A10、図7に示すステップC1〜C10を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2におけるデータベース装置101とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部50及び処理受信部60として機能し、処理を行なう。また、データ管理部40は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
(実施の形態3)
次に、本発明の実施の形態3における、データベース装置、データ管理方法、及びプログラムについて、図13〜図20を参照しながら説明する。
[装置構成]
最初に、本実施の形態3におけるデータベース装置の構成について図13を用いて説明する。図13は、本発明の実施の形態2におけるデータベース装置の具体的構成を示すブロック図である。
図13に示すように、本実施の形態3におけるデータベース装置102は、実施の形態1において図2に示したデータベース装置100と同様に、データ管理部70と、処理実行部80と、処理受信部90とを備えている。但し、本実施の形態3は、処理実行部80の機能と、データ管理部70に格納される情報とにおいて、実施の形態1と異なっている。以下、相違点について具体的に説明する。
まず、処理実行部80におけるリスト作成部84は、実施の形態1及び2と同様に、値リスト71に、それに登録されているデータ値71b毎に、値番号リスト71での登録回数を付加する。そして、本実施の形態3では、リスト作成部84は、各データ値の値番号リスト71における最先の登録順位(以下「先頭位置」とも表記する。)も付加する(後述の図17参照)。
また、値リスト71の先頭位置71dにより、処理実行部80における検索処理部82は、検索処理時において、先頭位置から、検索対象値の値リスト番号と値番号リストとの照合を開始することができる。このため、本実施の形態3によれば、検索の開始位置を狭めることができるので、よりいっそうの検索速度の向上が図られる。
なお、上述した相違点を除けば、本実施の形態3におけるデータベース装置102は、実施の形態1において図2に示したデータベース装置101と同様に構成されている。
[装置動作]
次に、本実施の形態3におけるデータベース装置102の動作について図14〜図20を用いて説明する。また、本実施の形態1では、データベース装置100を動作させることによって、データ管理方法が実施される。よって、本実施の形態1におけるデータ管理方法の説明は、以下のデータ管理装置100の動作説明に代える。また、以下の説明では、適宜、図13を参酌する。
リスト作成処理:
最初に、図14を用いて、値番号リスト及び値リストの作成処理について説明する。図14は、本発明の実施の形態3におけるデータベース装置のリスト作成処理時の動作を示すフロー図である。また、以下においては、図22(a)に示したテーブルから、図15に示す値番号リスト及び値リストを作成する場合について説明する。
図14に示すように、最初に、リスト作成部84は、データ管理部70の記憶領域において、値リスト71及び値番号リスト72に使用する領域を確保し、テーブルに登録されている項目の1つを選択する(ステップE1)。
次に、リスト作成部84は、選択した項目のテーブルにおける行数を表すパラメータiの値を初期値に設定する(ステップE2)。ステップE2における初期値としては、「1」が挙げられる。
次に、リスト作成部84は、テーブル(図22(a)参照)から、ステップE1で選択された項目のi行目のデータ値を取得する(ステップE3)。次に、リスト作成部84は、ステップE3で取得したi行目のデータ値が、値リスト71に存在しているかどうかを判定する(ステップE4)。
ステップE4の判定の結果、i行目のデータ値が値リスト71に存在している場合は、リスト作成部84は、値リスト71において、このデータ値の登録回数に1を加算する(ステップE7)。
一方、ステップE4の判定の結果、i行目のデータ値が値リスト71に存在していない場合は、リスト作成部84は、i行目のデータ値を値リスト71に追加する(ステップE5)。また、ステップE5では、リスト作成部84は、i行目のデータ値に値リスト番号を付加すると共に、付加した値リスト番号も、値リスト71に追加する。
続いて、リスト作成部84は、値リスト71において、i行目のデータ値の先頭位置として、iを追加し(ステップE6)、その後、ステップE7を実行する。
次に、ステップE7の実行後、リスト作成部84は、値番号リスト72において、値番号として、i番を追加する。更に、リスト作成部24は、i番に対応する値リスト番号として、ステップE3で取得されたデータ値に付加されている値リスト番号(ステップE5が実行された場合は、そのときに付加された値リスト番号)を追加する(ステップE8)。
次に、リスト作成部84は、iの値に1を加算し(ステップE9)、その後、加算後のiの値がテーブル(データ値)の行数以下であるかどうかを判定する(ステップE10)。
ステップE10の判定の結果、iの値がテーブル(データ値)の行数以下である場合は、リスト作成部84は、再度、ステップE3を実行する。一方、ステップE10の判定の結果、iの値がテーブル(データ値)の行数以下でない場合は、リスト作成部84は、全ての項目について値番リスト11及び値番号リスト12が作成済みであるかどうかを判定する(ステップE11)。
ステップE11の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みでない場合は、リスト作成部84は、再度ステップE1を実行する。一方、ステップE11の判定の結果、全ての項目について値番リスト11及び値番号リスト12が作成済みである場合は、リスト作成部84は、処理を終了する。
ここで、図15を用いて、ステップE1において、項目として「日付」が選択された場合の処理について具体的に説明する。図15は、本発明の実施の形態3において作成された値番号リスト及び値リストの一例を示す図である。まず、i=1であるとすると、リスト作成部24は、1行目のデータ値「2014/3/1」を取得する。
そして、リスト作成部84は、「2014/3/1」が値リストに存在しないため、値リストの1行目に、データ値「2014/3/1」を追加し、更に、このデータ値に対して値リスト番号「1」を付加する。また、リスト作成部24は、データ値「2014/3/1」の登録回数に1を加算し、先頭位置として「1」を追加する。
また、i=4となったとき、リスト作成部84は、4行目のデータ値「2014/3/2」を取得する。このデータ値「2014/3/2」は値リストに存在しないため、リスト作成部24は、値リストの2行目に、データ値「2014/3/2」を追加し、更に、このデータ値に対して、値リスト番号「2」と先頭位置「4」とを付加する。また、リスト作成部24は、データ値「2014/3/2」の登録回数に1を加算する。
同様に、i=5になったときは、リスト作成部84は、5行目のデータ値「2014/3/3」の先頭位置として、「5」を追加する。i=7になったときは、リスト作成部84は、7行目のデータ値「2014/3/4」の先頭位置として、「7」を追加する。
検索処理:
続いて、図16を用いて、値番号リスト及び値リストを利用した検索処理について説明する。図16は、本発明の実施の形態3におけるデータベース装置の検索処理時の動作を示すフロー図である。また、以下においては、図15に示した値番号リスト及び値リストを用いる場合について説明する。
図16に示すように、最初に、検索処理部82は、検索対象となるデータ値(以下「検索対象値」と表記する。)の値リスト番号を取得する(ステップF1)。次に、検索処理部82は、値リストに格納されている、検索対象値の登録回数を取得する(ステップF2)。更に、検索処理部82は、値リストに格納されている、検索対象値の先頭位置も取得する(ステップF3)。
次に、検索処理部82は、値番号リストの行数を示すパラメータjの値を、ステップF3で取得した先頭位置に設定し、更に、対象データ一致カウンタkの値を初期値の「0」に設定する(ステップF4)。対象データ一致カウンタkの値は、抽出回数情報73として、データ管理部70に格納されている。
次に、検索処理部82は、kの値が、ステップF2で取得された検索対象値の登録回数より小さいかどうかを判定する(ステップF5)。ステップF5の判定の結果、kの値が、ステップF2で取得された検索対象値の登録回数より小さくない場合は、検索処理部82は、処理を終了する。
一方、ステップF5の判定の結果、kの値が、ステップF2で取得された検索対象値の登録回数より小さい場合は、検索処理部82は、jの値が、値番号リストの全行数以下であるかどうかを判定する(ステップF6)。
ステップF6の判定の結果、jの値が、値番号リストの全行数以下でない場合は、検索処理部82は、処理を終了する。一方、jの値が、値番号リストの全行数以下である場合は、検索処理部82は、値番号リストの値番号jに対応付けられている値リスト番号を取得する(ステップF7)。
次に、検索処理部82は、ステップF7で取得された、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する(ステップF8)。
ステップF8の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致していない場合は、検索処理部82は、jの値に1を加算し(ステップF9)、その後、再度ステップF7を実行する。
一方、ステップF8の判定の結果、値番号jに対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致している場合は、検索処理部82は、値番号リストの値番号jを、検索対象値の登録順位として取得する(ステップF10)。
次に、検索処理部22は、jの値に1を加算し、更に、kの値にも1を加算する(ステップF11)。その後、検索処理部22は、再度、ステップF5を実行する。
ここで、図17を用いて、検索対象値が顧客ID「102」である場合の検索処理について具体的に説明する(図1参照)。図17は、本発明の実施の形態3における検索処理を説明するための図である。
図17にしめすように、まず、検索処理部82は、顧客IDの値リストから、検索対象である「102」の値リスト番号を取得する。検索対象値「102」は、値リストの2行目に格納されているので、検索処理部22は、値リスト番号として「2」を取得する(図1参照)。更に、検索処理部22は、検索対象値「102」の登録回数として、「2」を取得し、先頭位置として「2」を取得する。
次に、検索処理部82は、jの初期値が「2」に設定されているので、値番号リストの値番号「1」ではなく、値番号「2」に対応付けられた値リスト番号と、検索対象値の値リスト番号とが一致しているかどうかを判定する。この場合は、前者は「2」で、後者も「2」であるので、検索処理部22は、一致していると判断する。よって、検索処理部22は、値番号リストの値番号「2」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。
また、検索処理部82は、j=5となったときも、値リスト番号と、検索対象値の値リスト番号とが一致しているので、値番号リストの値番号「5」を、検索対象値の登録順位として取得し、更に、jの値とkの値とのそれぞれに1を加算する。そして、この結果、kの値が検索対象値の登録回数と同じとなり、ステップE5の判定がNoとなるので、検索処理部82は処理を終了する。
このように、本実施の形態3では、登録回数に加えて先頭位置も用いられるので、検索範囲がより絞り込まれるので、検索速度の更なる向上が図られる。
更新処理:
続いて、図18を用いて、値番号リスト及び値リストの更新処理について説明する。図18は、本発明の実施の形態3におけるデータベース装置の更新処理時の動作を示すフロー図である。また、以下においては、図15に示した値番号リスト及び値リストを用いる場合について説明する。
図18に示すように、最初に、更新処理部83は、要求された更新処理での更新前データ値を特定し、その値リスト番号を取得する(ステップG1)。
次に、更新処理部83は、値リストに格納されている、更新前データ値の登録回数及び先頭位置を取得し(ステップG2)、更に、取得した登録回数から1を減算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップG3)。
次に、更新処理部83は、更新前データ値の値番号とステップG2で取得された先頭位置とを比較し、両者が一致しているかどうかを判定する(ステップG4)。ステップG4の判定の結果、両者が一致していない場合は、更新処理部83は、ステップG7を実行する。
一方、ステップG4の判定の結果、両者が一致している場合は、更新処理部83は、値番号リストから、更新前データ値の値リスト番号と同じ値リスト番号が次に登録されている値番号を取得する(ステップG5)。そして、更新処理部83は、値リストにおける更新前データ値の先頭位置を、ステップG5で取得した値番号で更新する(ステップG6)。
次に、更新処理部83は、要求された更新処理で指定されている更新後データ値を特定し、特定した更新後データ値が値リストに存在するかどうかを判定する(ステップG7)。
ステップG7の判定の結果、更新後データ値が値リストに存在する場合は、更新処理部83は、値リストに格納されている、更新後データ値に対応する登録回数を取得する(ステップG8)。次に、更新処理部83は、ステップG8で取得した登録回数に1を加算し、得られた値で、値リストに格納されている当該登録回数を更新する(ステップG9)。
次に、更新処理部83は、値番号リストにおいて、更新前データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さいかどうかを判定する(ステップG10)。ステップG10の結果、更新後データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さくない場合は、更新処理部83は、ステップG15を実行する。
一方、ステップG10の結果、更新後データ値の値番号が、値リストにおける更新後データ値の先頭位置より小さい場合は、更新処理部83は、値リストにおける更新後データ値の先頭位置を、更新後データ値の値番号で更新する(ステップG11)。また、その後、更新処理部83は、ステップG15を実行する。
また、上述のステップG7の判定の結果、更新後データ値が値リストに存在しない場合は、更新処理部83は、値リストに、更新後データ値を新たなデータ値として格納する(ステップG12)。また、更新処理部83は、更新後データ値に新たな値リスト番号を付加する。次に、更新処理部83は、値リストに、新たなデータ値の登録回数として「1」を格納し、その後、ステップG15を実行する。
次に、ステップG10でNo判定の後、ステップG11の実行後、又はステップG14の実行後、更新処理部83は、更新後データ値の値リスト番号を、値番号リストの更新箇所に格納する(ステップG15)。これにより、更新前データ値の更新がなされたことになる。
次に、更新処理部83は、全ての更新前データ値について更新処理が終了しているかどうかを判定する(ステップG16)。ステップG16の判定の結果、全ての更新前データ値について更新処理が終了していない場合は、更新処理部83は、再度、ステップG1を実行する。一方、ステップG16の判定の結果、全ての更新前データ値について更新処理が終了している場合は、更新処理部83は、処理を終了する。
ここで、図19及び図20を用いて、更新処理の具体例について説明する(図1参照)。図19は、本発明の実施の形態3における更新処理の前半部分を説明するための図である。図20は、本発明の実施の形態3における更新処理の後半部分を説明するための図である。
図19及び図20は、値番号リストの値番号2に対応するデータ値(顧客ID)を、「102」から「103」に更新する場合を示している。図20に示すように、更新処理部83は、値番号リストにおいて更新前データ値「102」が対応している値番号「2」と、値リストに格納されている更新前データ値「102」の先頭位置とを比較する。
本例では、両者は等しいため、更新処理部83は、値番号リストから、更新前データ値の値リスト番号と同じ値リスト番号が次に登録されている値番号として、値番号「5」を取得する。そして、図19に示すように、更新処理部83は、値リストにおける更新前データ値「102」の先頭位置を「2」から「5」に更新する。
また、更新後データ値「103」は既に値リストに存在し、その値リスト番号は「3」である。よって、図20に示すように、更新処理部83は、対応する登録回数に1を加算し、「2」とする。
そして、更新処理部83は、値番号リストにおいて、更新前データ値の値番号「2」が、値リストにおける更新後データ値「103」の先頭位置より小さいかどうかを判定する。本例では、更新後データ値「103」の先頭位置は「6」であり、更新前データ値の値番号の方が小さいので、図20に示すように、更新処理部83は、更新後データ値「103」の先頭位置を「6」から「2」に更新する。
更に、更新処理部23は、図20に示すように、値番号リストの更新箇所(値番号「2」の値リスト番号)に、新たに値リスト番号「3」を格納する。
また、図19及び図20には図示していないが、更新後データ値が値リストに存在しない場合は、更新処理部83は、値リストに、この更新後データ値を追加すると共に、新たな値リスト番号を付与する。また、更新処理部83は、その登録回数を「1」とすると共に、その先頭位置として、更新前データ値の値番号を格納する。
このように、本実施の形態3では、更新後データ値が値リストに存在する場合だけでなく、存在しない場合であっても、その先頭位置は保持される。従って、本実施の形態3によれば、従来のデータベースのように更新の度にインデックスを再作成する必要がないため、更新処理における処理速度も向上される。
[プログラム]
本実施の形態3におけるプログラムは、コンピュータに、図14に示すステップE1〜E11、図16に示すステップF1〜F11、図18に示すステップG1〜G16を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるデータベース装置102とデータ管理方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、処理実行部80及び処理受信部90として機能し、処理を行なう。また、データ管理部70は、コンピュータに備えられたハードディスク等の記憶装置によって実現できる。
(物理構成)
ここで、実施の形態1〜3におけるプログラムを実行することによって、データベース装置を実現するコンピュータについて図21を用いて説明する。図21は、本発明の実施の形態1〜3におけるデータベース装置を実現するコンピュータの一例を示すブロック図である。
図21に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
前記処理実行部は、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
ことを特徴とするデータベース装置。
(付記2)
前記処理実行部が、
行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、
付記1に記載のデータベース装置。
(付記3)
前記処理実行部が、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記1または2に記載のデータベース装置。
(付記4)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記処理実行部は、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記1〜3のいずれかに記載のデータベース装置。
(付記5)
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とするデータ管理方法。
(付記6)
(c)行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、ステップを更に有する、
付記5に記載のデータ管理方法。
(付記7)
前記(b)のステップにおいて、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記5または6に記載のデータ管理方法。
(付記8)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記(b)のステップにおいて、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記5〜7のいずれかに記載のデータ管理方法。
(付記9)
コンピュータに、
(a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
(b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
前記(b)のステップでは、
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、プログラム。
(付記10)
前記コンピュータに、
(c)行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、ステップを更に実行させる、
付記9に記載のプログラム。
(付記11)
前記(b)のステップにおいて、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
付記9または10に記載のプログラム。
(付記12)
前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
前記(b)のステップにおいて、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、付記9〜11のいずれかに記載のプログラム。
以上のように、本発明によれば、インデックスの作成を行なうことなく、検索速度の向上を図ることができる。本発明は、データベース、特には、カラムストア型データベースに有用である。
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 バス

Claims (6)

  1. 番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、データ管理部と、
    データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、処理実行部と、を備え、
    前記処理実行部は、
    前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
    指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
    ことを特徴とするデータベース装置。
  2. 前記処理実行部が、
    行毎に1又は2以上のデータ値を登録するテーブルから、前記テーブルの列毎に、前記データ値を抽出して、値リストとそれに対応する値番号リストを作成し、
    更に、前記値リストの作成の際に、抽出した前記データ値それぞれ毎に、当該データ値の抽出回数を特定し、特定した抽出回数を、当該データ値の前記登録回数として、作成した前記値番号リストに付加する、
    請求項1に記載のデータベース装置。
  3. 前記処理実行部が、複数のデータ値が指定された場合は、指定された複数のデータ値それぞれ毎に、前記値番号リストでの登録回数を特定し、指定された複数のデータ値それぞれについて、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、
    請求項1または2に記載のデータベース装置。
  4. 前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数に加えて、当該データ値の前記値番号リストにおける最先の登録順位が付加されており、
    前記処理実行部は、前記登録順位の位置から、特定した番号と前記値番号リストとの照合を開始する、請求項1〜3のいずれかに記載のデータベース装置。
  5. (a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
    (b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を有し、
    前記(b)のステップでは、
    前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
    指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、ことを特徴とするデータ管理方法。
  6. コンピュータに、
    (a)番号順にデータ値が登録された値リストと、前記値リストの番号が、対応するデータ値の出現順に登録された値番号リストとを用いて、前記データ値を管理する、ステップと、
    (b)データ値が指定された場合に、指定されたデータ値について前記値リストの番号を特定し、更に、特定した番号と前記値番号リストとを照合して、特定した番号の前記値番号リストでの登録順位を抽出し、抽出した登録順位に基づいて、指定されたデータ値に関する検索処理を実行する、ステップと、を実行させ、
    前記(b)のステップでは、
    前記値リストに、それに登録されている前記データ値それぞれ毎の、前記値番号リストでの登録回数が付加されている場合は、
    指定されたデータ値について、前記値番号リストでの登録回数を特定し、特定した登録回数の数だけ登録順位が抽出できた時点で、特定した番号と前記値番号リストとの照合を停止する、プログラム。
JP2014230847A 2014-11-13 2014-11-13 データベース装置、データ管理方法、及びプログラム Active JP6402600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014230847A JP6402600B2 (ja) 2014-11-13 2014-11-13 データベース装置、データ管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014230847A JP6402600B2 (ja) 2014-11-13 2014-11-13 データベース装置、データ管理方法、及びプログラム

Publications (2)

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

Family

ID=56071852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014230847A Active JP6402600B2 (ja) 2014-11-13 2014-11-13 データベース装置、データ管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6402600B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018169963A (ja) * 2017-03-30 2018-11-01 富士通株式会社 ファイル生成プログラム、ファイル生成方法およびファイル生成装置
WO2023032013A1 (ja) * 2021-08-30 2023-03-09 晋二 古庄 演算装置、演算方法、及びプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297771A (ja) * 1996-05-08 1997-11-18 Canon Inc 文字列検索方法とその装置、並びに、文字列検索情報生成方法とその装置
JP2008250546A (ja) * 2007-03-29 2008-10-16 Fujitsu Broad Solution & Consulting Inc データ検索方法、プログラム及び装置
JP2009042869A (ja) * 2007-08-07 2009-02-26 Fujitsu Broad Solution & Consulting Inc データベース管理プログラム及びデータベース管理装置
JP2010166552A (ja) * 2008-12-17 2010-07-29 Mitsubishi Electric Corp テーブル装置、符号化装置、復号装置および符号化/復号装置
US20110270844A1 (en) * 2010-05-03 2011-11-03 International Business Machines Corporation Efficient and scalable data evolution with column oriented databases
JP2014191593A (ja) * 2013-03-27 2014-10-06 Nec Corp カラムストア型データベース管理システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297771A (ja) * 1996-05-08 1997-11-18 Canon Inc 文字列検索方法とその装置、並びに、文字列検索情報生成方法とその装置
JP2008250546A (ja) * 2007-03-29 2008-10-16 Fujitsu Broad Solution & Consulting Inc データ検索方法、プログラム及び装置
JP2009042869A (ja) * 2007-08-07 2009-02-26 Fujitsu Broad Solution & Consulting Inc データベース管理プログラム及びデータベース管理装置
US20110196898A1 (en) * 2007-08-07 2011-08-11 Fujitsu Broad Solution & Consulting Inc. Database management program and database management apparatus
JP2010166552A (ja) * 2008-12-17 2010-07-29 Mitsubishi Electric Corp テーブル装置、符号化装置、復号装置および符号化/復号装置
US20110270844A1 (en) * 2010-05-03 2011-11-03 International Business Machines Corporation Efficient and scalable data evolution with column oriented databases
JP2014191593A (ja) * 2013-03-27 2014-10-06 Nec Corp カラムストア型データベース管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018169963A (ja) * 2017-03-30 2018-11-01 富士通株式会社 ファイル生成プログラム、ファイル生成方法およびファイル生成装置
WO2023032013A1 (ja) * 2021-08-30 2023-03-09 晋二 古庄 演算装置、演算方法、及びプログラム

Also Published As

Publication number Publication date
JP6402600B2 (ja) 2018-10-10

Similar Documents

Publication Publication Date Title
CN103902698B (zh) 一种数据存储系统和存储方法
US11182691B1 (en) Category-based sampling of machine learning data
US9116968B2 (en) Methods and apparatus related to graph transformation and synchronization
JP5199317B2 (ja) データベース処理方法、データベース処理システム及びデータベースサーバ
US10810174B2 (en) Database management system, database server, and database management method
CN103853802B (zh) 用于索引电子内容的装置和方法
US10664459B2 (en) Database managing method, database managing system, and database tree structure
WO2019161645A1 (zh) 基于Shell的数据表提取方法、终端、设备及存储介质
JP7015319B2 (ja) データ分析支援装置、データ分析支援方法およびデータ分析支援プログラム
CN112579586A (zh) 数据处理方法、装置、设备及存储介质
JP6402600B2 (ja) データベース装置、データ管理方法、及びプログラム
JP6098294B2 (ja) 情報秘匿化装置、情報秘匿化方法
EP3123360A1 (en) Partition filtering using smart index in memory
JP6459669B2 (ja) カラムストア型データベース管理システム
CN106503186A (zh) 一种数据管理方法、客户端及系统
JP7015320B2 (ja) データ分析支援装置、データ分析支援方法およびデータ分析支援プログラム
CN112817969B (zh) 数据查询方法、系统、电子设备和存储介质
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
JP2018181121A (ja) 分析装置、分析プログラム及び分析方法
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
CN110309367B (zh) 信息分类的方法、信息处理的方法和装置
JP2011209853A (ja) 名寄せ処理システム、名寄せ処理方法及び名寄せ処理プログラム
JP5899587B2 (ja) ファイルの検索方法、ファイル検索装置及びプログラム
JP6702425B2 (ja) 集計プログラム、集計装置、及び集計方法
JP6631139B2 (ja) 検索制御プログラム、検索制御方法および検索サーバ装置

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