JP6961133B1 - 検索装置、検索方法、及び、検索プログラム - Google Patents

検索装置、検索方法、及び、検索プログラム Download PDF

Info

Publication number
JP6961133B1
JP6961133B1 JP2021540861A JP2021540861A JP6961133B1 JP 6961133 B1 JP6961133 B1 JP 6961133B1 JP 2021540861 A JP2021540861 A JP 2021540861A JP 2021540861 A JP2021540861 A JP 2021540861A JP 6961133 B1 JP6961133 B1 JP 6961133B1
Authority
JP
Japan
Prior art keywords
access
database
unit
deadlock
queue
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
JP2021540861A
Other languages
English (en)
Other versions
JPWO2021038797A1 (ja
Inventor
雄規 藤井
雅司 立床
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021038797A1 publication Critical patent/JPWO2021038797A1/ja
Application granted granted Critical
Publication of JP6961133B1 publication Critical patent/JP6961133B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

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

Abstract

検索装置(101)は、データベース(150)へのデータベースアクセスの要求を表すアクセス要求情報を登録しているアクセスキュー(137)を有するデータ記憶部(130)と、アクセスキュー(137)に登録されているアクセス要求情報に対応するデータベースアクセスを実行中アクセスとして同時に1以上実行し、実行中アクセスに対応するアクセス要求情報をアクセスキュー(137)から削除するアクセス部(122)と、データベースアクセスにおけるデッドロックを防止するデッドロック防止部(124)とを備える。

Description

本発明は、検索装置、検索方法、及び、検索プログラムに関する。
1つ以上のデータベースにアクセスするために必要な情報を記憶しておき、検索要求を受け付け、検索要求に応答するために必要なデータを管理している外部のデータベースへアクセスして検索を実行する検索装置が開示されている(例えば、特許文献1参照)。特許文献1の技術では、検索装置は、事前に記憶したデータベースへのアクセスに関する定義を基に、データベースにアクセスし、結果を取得する。
検索装置の一般的な問合せ処理の動作を説明する(例えば、非特許文献1参照)。検索装置は、複数の問合せを同時に受信すると、それらに対応する実行計画に従った検索処理を並列に実行する。
実行計画は木構造のデータであり、実行計画の各計画ノードは実行中状態と待ち状態との2つの状態の間を遷移する。1つの問合せの実行計画において、検索装置が同時に実行中状態とする計画ノードは1件のみであり、その他の計画ノードは待ち状態となる。
検索装置は、
結合処理を含む問合せ等から、複数のデータベースへのアクセスを含む実行計画を作成する場合があり、
あるデータベースアクセスの結果を1件取得した後、別のデータベースアクセスの結果を1件取得する場合がある。
データベースには、同時アクセス数の上限が設定されている場合がある。
問合せの実行可能性を保証するためのデータベースへの同時アクセス数の制御方法に関して、特許文献2では、データベースへの同時アクセス数を監視し、一定値未満になるまで待ち合わせる技術が開示されている。
データベースからの結果取得方法に関して、非特許文献1では、データベースアクセスを1回実行する度に、データベースから結果を1件取得する技術が開示されている。
非特許文献2では、データベースアクセスを実行する際に、データベースから全ての結果を取得した当該データベースアクセスを終了させる技術が開示されている。
特許第4483034号公報 特開2001−331463号公報
PostgreSQL 10.8 Documentation 56.2.1. FDW Routines For Scanning Foreign Tables、[online]、The PostgreSQL Global Development Group、[令和1年6月10日検索]、インターネット<https://www.postgresql.org/docs/10/fdw−callbacks.html#FDW−CALLBACKS−SCAN> PostgreSQL 9.1.24 Documentation dblink、[o n l i n e] 、The PostgreSQL Global Development Group、[令和1年6月10日検索]、インターネット<https://www.postgresql.org/docs/9.1/contrib−dblink−function.html>
データベースに同時アクセス数の上限が設定されている場合に、特許文献2の技術と非特許文献1の技術とを組み合わせると、実行中のデータベースアクセスの総数がデータベースの同時アクセス数の上限に達しているときに、実行中のデータベースアクセスに対応する問合せに含まれるデータベースアクセスを新たに開始するよう要求した場合に、デッドロックが発生することがある。そのため、特許文献2の技術と非特許文献1の技術との組み合わせでは、問合せの実行可能性を保証できない。
また、特許文献2の技術と非特許文献2の技術とを組み合わせると、デッドロックを防止できるが、一時ファイルのI/O(Input/Output)が多量に発生してデータベースアクセスの処理速度が低下することがある。
従って、従来技術の組み合わせによっては、デッドロックが発生することを防ぐことと、データベースアクセスの処理速度の低下を防ぐこととを両立できないという課題があった。
本発明は、実行中のデータベースアクセスの総数がデータベースの同時アクセス数の上限に達しているときに、実行中のデータベースアクセスに対応する問合せに含まれるデータベースアクセスを新たに開始するよう要求した場合に、デッドロックが発生することを防ぐことと、処理速度の低下を防ぐこととを両立することを目的とする。
本発明の検索装置は、
データベースへのデータベースアクセスの要求を表すアクセス要求情報を登録しているアクセスキューと、データを書き込むことができる一時領域とを有するデータ記憶部と、
前記アクセスキューに登録されている前記アクセス要求情報に対応するデータベースアクセスを実行中アクセスとして同時に1以上実行し、前記実行中アクセスに対応するアクセス要求情報を前記アクセスキューから削除するアクセス部と、
前記データベースアクセスにおけるデッドロックを防止するデッドロック防止部と
を備え、
前記アクセス部は、前記データベースアクセスを実行する前に、前記データベースへの同時アクセス数が上限に達している場合に、前記デッドロック防止部にデッドロックの検知を依頼し、
前記デッドロック防止部は、
前記アクセス部にデッドロックの検知を依頼された場合に、前記実行中アクセスの任意の識別情報が、前記アクセスキューに登録されている前記アクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知し、
デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択し、前記選択アクセスの全ての結果の内、前記データベースから取得していない結果である残り結果を前記データベースから取得し、前記残り結果を前記一時領域に書き込み、前記データベースに前記選択アクセスに対応する処理の終了を要求する。
本発明によれば、実行中のデータベースアクセスの総数がデータベースの同時アクセス数の上限に達しているときに、実行中のデータベースアクセスに対応する問合せに含まれるデータベースアクセスを新たに開始するよう要求した場合に、
アクセス部は、データベースアクセスを実行する前に、データベースへの同時アクセス数が上限に達している場合に、デッドロック防止部にデッドロックの検知を依頼し、
デッドロック防止部は、
アクセス部にデッドロックの検知を依頼された場合に、実行中アクセスの任意の識別情報が、アクセスキューに登録されているアクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知し、
デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択し、選択アクセスの全ての結果の内、データベースから取得していない結果である残り結果をデータベースから取得し、残り結果を一時領域に書き込み、データベースに選択アクセスに対応する処理の終了を要求する。
従って、本発明によれば、デッドロックが発生することを防ぐことと、データベースアクセスの処理速度の低下を減らすこととを両立することができる。
実施の形態1に係る検索装置101の構成図。 実施の形態1に係るアクセス記憶領域133のデータ例。 実施の形態1に係る実行計画135の例。 実施の形態1に係るアクセスキュー137の例。 実施の形態1に係る検索装置101を用いた検索システムの構成図。 実施の形態1に係る検索装置101のハードウェア構成図。 実施の形態1に係るアクセス定義処理の動作を示すフローチャート。 実施の形態1に係るデータ検索処理の動作を示すフローチャート。 実施の形態1に係るステップS203の動作を示すフローチャート。 実施の形態1に係るステップS303の動作を示すフローチャート。 実施の形態1に係るステップS402の動作を示すフローチャート。 実施の形態1に係るステップS403の動作を示すフローチャート。 実施の形態1に係るステップS406の動作を示すフローチャート。 実施の形態1に係るアクセスキュー137の例。 実施の形態1に係るアクセス記憶領域133のデータ例。 実施の形態1に係るアクセス記憶領域133のデータ例。 実施の形態1に係るアクセスキュー137の例。
実施の形態1.
以下、本実施の形態について、図面を参照しながら詳細に説明する。
***構成の説明***
図1は、本実施の形態に係る検索装置101の構成例を示す。
検索装置101は、
データベース150に接続されており、
外部の検索アプリケーション300から問合せ301を受信し、
受信した問合せ301に対応する命令をデータベース150に送信し、
データベース150から送信した命令に対応する検索結果を受信し、
受信した検索結果を検索アプリケーション300に送信する。
アプリケーションは、アプリケーションプログラムのことである。以下、アプリケーションプログラムをアプリケーションと記載する。
データベース150は、典型的には、
検索装置101の外部のデータベースであり、
検索部151と、データ格納領域152とから構成され、
問合せ301に対する検索結果を検索装置101に送信する。
検索部151は、検索装置101から要求されたデータベースアクセスを処理する。
データベースアクセスは、データベース150にアクセスする必要がある処理のことであり、一時領域134にアクセスする処理を含む。
データ格納領域152は、検索部151の検索対象であるデータを格納している。
検索アプリケーション300は、
問合せ301と、検索結果302とを有し、
問合せ301を検索装置101に送信する。
問合せ301は、
データベース150の検索を要求する問合せであり、
データベース150に格納されているデータの検索を要求する命令であり、
検索装置101がデータを検索するための問合せである。
問合せ301が検索装置101内のデータの検索を要求する場合もあるが、以下では、問合せ301がデータベース150の検索を要求する場合について説明する。
検索結果302は、問合せ301に対応する結果を受け取るための領域である。
検索装置101は、アクセス定義部110と、検索処理部120と、データ記憶部130とから構成される。
アクセス定義部110は、
定義アプリケーション200からアクセス定義201を受信し、
受信したアクセス定義201をアクセス定義131に変換し、
データ記憶部130にアクセス定義131を格納する。
定義アプリケーション200は、検索装置101がデータベースアクセスする際に必要なアクセス定義201を有する。
アクセス定義131は、データベース150の場所、データベース150への同時アクセス数の上限である上限132等、データベース150へのアクセスに必要な情報から成る。
アクセス定義201と、アクセス定義131とは形式が異なるのみである。そのため、以下ではアクセス定義131について説明する。以下のアクセス定義131に関する説明は、アクセス定義201にもあてはまる。
検索処理部120は、問合せ処理部121と、アクセス部122と、監視部123と、デッドロック防止部124とから構成される。
問合せ処理部121は、検索アプリケーション300から問合せ301を受信する。
問合せ処理部121は、
受信した問合せ301に対応する実行計画135を生成し、
実行計画135に従い処理を実行し、
実行計画135がデータベースアクセスを含む場合、当該データベースアクセスの情報をアクセス部122に提供し、アクセス部122に当該データベースアクセスの全ての結果を1件ずつ取得するよう要求する。
問合せ処理部121は、典型的には、アクセス部122から取得したデータベースアクセスの結果を1件ずつ処理する。
1件の結果は、対象アクセスの結果全体が表形式のデータである場合、表の1行に対応する。この場合において、対象アクセスの結果の総数は、表の行数と同じである。
問合せ処理部121は、
データベースアクセスに関する処理を開始する前に、監視部123にデータベース150への同時アクセス数136を問い合わせ、
同時アクセス数136が上限132に達していない場合、データベースアクセスに関する処理を開始し、
それ以外の場合、デッドロック防止部124にデッドロックの検知を依頼し、デッドロックが発生している場合、デッドロック防止部124にデッドロックの解消を依頼する。
同時アクセス数136は、データベース150への同時アクセス数である。
アクセス部122は、問合せ処理部121から受信したデータベースアクセスの情報と、アクセス定義131とを基に、データベースアクセスを実行する。
データベースアクセスの方法は、検索条件を表す問合せをデータベース150に転送して実行を委託する方法でも良く、問合せの検索手順を表す実行計画をデータベース150に転送して実行を委託する方法でも良く、その他の方法でも良い。
アクセス部122は、問合せ処理部121からデータベースアクセスの情報を受信する度に、検索部151にデータベースアクセスの開始を依頼するための処理を実行する。
監視部123は、問合せ処理部121から同時アクセス数136の問合せがあった場合に、
同時アクセス数136を取得し、
アクセス部122にデータベース150への同時アクセス数136を回答する。
デッドロック防止部124は、アクセス部122にデッドロックの検知を依頼された場合に、アクセス記憶領域133と、アクセスキュー137とを参照してデッドロックを検知する。
デッドロック防止部124は、アクセス部122にデッドロックの解消を依頼された場合に、
アクセス記憶領域133を参照して実行中アクセスのいずれか1件を選択アクセスとして選択し、
選択アクセスに対応する残り結果を取得し、
一時領域134に取得した残り結果を書き込み、
当該データベースアクセスの終了をデータベース150の検索部151に依頼する。
デッドロック防止部124は、アクセス部122にデッドロックの検知を依頼された場合に、実行中アクセスの任意の識別情報が、アクセスキュー137に登録されているアクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知する。
識別情報は、実行中アクセスを識別する情報であり、具体例として、問合せIDである。
問合せIDは、データベースアクセスに対応する問合せ301を示す識別子である。
デッドロックの検知は、デッドロックが発生する可能性を検知することを含む。
デッドロックの解消は、デッドロックが発生する可能性を解消することを含む。
実行中アクセスは、実行中のデータベースアクセスのことである。実行中のデータベースアクセスには、他のデータベースアクセスの完了を待つことも含まれる。
実行中アクセスに対応する処理をデータベース150が実行している場合、実行中アクセスは実行中状態である。実行中アクセスは、実行中状態でない場合、待ち状態である。
残り結果は、1の実行中アクセスの全ての結果の内、データベース150から取得していない結果である。
データ記憶部130は、アクセス定義131と、アクセス記憶領域133と、一時領域134と、実行計画135と、同時アクセス数136と、アクセスキュー137とを格納することができる。
アクセス記憶領域133は、実行中のデータベースアクセス全件について、実行中のデータベースアクセスの情報を表す実行中アクセス情報を記憶している。
図2は、実行中アクセス情報のデータの例を示す。本図の表の1行が、1の実行中アクセス情報に該当する。
本図に示すように、実行中アクセス情報は、問合せIDと、アクセスIDと、必要情報と、一時領域フラグと、結果データサイズとから構成される。
アクセスIDは、データベースアクセスの識別子を表す。
必要情報は、データベースアクセスの結果を取得するために必要な情報を表す。
一時領域フラグは、データベースアクセスにおいて、一時領域134へのアクセスする必要の有無を表す。
結果データサイズは、
典型的には、データベースアクセスの結果のデータサイズの推定値であり、
データベースアクセスの結果のデータサイズの実績値であっても良い。
一時領域134は、データベースアクセスの残り結果を格納する領域である。
実行計画135は、
典型的には、図3に例示するような木構造のデータであり、
問合せ処理部121が問合せ301を基に作成したものであり、
検索手順を表すものである。
同時アクセス数136は、データベース150への同時アクセス数をリアルタイムで反映している。
アクセスキュー137は、アクセス部122が開始を要求するデータベースアクセス全件について、アクセス要求情報を記憶する。
アクセス要求情報は、
データベースアクセスの開始要求を表し、
典型的には、アクセス部122が開始を要求するデータベースアクセスに対応する問合せ301の識別子を表す問合せIDと、アクセスキュー137における開始要求の順番を表す開始要求番号とから構成される。
図4は、アクセスキュー137データの例である。図4の表の1行が、1件のアクセス要求情報である。
図5は、検索装置101を用いた検索システムの構成例である。
本図に示すように、検索システムは、検索装置101と、データ収集装置401と、データ検索装置501と、外部データ管理装置601とから構成される。
データ収集装置401は、定義アプリケーション200を備える。
データ検索装置501は、検索アプリケーション300を備える。
外部データ管理装置601は、データベース150を備える。
データ収集装置401と、データ検索装置501と、外部データ管理装置601とは、検索システムが1つだけ備えていても良く、複数備えていても良い。
データ収集装置401、データ検索装置501、及び/又は、外部データ管理装置601は、検索装置101に内包されていても良い。
図6は、検索装置101のハードウェア構成例を示す図である。
本図に示すように、検索装置101は一般的なコンピュータ10から構成される。
演算装置701と、外部記憶装置702と、主記憶装置703と、通信装置704とは、バス705を介して接続されている。
なお、本図に示す構成は、検索装置101のハードウェア構成の一例に過ぎず、他の構成であっても良い。
具体例として、表示ディスプレイ等の出力装置と、マウス、キーボード等の入力装置とがバス705に接続されていても良い。
演算装置701は、検索プログラムを実行することができる装置であり、具体例として、CPU(Central Processing Unit)である。
検索装置101は、演算装置701を複数備えていても良い。これら複数の演算装置は、検索プログラムの実行を分担する。
外部記憶装置702は、具体例として、ROM(Read Only Memory)、及び/又は、ハードディスクである。
主記憶装置703は、通常はRAM(Random Access Memory)であり、他の装置であっても良い。
通信装置704は、通常はイーサネット(登録商標)に対応した通信カードであり、他の装置であっても良い。
検索装置101の各部は、通信装置704を利用して、定義アプリケーション200、検索アプリケーション300、又は、データベース150と通信する。
検索プログラムは、通常は外部記憶装置702に記憶されており、主記憶装置703にロードされ、順次演算装置701に読み込まれて実行される。
検索プログラムは、検索装置101の各部の機能を実現するプログラムであり、主記憶装置703に記憶されていても良い。
検索プログラムは、コンピュータ10が読み取り可能な可搬記憶媒体に記憶されていても良く、プログラムプロダクトとして提供されても良い。可搬記憶媒体は、具体例として、NANDフラッシュである。
データ記憶部130は、通常は外部記憶装置702により実現されるが、主記憶装置703により実現されても良く、外部記憶装置702と主記憶装置703との組み合わせにより実現されても良い。
外部記憶装置702にはOS(Operating System)も記憶されており、OSの少なくとも一部が主記憶装置703にロードされ、演算装置701はOSを実行しながら、検索プログラムを実行する。
検索プログラムは、OSの機能を利用しても良い。
また、本実施の形態において、典型的には、処理の結果を示す、情報、データ、信号値、及び/又は、変数値が主記憶装置703にファイルとして記憶されている。
***動作の説明***
本実施の形態に係る検索装置101の動作を説明する。
検索装置101の動作手順は、検索方法に相当する。また、検索装置101の動作を実現するプログラムは、検索プログラムに相当する。
図7は、検索装置101のデータベース150へのアクセスを定義するアクセス定義処理の動作を示すフローチャートの例である。本図に基づいて、アクセス定義処理を説明する。
(ステップS101:定義受信処理)
アクセス定義部110は、定義アプリケーション200からアクセス定義201を受信する。
(ステップS102:定義変換処理)
アクセス定義部110は、受信したアクセス定義201を解釈し、アクセス定義201をアクセス定義131に変換する。
(ステップS103:定義格納処理)
アクセス定義部110は、アクセス定義131をデータ記憶部130に格納する。
図8は、検索装置101のデータ検索処理の動作を示すフローチャートの例である。本図に基づいて、データ検索処理を説明する。
本図に示す動作の開始前に、アクセス定義131がデータ記憶部130に格納されているものとする。
実行計画135は、ステップS202において生成されるため、データ検索処理の開始前にデータ記憶部130に格納されていない。
(ステップS201:問合せ受信処理)
問合せ処理部121は、検索アプリケーション300から問合せ301を受信する。
(ステップS202:計画生成処理)
問合せ処理部121は、問合せ301を解析し、実行計画135を生成する。
問合せ処理部121は、実行計画135に含まれる各データベースアクセスの結果データサイズを求める。
(ステップS203:問合せ実行処理)
問合せ処理部121は、
実行計画135を基に問合せ301を実行し、
問合せ301の実行結果を検索アプリケーション300に送信する。
本ステップの詳細は後述する。
図9は、ステップS203の動作を示すフローチャートの例である。本図を用いてステップS203の詳細を説明する。
検索装置101は、以下の処理において、SQL(Structured Query Language)における一般的な手法を用いて良い。
(ステップS301:ノード取得処理)
問合せ処理部121は、典型的には深さ優先探索により実行計画の木を走査し、1の計画ノードを対象ノードとして取得する。
問合せ処理部121は、実行計画135が図3に示すものである場合、「アクセス1A」、「アクセス1B」、「結合」の順に取得する。
問合せ処理部121は、1の問合せ301に関する本フローチャートの処理を最初に実行する場合に、頂点ノードを取得しても良い。
頂点ノードは、ルートノードとも呼ばれる。
(ステップS302:アクセス判定処理)
問合せ処理部121は、対象ノードがデータベースアクセスを含むか否かを判定する。
問合せ処理部121は、
判定結果がYESの場合、ステップS303に進み、
それ以外の場合、ステップS304に進む。
(ステップS303:結果取得処理)
以下、対象ノードに対応するデータベースアクセスを対象アクセスとする。
問合せ処理部121は、アクセス部122に、
対象アクセスの情報を対象アクセス情報として送信し、
対象ノードに対応する1件の結果を、対象結果として取得させる。
本ステップにおいて、問合せ処理部121は、対象結果を取得できない場合もある。
本ステップの詳細は後述する。
(ステップS304:結果取得処理)
問合せ処理部121は、対象ノードに対応する1件の結果を、対象結果として取得する。
本ステップにおいて、問合せ処理部121は、対象結果を取得できない場合もある。
(ステップS305:頂点判定処理)
問合せ処理部121は、対象ノードが頂点ノードか否かを判定する。
問合せ処理部121は、
判定結果がYESの場合、ステップS306に進み、
それ以外の場合、ステップS301に戻る。
(ステップS306:取得判定処理)
問合せ処理部121は、対象結果を取得できたか否かを判定する。
問合せ処理部121は、
判定結果がYESの場合、ステップS307に進み、
それ以外の場合、ステップS203の処理を終了する。
(ステップS307:結果送信処理)
問合せ処理部121は、対象結果を検索アプリケーション300に送信し、ステップS301に戻る。
図10は、ステップS303の動作を示すフローチャートの例である。本図を用いて、ステップS303の詳細を説明する。
ステップS303の全ての処理は、アクセス部122が主導する。
アクセス部122は、以下の処理において、アクセス記憶領域133、同時アクセス数136、及び/又は、アクセスキュー137を参照及び/又は更新する際に、1のデータベースアクセスに対応するプロセスのみが同時に実行することができるように排他ロックを取得する。
(ステップS401:判定処理)
アクセス部122は、対象アクセスに対応する1件目の対象結果を取得する処理であるか否かを判定する。
アクセス部122は、
判定結果がYESの場合、ステップS402に進み、
それ以外の場合、ステップS403に進む。
(ステップS402:アクセス開始処理)
アクセス部122は、対象アクセスを開始する。
本ステップの詳細は後述する。
(ステップS403:結果取得処理)
アクセス部122は、対象アクセスの1件の結果を対象結果として取得する。
本ステップの詳細は後述する。
(ステップS404:生成判定処理)
アクセス部122は、ステップS403で対象結果を取得できたか否かを判定する。
アクセス部122は、
判定結果がYESの場合、ステップS405に進み、
それ以外の場合、ステップS406に進む。
(ステップS405:結果送信処理)
アクセス部122は、対象結果を問合せ処理部121に送信する。
(ステップS406:アクセス終了処理)
アクセス部122は、対象アクセスを終了する。
本ステップの詳細は後述する。
図11は、ステップS402の動作を示すフローチャートの例である。本図を用いてステップS402の詳細を説明する。
(ステップS501:問合せ受信処理)
アクセス部122は、
対象アクセスの情報を対象アクセス情報として問合せ処理部121から受信し、
受信した対象アクセス情報を基に、アクセスキュー137に対象アクセスのアクセス要求情報を、対象要求情報として登録する。
対象アクセス情報には、問合せIDと、アクセスIDと、必要情報と、結果データサイズの情報とが含まれる。
(ステップS502:待機処理)
アクセス部122は、
対象要求情報の開始要求番号が1番になった場合、ステップS503に進み、
それ以外の場合、本ステップの処理を続ける。
(ステップS503:上限判定処理)
アクセス部122は、監視部123に、同時アクセス数136が上限132に達しているか否かを問い合わせる。
監視部123は、同時アクセス数136がアクセス定義131の上限132(以下、上限132の値をNとする)に達しているか否かを回答する。
アクセス部122は、
監視部123の回答がYESの場合、ステップS504に進み、
それ以外の場合、ステップS509に進む。
(ステップS504:要求判定処理)
アクセス部122は、デッドロック防止部124にデッドロックの検知を依頼する。
本ステップにおいて、アクセス記憶領域133において一時領域フラグがOFFとなっている実行中アクセス情報がN個ある。以下、N個の実行中アクセス情報に対応するデータベースアクセスに対して重複がないよう通し番号iを割り当て(i=1,2,...,N)、各データベースアクセスをRe(i)と表記する。通し番号の割り当て方は、任意であって良い。
デッドロック防止部124は、任意のi∈{1,2,...,N}について、同時実行中のデータベースアクセスRe(i)に対応する問合せIDを有するアクセス要求情報がアクセスキュー137に登録されているか否かを判定する。
デッドロック防止部124は、
判定結果がYESの場合、ステップS505に進み、
それ以外の場合、ステップS503に戻る。
判定結果は、実行中アクセスに対応する任意の問合せIDを、アクセスキュー137に登録されているいずれかのアクセス要求情報が有する場合に、YESとなる。
(ステップS505:アクセス選択処理)
アクセス部122は、デッドロック防止部124にデッドロックの解消を依頼する。
デッドロック防止部124は、アクセス記憶領域133を参照し、結果データサイズが最小であるデータベースアクセスを、選択アクセスとして選択する。以下、選択アクセスの通し番号を、i´とする。
デッドロック防止部124は、結果データサイズが最小であるデータベースアクセスが複数ある場合、いずれか1つの結果データサイズが最小であるデータベースアクセスを、選択アクセスとして選択する。
(ステップS506:情報更新処理)
デッドロック防止部124は、
Re(i´)の残り結果を一時領域134に書き込み、
アクセス記憶領域133においてRe(i´)の必要情報を一時領域134から結果を取得するために必要な情報に更新する。
(ステップS507:アクセス終了処理)
デッドロック防止部124は、Re(i´)に対応する処理の終了をデータベース150に要求する。
(ステップS508:フラグ変更処理)
デッドロック防止部124は、Re(i´)に対応する一時領域フラグをONに変更する。
(ステップS509:アクセス開始処理)
アクセス部122は、
対象アクセスの開始をデータベース150に要求し、
データベース150から必要情報を取得する。
(ステップS510:要求削除処理)
アクセス部122は、
対象要求情報をアクセスキュー137から削除し、
アクセスキュー137に登録されている他のアクセス要求情報全ての開始要求番号を1デクリメントする。
(ステップS511:登録処理)
アクセス部122は、対象アクセスの実行中アクセス情報をアクセス記憶領域133に登録する。
実行中アクセス情報には、ステップS509で取得した必要情報が含まれる。
(ステップS512:インクリメント処理)
アクセス部122は、同時アクセス数136を1インクリメントする。
図12は、ステップS403の動作を示すフローチャートの例である。本図を用いてステップS403の詳細を説明する。
(ステップS601:情報受信処理)
アクセス部122は、対象アクセスの情報を、対象アクセス情報として問合せ処理部121から受信する。
対象アクセス情報には、問合せIDと、アクセスIDとが含まれる。
(ステップS602:フラグ判定処理)
アクセス部122は、
ステップS601で受信した対象アクセス情報に含まれる問合せIDとアクセスIDとを含む実行中アクセス情報をアクセス記憶領域133から取得し、
取得した実行中アクセス情報の一時領域フラグがOFFであるか否かを判定する。
アクセス部122は、
判定結果がYESの場合、ステップS603に進み、
それ以外の場合、ステップS604に進む。
(ステップS603:結果取得処理)
アクセス部122は、ステップS602で取得した実行中アクセス情報に含まれる必要情報を用いて、一時領域134から1件の結果を対象結果として取得する。
アクセス部122は、対象結果を取得できない場合もある。
(ステップS604:結果取得処理)
アクセス部122は、ステップS602で取得した実行中アクセス情報に含まれる必要情報を用いて、データベース150から1件の結果を対象結果として取得する。
アクセス部122は、対象結果を取得できない場合もある。
図13は、ステップS406の動作を示すフローチャートの例である。本図を用いてステップS406の詳細を説明する。
(ステップS701:情報取得処理)
アクセス部122は、対象アクセスの情報を、対象アクセス情報として問合せ処理部121から受信する。
対象アクセス情報には、問合せIDと、アクセスIDとが含まれる。
(ステップS702:フラグ判定処理)
アクセス部122は、
ステップS701で受信した対象アクセス情報に含まれる問合せIDとアクセスIDとを含む実行中アクセス情報をアクセス記憶領域133から取得し、
取得した実行中アクセス情報の一時領域フラグがOFFであるか否かを判定する。
アクセス部122は、
判定結果がYESの場合、ステップS703に進み、
それ以外の場合、ステップS704に進む。
(ステップS703:削除処理)
アクセス部122は、ステップS506で一時領域134に書き込んだ残り結果を削除する。
(ステップS704:アクセス終了処理)
アクセス部122は、対象アクセスの終了をデータベース150に要求する。
(ステップS705:情報削除処理)
アクセス部122は、対象アクセス情報に含まれる問合せIDとアクセスIDとを含む実行中アクセス情報を、アクセス記憶領域133から削除する。
***実施の形態1の特徴***
検索装置101は、
データベース150へのデータベース150アクセスの要求を表すアクセス要求情報を登録しているアクセスキュー137と、データを書き込むことができる一時領域とを有するデータ記憶部130と、
アクセスキュー137に登録されているアクセス要求情報に対応するデータベース150アクセスを実行中アクセスとして同時に1以上実行し、実行中アクセスに対応するアクセス要求情報をアクセスキュー137から削除するアクセス部122と、
データベース150アクセスにおけるデッドロックを防止するデッドロック防止部124と
を備え、
アクセス部122は、データベース150アクセスを実行する前に、データベース150への同時アクセス数136が上限に達している場合に、デッドロック防止部124にデッドロックの検知を依頼し、
デッドロック防止部124は、
アクセス部122にデッドロックの検知を依頼された場合に、実行中アクセスの任意の識別情報が、アクセスキュー137に登録されているアクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知し、
デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択し、前記選択アクセスの全ての結果の内、前記データベースから取得していない結果である残り結果を前記データベースから取得し、前記残り結果を前記一時領域に書き込み、データベース150に選択アクセスに対応する処理の終了を要求する。
デッドロック防止部124は、選択アクセスとして、アクセス結果のデータサイズが最小である実行中アクセスを選択する。
検索装置101は、データベース150に格納されているデータの検索を要求する問合せ301を受信し、問合せ301を複数の計画ノードを有する木構造の実行計画135に変換する問合せ処理部121を備え、
問合せ処理部121は、
実行計画135の1の計画ノードを対象ノードとして取得し、
対象ノードに対応する処理がデータベース150アクセスを含む場合、データベース150アクセスの情報を対象アクセス情報としてアクセス部122に送信し、
アクセス部122は、対象アクセス情報をアクセスキュー137に登録し、
デッドロック防止部124は、実行中アクセスに対応する任意の問合せ301が、アクセスキュー137が登録しているアクセス要求情報に対応する問合せ301のいずれかと同一であるか判定する。
***実施の形態1の効果の説明***
特許文献2の技術と、非特許文献1の技術とを組み合わせたとき、実行中のデータベースアクセスの総数がデータベース150の同時アクセス数の上限に達している場合、かつ、実行中の任意のデータベースアクセスに対応する問合せ301に含まれるデータベースアクセスを新たに開始した場合にデッドロックが発生する。
本実施の形態によれば、同時アクセス数136が上限132に達していると監視部123が判定した場合に、デッドロック防止部124が、アクセス記憶領域133と、アクセスキュー137とに基づき、アクセス部122が実行中のあるデータベースアクセスに対応する問合せ301に含まれる新たなデータベースアクセスを開始しようとしているか否かを判定する。これにより、デッドロック防止部124は、デッドロックを検知することができる。
デッドロック防止部124は、デッドロックを検知した場合に、アクセス記憶領域133から実行中アクセス情報を1件選択し、選択した実行中アクセス情報に対応する残り結果をデータベース150から取得し、取得した残り結果を一時領域134に書き込み、実行中のデータベースアクセスの結果を得るために用いるデータを全て取得して選択した実行中アクセス情報に対応するデータベースアクセスを終了させる。これにより、デッドロック防止部124は、不要なI/O(Input/Output)を防ぎつつデッドロックを解消することが可能となる。
従って、本実施の形態によれば、デッドロックを防止することと、データベースアクセスの処理速度の低下を減らすこととを両立することができる。
また、特許文献2の技術と非特許文献2の技術を組み合わせると、結果データサイズが大きい場合にはI/Oが多量に発生し、処理速度が低下する場合がある。
本実施の形態によれば、実際にデッドロックが発生する場合にのみデータベースアクセスの結果を一時領域134に書き込むため、特許文献2の技術と、非特許文献2の技術との組み合わせのように一時ファイルへの不要な書込みを回避することができ、処理速度を向上させることができる。
さらに、デッドロックが発生している場合に、実行中のデータベースアクセスの内、結果データサイズが最小のものを選択することにより、一時ファイルのI/Oデータサイズを削減することができ、処理速度を向上させることができる。
以下、具体的な事例を用いて効果の説明を行う。
検索装置101が、アクセス1Aから結果を1件取得した後にアクセス1Bから結果を1件取得する問合せ1と、アクセス2Aから結果を1件取得した後にアクセス2Bから結果を1件取得する問合せ2とを同時に受信する場合を考える。以下、データベースアクセスの同時アクセス数の上限132は2とし、アクセス1Aと1Bとの結果データサイズは1GBとし、アクセス2Aと2Bとの結果データサイズは10GBとする。
検索装置101は、複数の問合せ301を並列に実行することができる。そのため、検索装置101は、アクセス1Aと2Aとを並列に開始した後、アクセス1Bと2Bとを並列に開始する場合がある。
問合せ処理部121がアクセス1Aの開始をアクセス部122に依頼すると、アクセス部122が図11のフローチャートに示す動作を実行することによりアクセス1Aが開始される。
図11のフローチャートに示す動作の完了時に、同時アクセス数136は1となり、アクセス記憶領域133にはアクセス1Aに対応する実行中アクセス情報が登録され、アクセスキュー137は空となる。
問合せ処理部121がアクセス2Aの開始をアクセス部122に依頼すると、アクセス部122が図11のフローチャートに示す動作を実行することによりアクセス2Aが開始される。
図11のフローチャートに示す動作の完了時に、同時アクセス数136は2となり、アクセス記憶領域133にはアクセス1Aと2Aとに対応する実行中アクセス情報が登録され、アクセスキュー137は空となる。
この時点において、
アクセス記憶領域133に登録されている情報は図2に示すようなものであり、
アクセス記憶領域133に登録されているアクセス1Aと2Aとは待ち状態である。
問合せ処理部121がアクセス1Bの開始をアクセス部122に依頼すると、アクセス部122がステップS501の処理を実行してアクセス1Bに対応する開始要求をアクセスキュー137に登録する。
この時点において、アクセスキュー137は図14のようになる。
同時アクセス数136は2であるため、図11のステップS503の結果はYESとなる。アクセス記憶領域133に登録されているアクセス1Aと2Aとは待ち状態であるため、ステップS505に到達するまで、ステップS503の結果は常にYESとなる。
アクセス部122は、
ステップS504の結果がNOの場合、アクセス部122はステップS503に戻り、
後述の処理を実行することにより、アクセス2Bの開始要求をアクセスキュー137に登録する。
この時点において、アクセスキュー137は図4のようになる。
そのため、アクセス部122は、ステップS504の結果がYESとなるので、ステップS505に進む。
アクセス部122がステップS505〜S508の処理を実行することにより、アクセス記憶領域133に登録されている実行中アクセス情報2件の内、結果データサイズが最小であるアクセス1Aのデータベース150における処理が終了し、アクセス1Aの必要情報が一時領域134からの結果取得に必要な情報に更新される。ステップS505〜S508の処理完了時点におけるアクセス記憶領域133に登録されている情報は図15のようになる。
アクセス部122は、ステップS509〜S512の処理を実行する。ステップS509〜S512の処理完了時点におけるアクセス記憶領域133に登録されている情報は図16のようになる。また、ここで、アクセスキュー137は空である。ここで、アクセスキュー137は図17のようになる。
問合せ処理部121がアクセス2Bの開始をアクセス部122に依頼すると、アクセス部122がステップS501の処理を実行してアクセス2Bに対応する開始要求をアクセスキュー137に登録する。
アクセス1Bが開始されている場合、アクセスキュー137には、図17に示すように問合せ2に対応する開始要求1件が登録されている。そのため、ステップS502の結果はYESとなり、ステップS503に進む。
アクセス2Aと1Bとの2件が実行中であるため、ステップS503の結果はYESとなり、検索装置101はステップS504に進む。
アクセスキュー137に登録されている開始要求は問合せ2に対応するもの1件のみであるため、ステップS504の結果はNOとなる。
この時点において、アクセス1Aは終了状態、アクセス2Aと1Bとは実行中状態である。
その後、以下の2つのケースのいずれかが起こり得る。
ケース1.アクセス部122がアクセス1Aに対応する開始要求をアクセスキュー137に登録する。
ケース2.アクセス2A又は1Bが終了する。
ケース1は、具体例として、アクセス1Aが内表へのアクセスに当たる場合に起こり得る。本ケースにおいて、アクセスキュー137が図4のようになり、ステップS504の結果がYESとなる。
そのため、デッドロック防止部124は、ステップS505に進む。デッドロック防止部124は、ステップS505〜S508の処理を実行することにより、アクセス1Bに対応するデータベースアクセスを終了させ、デッドロックを解消することができる。
結果として、アクセス部122はアクセス2Bを開始することができる。
ケース2の場合、ステップS503の結果がNOとなるため、アクセス部122は、ステップS509に進み、アクセス2Bを開始することができる。
従って、いずれのケースにおいても、アクセス部122はアクセス2Bを開始することができる。
以上より、本実施の形態によれば、デッドロックが発生し得る場合には、デッドロック防止部124の処理によりデッドロックを検知して解消し、問合せ301の処理を継続することができるため、問合せ1と問合せ2とを、デッドロックに阻まれることなく完了することができる。
本事例において、特許文献2の技術と非特許文献1の技術とを組み合わせた場合、アクセス1Bと2Bとを開始しようとすると、アクセス1Aと2Aとは待ち状態であるため、全てのデータベースアクセスが待ち状態となってデッドロックが発生するものの、解消不可能である。
しかしながら、本実施の形態の検索装置101によれば、デッドロックが発生した場合に、デッドロックを解消し、問合せ1と2とを完了することが可能となる。
特許文献2の技術と非特許文献2の技術とを組み合わせた場合、アクセス1Aと2Aと1Bと2Bとの4件にて一時領域134への書き込みが発生し、一時ファイルのI/Oデータサイズは合計22GBとなる。
一方、本実施の形態では、実際にデッドロックが発生しているときのみ結果データサイズが最小であるデータベースアクセスに対応する残り結果を一時領域134に書き込むため、一時ファイルのI/Oデータサイズは合計1GB以下となる。
従って、本実施の形態によれば、特許文献2の技術と非特許文献1の技術とを組み合わせた場合に発生するデッドロックを回避しつつ、特許文献2の技術と非特許文献2の技術とを組み合わせた場合よりも処理速度を向上させることができる。
<変形例1>
検索装置101は、複数のコンピュータ10から構成されても良い。
<変形例2>
本実施の形態では、各機能構成要素をソフトウェアで実現する場合を説明した。しかし、変形例として、各機能構成要素はハードウェアで実現されても良い。
各機能構成要素がハードウェアで実現される場合には、検索装置101は、演算装置701に代えて、電子回路706を備える。あるいは、図示しないが、検索装置101は、演算装置701、主記憶装置703、及び外部記憶装置702に代えて、電子回路706を備える。電子回路706は、各機能構成要素(及び主記憶装置703と外部記憶装置702)の機能を実現する専用の電子回路である。電子回路を、処理回路と呼ぶこともある。
電子回路706は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)が想定される。
各機能構成要素を1つの電子回路706で実現しても良いし、各機能構成要素を複数の電子回路706に分散させて実現しても良い。
あるいは、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されても良い。
前述した演算装置701と主記憶装置703と外部記憶装置702と電子回路706とを、総称して「プロセッシングサーキットリー」という。つまり、各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
***他の実施の形態***
前述した実施の形態1の任意の構成要素の変形、もしくは実施の形態1において任意の構成要素の省略が可能である。
また、実施の形態は、実施の形態1で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。
10 コンピュータ、101 検索装置、110 アクセス定義部、120 検索処理部、121 問合せ処理部、122 アクセス部、123 監視部、124 デッドロック防止部、130 データ記憶部、131 アクセス定義、132 上限、133 アクセス記憶領域、134 一時領域、135 実行計画、136 同時アクセス数、137 アクセスキュー、150 データベース、151 検索部、152 データ格納領域、200 定義アプリケーション、201 アクセス定義、300 検索アプリケーション、301 問合せ、302 検索結果、401 データ収集装置、501 データ検索装置、601 外部データ管理装置、701 演算装置、702 外部記憶装置、703 主記憶装置、704 通信装置、705 バス、706 電子回路。

Claims (5)

  1. データベースへのデータベースアクセスの要求を表すアクセス要求情報を登録しているアクセスキューと、データを書き込むことができる一時領域とを有するデータ記憶部と、
    前記アクセスキューに登録されている前記アクセス要求情報に対応するデータベースアクセスを実行中アクセスとして同時に1以上実行し、前記実行中アクセスに対応するアクセス要求情報を前記アクセスキューから削除するアクセス部と、
    前記データベースアクセスにおけるデッドロックを防止するデッドロック防止部と
    を備え、
    前記アクセス部は、前記データベースアクセスを実行する前に、前記データベースへの同時アクセス数が上限に達している場合に、前記デッドロック防止部にデッドロックの検知を依頼し、
    前記デッドロック防止部は、
    前記アクセス部にデッドロックの検知を依頼された場合に、前記実行中アクセスの任意の識別情報が、前記アクセスキューに登録されている前記アクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知し、
    デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択し、前記選択アクセスの全ての結果の内、前記データベースから取得していない結果である残り結果を前記データベースから取得し、前記残り結果を前記一時領域に書き込み、前記データベースに前記選択アクセスに対応する処理の終了を要求する検索装置。
  2. 前記デッドロック防止部は、前記選択アクセスとして、アクセス結果のデータサイズが最小である実行中アクセスを選択する請求項1に記載の検索装置。
  3. 前記データベースに格納されているデータの検索を要求する問合せを受信し、前記問合せを複数の計画ノードを有する木構造の実行計画に変換する問合せ処理部を備え、
    前記問合せ処理部は、前記実行計画の1の計画ノードを対象ノードとして取得し、
    前記対象ノードに対応する処理がデータベースアクセスを含む場合、前記データベースアクセスの情報を対象アクセス情報として前記アクセス部に送信し、
    前記アクセス部は、前記対象アクセス情報を前記アクセスキューに登録し、
    前記デッドロック防止部は、前記実行中アクセスに対応する任意の問合せが、前記アクセスキューが登録しているアクセス要求情報に対応する問合せのいずれかと同一であるか判定する請求項1又は2に記載の検索装置。
  4. データ記憶部が、データベースへのデータベースアクセスの要求を表すアクセス要求情報を登録しているアクセスキューと、データを書き込むことができる一時領域とを有し、
    アクセス部が、前記アクセスキューに登録されている前記アクセス要求情報に対応するデータベースアクセスを実行中アクセスとして同時に1以上実行し、前記実行中アクセスに対応するアクセス要求情報を前記アクセスキューから削除し、
    デッドロック防止部が、前記データベースアクセスにおけるデッドロックを防止し、
    前記アクセス部が、前記データベースアクセスを実行する前に、前記データベースへの同時アクセス数が上限に達している場合に、前記デッドロック防止部にデッドロックの検知を依頼し、
    前記デッドロック防止部が、
    前記アクセス部にデッドロックの検知を依頼された場合に、前記実行中アクセスの任意の識別情報が、前記アクセスキューに登録されている前記アクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知し、
    デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択し、前記選択アクセスの全ての結果の内、前記データベースから取得していない結果である残り結果を前記データベースから取得し、前記残り結果を前記一時領域に書き込み、前記データベースに前記選択アクセスに対応する処理の終了を要求する検索方法。
  5. コンピュータに、
    データベースへのデータベースアクセスの要求を表すアクセス要求情報を登録しているアクセスキューと、データを書き込むことができる一時領域とを有させ、
    前記アクセスキューに登録されている前記アクセス要求情報に対応するデータベースアクセスを実行中アクセスとして同時に1以上実行させ、前記実行中アクセスに対応するアクセス要求情報を前記アクセスキューから削除させ、
    前記データベースアクセスを実行する前に、前記データベースへの同時アクセス数が上限に達している場合に、前記実行中アクセスの任意の識別情報が、前記アクセスキューに登録されている前記アクセス要求情報のいずれかの識別情報と同じであるか判定することによりデッドロックを検知させ、
    デッドロックを検知した場合に、1の実行中アクセスを選択アクセスとして選択させ、前記選択アクセスの全ての結果の内、前記データベースから取得していない結果である残り結果を前記データベースから取得させ、前記残り結果を前記一時領域に書き込ませ、前記データベースに前記選択アクセスに対応する処理の終了を要求させることにより、前記データベースアクセスにおけるデッドロックを防止させる検索プログラム。
JP2021540861A 2019-08-29 2019-08-29 検索装置、検索方法、及び、検索プログラム Active JP6961133B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/033925 WO2021038797A1 (ja) 2019-08-29 2019-08-29 検索装置、検索方法、及び、検索プログラム

Publications (2)

Publication Number Publication Date
JPWO2021038797A1 JPWO2021038797A1 (ja) 2021-03-04
JP6961133B1 true JP6961133B1 (ja) 2021-11-05

Family

ID=74683398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540861A Active JP6961133B1 (ja) 2019-08-29 2019-08-29 検索装置、検索方法、及び、検索プログラム

Country Status (2)

Country Link
JP (1) JP6961133B1 (ja)
WO (1) WO2021038797A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3620203B2 (ja) * 1996-03-13 2005-02-16 株式会社日立製作所 データベースの検索処理方法
JP2000259561A (ja) * 1999-03-09 2000-09-22 Pfu Ltd データベースアクセス制御システム及び方法

Also Published As

Publication number Publication date
WO2021038797A1 (ja) 2021-03-04
JPWO2021038797A1 (ja) 2021-03-04

Similar Documents

Publication Publication Date Title
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
US20160212206A1 (en) Deterministic database system and data transferring method thereof
CN108897628A (zh) 一种分布式锁的实现方法、装置及电子设备
US9977804B2 (en) Index updates using parallel and hybrid execution
JP6479186B2 (ja) 計算機システム及びデータベース管理方法
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
CN107784030B (zh) 一种处理连接查询的方法及装置
CN112789606A (zh) 数据重分布方法、装置及系统
US11176092B2 (en) Database management system and anonymization processing method
US11640383B2 (en) Systems and methods for managing a shared database
JP5083408B2 (ja) 構成管理装置、構成管理プログラム、構成管理方法
JP6961133B1 (ja) 検索装置、検索方法、及び、検索プログラム
JP6677605B2 (ja) プログラム、ストレージシステム、およびストレージシステムの制御方法
US11681682B2 (en) Data processing system and cache update control method
JP6506773B2 (ja) 情報処理装置、方法およびプログラム
KR102354343B1 (ko) 블록체인 기반의 지리공간 데이터를 위한 공간 데이터 인덱싱 방법 및 장치
CN111209304B (zh) 数据处理方法、装置及系统
JP7068210B2 (ja) データベース管理システム、端末装置及び方法
CN113849482A (zh) 一种数据迁移方法、装置及电子设备
JP6036692B2 (ja) 情報処理装置、情報処理システム、情報処理方法および制御プログラム記録媒体
JP7146611B2 (ja) カラムストアデータベースシステム及びデータベース処理高速化方法
JPH07306795A (ja) 二重系計算機のデータベース等価処理装置
CN116821058B (zh) 元数据访问方法、装置、设备及存储介质
US20230273728A1 (en) Storage control apparatus and method
US20230195761A1 (en) Spatial lsm tree apparatus and method for indexing blockchain based geospatial point data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210714

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210714

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211012

R150 Certificate of patent or registration of utility model

Ref document number: 6961133

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150