JP2012164333A - 表検索方法 - Google Patents

表検索方法 Download PDF

Info

Publication number
JP2012164333A
JP2012164333A JP2012087737A JP2012087737A JP2012164333A JP 2012164333 A JP2012164333 A JP 2012164333A JP 2012087737 A JP2012087737 A JP 2012087737A JP 2012087737 A JP2012087737 A JP 2012087737A JP 2012164333 A JP2012164333 A JP 2012164333A
Authority
JP
Japan
Prior art keywords
search
column
decomposition
unit
value
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
JP2012087737A
Other languages
English (en)
Other versions
JP5466257B2 (ja
Inventor
Takatoshi Yanase
隆敏 柳瀬
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2012087737A priority Critical patent/JP5466257B2/ja
Publication of JP2012164333A publication Critical patent/JP2012164333A/ja
Application granted granted Critical
Publication of JP5466257B2 publication Critical patent/JP5466257B2/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
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】インデックスを生成せずとも、インデックスを生成した場合と同程度に高速に表データの検索が可能な表検索装置を提供すること。
【解決手段】本発明に係る表検索方法は、列識別子と検索値とを含む検索クエリーを受信し、検索クエリーを複数の検索部233に送信し、検索部が、対応する記憶部231に記憶された分解表において、検索クエリーに含まれる列識別子によって特定される列に、検索クエリーに含まれる検索値が含まれているか否かを判定し、含まれていると判定した検索部が、列識別子によって特定される列に対応付けられた列に含まれる値を検索出力値として出力し、複数の分解表の各々は、複数の分解表の各々を当該複数の記憶部のうちのいずれに割り当てるかを決定するためのインデックスを使わずに決定された複数の記憶部のうちのいずれかに割り当てられて記憶され、複数の分解表は、表データに含まれていたデータのみから生成されている。
【選択図】図8

Description

本発明は、ネットワーク内に分散して記憶されている表データを検索する表検索装置、表検索方法、及び、表検索システムに関する。
従来、行と列からなる表構造で表現されたデータ(以後、表データという)を高速に検索するための技術として、いわゆるデータベースが広く使われている。
こうしたデータベースでは、大量の表データを高速に検索するために、「インデックス」と呼ばれる、検索のためのデータを事前に生成する。データベースの検索エンジンは、表データを直接検索する代わりに、まずインデックスを検索することにより、検索対象であるデータの、データベース内における格納場所等を高速に知ることができる(例えば、特許文献1参照)。
特開2001−282813号公報
しかし、データベースにおいてインデックスを生成することには、主に次の2つの課題がある。
第1の課題として、インデックスの生成には、複雑な計算処理が必要であり、かつ、新しいデータがデータベースに追加される度にインデックスの再生成が必要となるため、その計算コストが大きいという点が挙げられる。
これは特に、データの更新が頻繁に発生する場合に、大きな問題となる。
また、第2の課題として、一般に、第1の課題を解決するために、データベースを実現する装置の大型化が避けられないという点が挙げられる。
例えば、キーバリューストア(KVS)方式のデータベースは、インデックス情報だけを保持し扱うコンピュータと、検索対象のデータだけを保持し扱うコンピュータとの、2種類のコンピュータを備える。まず、前者のコンピュータで検索対象のデータを保持するコンピュータの検索を行い、その後、検索されたコンピュータでそのコンピュータ内のデータを検索することで、インデックス管理の負荷を分散させている。しかし、この方式では、複数台の計算機を備えることが必須であり、設置場所や費用、省電力化の観点から問題がある。
そこで、本発明は、インデックスを生成せずとも、インデックスを生成した場合と同程度に高速に表データの検索が可能な表検索方法を提供することを目的とする。
本発明のある局面に係る表検索装置は、複数の行と、第1の列及び前記第1の列に対応付けられた第2の列を含む複数の列とから構成される表構造を示すデータである表データを行方向に分割して得られる、複数の分解表の各々を1つずつ記憶している複数の受信処理部と、送信部と、前記第1の列及び前記第2の列のいずれか一方を特定するための識別子である列識別子と、検索値とを含む検索クエリーを、前記送信部へ送信し、前記複数の受信処理部の各々から出力される出力値である検索出力値を受信し、かつ、受信した前記検索出力値を出力する制御部とを備えており、前記送信部は、前記制御部から受信した前記検索クエリーを、前記複数の受信処理部の全てに対して出力し、前記受信処理部は、取得した前記検索クエリーに含まれる前記列識別子によって特定される列に、前記検索クエリーに含まれる前記検索値が含まれているか否かを判定し、含まれている場合には、前記列識別子によって特定される列に対応付けられた列に含まれる値を前記検索出力値として出力し、前記複数の分解表の各々は、前記複数の分解表の各々を当該複数の受信処理部のうちのいずれに割り当てるかを決定するためのインデックスを使わずに決定された前記複数の受信処理部のうちのいずれかに割り当てられて記憶され、前記表検索装置は、さらに、前記表データから前記複数の分解表を生成する分割部を備えており、前記制御部は、前記分割部から前記複数の分解表を取得し、取得した前記分解表を前記複数の受信処理部の各々に1つずつ記憶させ、前記分割部は、前記表データについて前記第1の列及び前記第2の列のいずれか一方を基準列として選択し、前記複数の分解表の各々について、前記基準列に含まれる値が、前記分解表内の前記基準列内で唯1つとなるように、前記複数の分解表を生成し、前記分割部は、前記表データに含まれていたデータのみから前記複数の分解表を生成する。
本発明のある局面に係る表検索方法は、複数の行と、第1の列及び前記第1の列に対応付けられた第2の列を含む複数の列とから構成される表構造を示すデータである表データを行方向に分割して得られる、複数の分解表の各々を1つずつ記憶する複数の記憶部と、複数の検索部とを備える表検索装置における表検索方法であって、前記第1の列及び前記第2の列のいずれか一方を特定するための識別子である列識別子と、検索値とを含む検索クエリーを受信し、前記検索クエリーを前記複数の検索部に送信し、前記検索部が、対応する前記記憶部に記憶された分解表において、前記検索クエリーに含まれる前記列識別子によって特定される列に、前記検索クエリーに含まれる前記検索値が含まれているか否かを判定し、含まれていると判定した前記検索部が、前記列識別子によって特定される列に対応付けられた列に含まれる値を前記検索出力値として出力し、前記複数の分解表の各々は、前記複数の分解表の各々を当該複数の記憶部のうちのいずれに割り当てるかを決定するためのインデックスを使わずに決定された前記複数の記憶部のうちのいずれかに割り当てられて記憶され、前記複数の分解表は、前記複数の分解表の各々について、前記表データにおける前記第1の列及び前記第2の列のいずれか一方として選択された基準列に含まれる値が、前記分解表内の前記基準列内で唯1つとなるように生成されており、前記複数の分解表は、前記表データに含まれていたデータのみから生成されている。
これによると、表データは、複数の分解表の単位に細分化され、受信処理部に記憶されている。よって、表検索装置は、検索クエリーに含まれる列識別子によって特定される列に、検索クエリーに含まれる検索値が含まれているか否かを、表データ全体を検索する場合に比べて高速に検索することができる。
よって、インデックスを生成せずとも、インデックスを生成した場合と同程度に高速に表データの検索が可能な表検索装置を提供することができる。
また、前記表データから前記複数の分解表を生成する分割部をさらに備えており、前記制御部は、前記分割部から前記複数の分解表を取得し、取得した前記分解表を前記複数の受信処理部の各々に1つずつ記憶させるとしてもよい。
これによると、表検索装置は、新たな表データを取得し、これを分割部により分割することで、新たな表データに対応した分解表を生成することができる。よって、検索対象とする表データを更新することができる。
また、前記分割部は、前記表データについて前記第1の列及び前記第2の列のいずれか一方を基準列として選択し、前記複数の分解表の各々について、前記基準列に含まれる値が、前記分解表内の前記基準列内で唯1つとなるように、前記複数の分解表を生成する。
これによると、各受信処理部が記憶している分解表の基準列に含まれる値は、その分解表の中では唯1つであることが保証される。よって、インデックスを生成せずとも、より高速に表データの検索が可能な表検索装置を提供することができる。
また、前記分割部は、前記表データについて前記第1の列及び前記第2の列のいずれか一方を基準列として選択し、前記複数の分解表の各々について、前記基準列に含まれる値が、(A)前記分解表内の前記基準列内で唯1つとなり、かつ、(B)前記複数の分解表の各々が前記基準列に含む値の中で唯1つとなるように前記複数の分解表を生成する。
これによると、各受信処理部が記憶している分解表の基準列に含まれる値は、その分解表で唯1つであり、かつ、他に、その値を含んでいる分解表がないことが、保証される。よって、さらに高速に、表データの検索が可能な表検索装置を提供することができる。
具体的には、前記制御部は、前記基準列を特定する識別子を前記列識別子とし、前記基準列に含まれているか否かを検索する値を前記検索値として、前記検索クエリーを前記送信部へ送信する。
又は、前記制御部は、前記第1の列及び前記第2の列の一方である前記基準列に対応付けられた他方の列である第3の列を特定する識別子を前記列識別子とし、前記第3の列に含まれているか否かを検索する値を前記検索値として、前記検索クエリーを前記送信部へ送信するとしてもよい。
本発明の他の局面に係る表検索装置においては、前記分割部は、前記表データを一行ごとに分割することにより、複数の前記分解表を生成する。
これによると、分割部の処理を簡易化することができ、表検索システムの小型化、省電力化、低価格化等を実現することができる。
本発明の他の局面に係る表検索装置においては、前記複数の受信処理部のうち2以上の受信処理部は、前記検索値が、前記列識別子によって特定される列に含まれているか否かを判定する処理部である1つの検索部を共有して備える。
これによると、検索部を共有することで、表検索装置を構成する部品点数を減少させることができる。その結果、表検索装置の小型化、省電力化、低価格化等を実現できる。
なお、本発明は、このような表検索装置として実現できるだけでなく、表検索装置に含まれる特徴的な手段をステップとする表検索方法として実現したり、そのような特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのはいうまでもない。
また、本発明は、このような表検索装置の機能の一部又は全てを実現する半導体集積回路(LSI)としても実現できる。
さらに、本発明は、このような表検索装置を含む表検索システムとして実現できる。
以上より、本発明は、インデックスを生成せずとも、インデックスを生成した場合と同程度に高速に表データの検索が可能な表検索方法を提供することができる。
図1は、本発明の実施の形態1に係る表検索装置を含む表検索システムの全体構成を示すブロック図である。 図2は、本発明の実施の形態1〜4に係る表検索装置を含む表検索システムを実現するコンピュータシステムのハードウェア構成を示すブロック図である。 図3Aは、本発明の実施の形態1〜4に係る表検索装置に記録されている、表データを示す図である。 図3Bは、図3Aにより示される表データが示す、神経細胞の結合状態を示す図である。 図4Aは、本発明の実施の形態1に係る表検索装置に格納されている第1の分解表を示す図である。 図4Bは、本発明の実施の形態1に係る表検索装置に格納されている第2の分解表を示す図である。 図5Aは、本発明の実施の形態1〜4に係る表検索システムにおける第1の検索クエリーを示す図である。 図5Bは、本発明の実施の形態1〜4に係る表検索システムにおける第2の検索クエリーを示す図である。 図6は、本発明の実施の形態1〜4に係る表検索装置が図5Bに示される第2の検索クエリーの検索処理を示す図である。 図7は、本発明の実施の形態1〜4に係る表検索システムにおける処理の流れを示すフローチャートである。 図8は、本発明の実施の形態1〜4に係る受信処理部が行う検索処理の流れを示すフローチャートである。 図9は、本発明の実施の形態2に係る表検索装置を含む表検索システムの全体構成を示すブロック図である。 図10Aは、本発明の実施の形態2に係る表検索装置に格納されている第1の分解表を示す図である。 図10Bは、本発明の実施の形態2に係る表検索装置に格納されている第2の分解表を示す図である。 図10Cは、本発明の実施の形態2に係る表検索装置に格納されている第3の分解表を示す図である。 図11は、本発明の実施の形態3に係る表検索装置を含む表検索システムの全体構成を示すブロック図である。 図12は、本発明の実施の形態4に係る表検索装置を含む表検索システムの全体構成を示すブロック図である。
以下、本発明に係る表検索装置の実施の形態について、図面を参照しながら詳細に説明する。
(実施の形態1)
図1は、本発明に係る表検索装置200を含む表検索システム100の全体構成を示すブロック図である。
図1に示されるように、表検索システム100は、表検索装置200と、クエリー装置300とを備える。
表検索装置200は、後述する分解表という単位に分割された検索対象である表データを記憶している。また、表検索装置200は、クエリー装置300から送信される検索処理の要求信号である検索クエリーに含まれる検索値を、表データから検索し、その検索結果を検索出力値としてクエリー装置300へ送信する。
なお、表データにおいては、表データの行と列で指定されるマス目に値が格納される。より具体的には、表データ内では、第1の列の1つの値と第2の列の1つの値とが対応づけられ、対応づけられた第1の列の値と第2の列の値とが同じ行に配置される。
ここで、マス目に値が格納されていない場合、そのマス目の値は、nullという値であるとする。また、表データの第1の列と第2の列のいずれかの、少なくとも一つのマス目に値が格納されていれば、表検索装置200は検索を行うことができる。なお、表データにおいて、第1の列と第2の列のいずれのマス目にも、値が格納されていない場合であっても、表検索装置200は検索を行うことは可能であるが、検索する意味はない。
表検索装置200は、送信部210と、受信処理部220〜221と、制御部230と、第1の通信路202と、第2の通信路204とを備える。
送信部210は、クエリー装置300から取得した検索クエリーを、表検索装置200が備える複数の受信処理部の各々へ送信する処理部である。
送信部210は、送信バッファ212と、出力部213とを備える。
送信バッファ212は、1度に多数の検索クエリーを受信した場合に、それらを受信処理部へ送信するまでの間、一時的にバッファリングするバッファである。具体的には、DRAM(Dynamic Random Access Memory)や、SRAM(Static Random Access Memory)等で構成される。
出力部213は、受信した検索クエリーを、第1の通信路202に応じた信号種別に変換して出力する。例えば、第1の通信路202がLSI内部のバスや、イーサネット(登録商標)の有線ケーブルであれば、出力部213は検索クエリーを適切なフォーマットの電気信号として出力し、第1の通信路202が光ケーブルであれば、出力部213は検索クエリーを適切なフォーマットの光信号として出力する。
なお、出力部213は、前述のとおり、常に、表検索装置200が有する全ての受信処理部に対して、検索クエリーを送信する。
受信処理部220〜221は、実質的に表検索処理を実行する受信処理部である。表検索装置200が備える受信処理部の数は、少なくとも、後述する分解表の数だけ必要となる。ここでは説明のため、表検索装置200は、受信処理部220及び受信処理部221の2つの受信処理部を備えているとして説明する。
受信処理部220は、取得部231と、記憶部232と、検索部233とを備える。また、受信処理部221は、取得部231と、記憶部234と、検索部233とを備える。
取得部231は、送信部210より送信された検索クエリーを、第1の通信路202を介して取得するための通信インタフェースである。
記憶部232及び記憶部234の各々は、制御部から送信された検索対象である表データの一部である分解表を記憶している。なお、1つの受信処理部は、1つの分解表のみを記憶する。記憶部は、具体的には、フラッシュメモリ等の不揮発性メモリ、DRAM、SRAM等で構成される。
検索部233は、取得部231が取得した検索クエリーに含まれる検索値が、記憶部に記憶されているか否か判定する検索処理を実行する。この検索処理により、検索クエリーに含まれる検索値が記憶部に記憶されていると検索部233が判定した場合には、検索部233は、検索結果を、検索出力値として第2の通信路204を介して制御部230へ出力する。
制御部230は、クエリー装置から複数の分解表を取得し、取得した分解表の各々を、クエリー装置によって分解表ごとに指定された受信処理部へ、第2の通信路204を介して送信する。また、制御部230は、クエリー装置から検索クエリーを取得し、取得した検索クエリーを第2の通信路204を介して送信部210へ送信する。さらに、制御部230は、受信処理部220〜221が備える検索部233が出力する検索出力値を第2の通信路204を介して取得し、クエリー装置300へ出力する。
第1の通信路202は、送信部210が備える出力部213から、受信処理部220〜221の各々へ、検索クエリーを送信するための通信路である。第1の通信路202として、前述のように、集積回路の内部バス、イーサネットの有線ケーブル及び光通信用ケーブル等が使用されることが考えられる。
第2の通信路204は、制御部230から送信部210へ、検索クエリーを送信するための通信路である。第2の通信路204は、また、制御部230から各受信処理部へ分解表を送信し、各受信処理部から制御部230へ検索結果を送信するための通信路である。第1の通信路202と同様に、第2の通信路204としても、集積回路の内部バス、イーサネットの有線ケーブル及び光通信用ケーブル等が使用されることが考えられる。
クエリー装置300は、分割部302と、クエリー部303とを備える。
分割部302は、検索対象である表データを、表検索装置200に記憶させるための表を用いたデータ構造である複数の分解表の形に分割し、各分解表を、表検索装置200が備える各受信処理部に1つずつ割り当てて記憶させる。
より具体的には、分割部302は、例えばクエリー装置300が備えるGUI(Graphical User Interface、図示なし)等を用いてユーザが指定した表データを取得すると、後述するようなルールに従って、これを複数の分解表に分割する。
次に、分割部302は、表検索装置200が有する固有の識別子であるネットワークアドレスと、表検索装置200が備える複数の受信処理部の各々が有する固有の識別子である受信処理部アドレスの、2つのアドレスの組を、複数の分解表の各々について、その送信先として指定する。その後、分割部302は、制御部230に、指定した送信先に向けて各々の分解表を送信させる。
なお、各受信処理部への各分解表の割り当ては、分割部302が、現在どの受信処理部に分解表が割り当てられているかを示す管理テーブルを有していることを前提に、例えば、次のように行う。分割部302は、前述の管理テーブルの上から順(又は、下から順)に、現在分解表が割り当てられていない受信処理部を検索し、検索された受信処理部に対して、生成した分解表を1つずつ割り当てていけばよい。
クエリー部303は、受信処理部に格納されている分解表の各々を検索するための検索クエリーを、制御部230へ送信する。検索クエリーは、例えばクエリー装置300が備えるGUIによって、ユーザから取得した情報をもとに都度生成されてもよく、事前にROM(Read Only Memory)等に記憶されている検索クエリーをクエリー部303が読み出してもよい。
さらに、クエリー装置300は、送信した検索クエリーに対する検索結果を制御部230から取得する。クエリー装置300が表示装置(図示なし)を備えている場合には、取得した検索結果を表示装置に表示してもよい。また、クエリー装置300が印刷装置(図示なし)を備えている場合には、取得した検索結果を印刷装置から印刷してもよい。
図2は、本発明の実施の形態1に係る表検索装置200を含む表検索システム100を実現するコンピュータシステムのハードウェア構成を示すブロック図である。
実施の形態1に係る表検索システム100を構成する表検索装置200及びクエリー装置300は、コンピュータにより実現することが可能である。図2は、表検索システム100を構成する表検索装置200及びクエリー装置300を実現するコンピュータシステムのハードウェア構成を示すブロック図である。
表検索システム100を構成する表検索装置200及びクエリー装置300は、コンピュータ34と、コンピュータ34に指示を与えるためのキーボード36及びマウス38と、コンピュータ34の演算結果等の情報を提示するためのディスプレイ32と、コンピュータ34で実行されるプログラムを読み取るためのCD−ROM(Compact Disc-Read Only Memory)装置40及び通信モデム(図示せず)とを含む。
表検索システム100を構成する表検索装置200及びクエリー装置300が行う処理であるプログラムは、コンピュータで読み取可能な媒体であるCD−ROM42に記憶され、CD−ROM装置40で読み取られる。又は、コンピュータネットワークを通じて通信モデム52で読み取られる。
コンピュータ34は、CPU(Central Processing Unit)44と、ROM(Read Only Memory)46と、RAM(Random Access Memory)48と、ハードディスク50と、通信モデム52と、バス54とを含む。
CPU44は、CD−ROM装置40又は通信モデム52を介して読み取られたプログラムを実行する。ROM46は、コンピュータ34の動作に必要なプログラムやデータを記憶する。RAM48は、プログラム実行時のパラメタなどのデータを記憶する。ハードディスク50は、プログラムやデータなどを記憶する。通信モデム52は、コンピュータネットワークを介して他のコンピュータとの通信を行う。バス54は、CPU44、ROM46、RAM48、ハードディスク50、通信モデム52、ディスプレイ32、キーボード36、マウス38及びCD−ROM装置40を相互に接続する。
さらに、上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integrated Circuit:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記憶されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
さらにまた、上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、上記メモリは、上記コンピュータプログラムを記憶しており、上記マイクロプロセッサは、上記コンピュータプログラムに従って動作するとしてもよい。
また、上記プログラムを上記媒体に記録して移送することにより、又は上記プログラムを、上記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
図3Aは、本発明の実施の形態1に係る表検索装置200に記録されている、表データ240を示す図である。
図3Aに示されるように、表データは、第1列241と、第1列241に対応付けられている第2列242とを有する。なお、表データはこれ以外の列を含んでいてもよい。また、図3Aに示される表データは、1行目のヘッダ行を除き3行分のデータを含むが、より多くの行を含んでいてもよい。
なお、ここでは、図3Aにより示されるデータは、神経細胞間の結合状態を示す表データとする。図3Bは、図3Aにより示される、神経細胞の結合状態を、有向グラフを用いて示した図である。第1列241が、親ノードとなる神経細胞のノード番号(例えば、3098や、4001)を示し、第2列242が、子ノードとなる神経細胞のノード番号(例えば、14や107)を示す。なお、本実施の形態に係る表検索システム100に記録されるデータは、これに限られず、第1列と、第1列に対応付けられた第2列と、を含む任意の表データであってもよい。
図4Aは、本発明の実施の形態1に係る表検索装置が備える記憶部232に記憶されている第1の分解表を示す図である。また、図4Bは、本発明の実施の形態1に係る表検索装置が備える記憶部234に記憶されている第2の分解表を示す図である。
図4A及び図4Bに示されるように、分解表は、第1列241と、第2列242とを有する。
分割部302は、次の条件を満たすように、表データ240を行方向に分割(及び結合)することで、複数の分解表を生成する。
まず、分割部302は、第1列241及び第2列242のいずれかを、「基準列」として選択する。ここでは、説明のため、第1列241が基準列に選択されたとする。
次に、分割部302は、複数の分解表の各々について、基準列である第1列241に含まれる値が、(A)当該分解表内で唯1つとなり、かつ、(B)複数の分解表の各々が基準列である第1列241に含む値の中で唯1つとなるように、表データ240を行方向に分割する。
より具体的には、分割部302は、(1)表データ240に含まれる各行を、第1列241に含まれる値を基準に降順又は昇順に並べ替え、(2)第1列241に同じ値を含む全ての行のみが1つの分解表に含まれるよう、表データ240を行方向に分割すること等が考えられる。
その結果、表データ240は、図4Aに示される第1の分解表と、図4Bに示される第2の分解表の2つに分割される。第1の分解表の第1列241には3098のみが含まれており、第2の分解表の第1列241には4001のみが含まれている。また、3098という値を第1列241に含む分解表は、第1の分解表のみであり、4001という値を第1列241に含む分解表は、第2の分解表のみである。
なお、分解表を生成する際に使用する基準列は、第2列でもよい。また、分解表の生成方法は他にも考えられるが、その詳細については後述する。
図5Aは、本発明の実施の形態1に係る表検索システム100が備える検索部233が処理する第1の検索クエリーを示す図である。また、図5Bは、本発明の実施の形態1に係る表検索システム100が備える検索部233が処理する第2の検索クエリーを示す図である。
各検索クエリーは、例えば、検索クエリーであることを示す“SELECT”という文字列の後に、各分解表の第1列241と第2列242のどちらを検索するかを指定する列識別子420と、列識別子420で指定された列に含まれているか否かを検索する値である検索値422とを含む。
ここで、受信処理部220及び受信処理部221が送信部210から、図5Aに示される第1の検索クエリーを取得した場合の処理について、具体的に説明する。
第1の検索クエリーでは、列識別子420として第1列241が指定され、検索値422として3098が指定されている。
したがって、受信処理部220が備える検索部233は、記憶部232に記憶されている第1の分解表の第1列241に3098が含まれているかを検索する。
ここで、分解表の生成方法から明らかなように、基準列である第1列241に含まれる値が唯1つであることが保証されている。よって、受信処理部220が備える検索部233は、第1列241の、ヘッダ行を除く1行目の値と、検索値である3098とを比較するだけで、第1の分解表の第1列241に3098が含まれているか否かを判断することができる。
ここでは、第1の分解表において、第1列241のヘッダ行を除く1行目の値が3098に一致するので、受信処理部220が備える検索部233は、第1列241に対応付けられている第2列242に含まれる値を全て出力する。すなわち、受信処理部220が備える検索部233は、14と、107を、検索出力値として制御部230へ出力する。
なお、検索部233が、第1列241と第2列242の、いずれが基準列であるかを知る方法として、分割部302が分解表の各々について、第1列241と第2列242のどちらが基準列であるかを示す情報を含めておくことが考えられる。あるいは、分割部302は、分解表とは別に、第1列241と第2列242の、いずれが基準列であるかを示す情報を、制御部230へ送信し、制御部230は、その情報を、送信部210を介して全ての受信処理部に送信してもよい。
次に、同様にして、受信処理部221が備える検索部233は、記憶部234に記憶されている第2の分解表の第1列241の、ヘッダ行を除く1行目の値が3098であるか否かを判定する。ここでは、第2の分解表の第1列241の1行目の値は、4001であるので、受信処理部221が備える検索部233は何も出力しない。
以上の、受信処理部220及び受信処理部221が備える各検索部233の処理により、表検索装置200が備える制御部230は、表データ240において、基準列である第1列の値が3098である場合の、対応する第2列に含まれる全ての値(14と、107)を、クエリー装置300へ出力することができる。
次に、受信処理部220及び受信処理部221が送信部210から、図5Bに示される第2の検索クエリーを取得した場合の処理について、具体的に説明する。
第2の検索クエリーでは、列識別子420として第2列242が指定され、検索値422として14が指定されている。
したがって、受信処理部220が備える検索部233は、記憶部232に記憶されている第1の分解表の第2列242に14が含まれているかを検索し、見つかった場合には、第2列242に対応付けられている第1列241の値を全て、検索出力値として出力する。
この検索処理を、図6を参照してより詳細に説明する。
図6は、本発明の実施の形態1に係る表検索装置による、図5Bに示される第2の検索クエリーの処理を示す図である。
本実施の形態における分解表の生成方法から明らかなように、第1の分解表の第1列241に含まれる値は、3098のみである。よって、受信処理部220が備える検索部233は、検索値である14が第2列242において最初に見つかった時点で、以後の第2列242における検索を打ち切り、第1列241に含まれる全ての値(3098)を出力することができる。すなわち、第1列241に含まれる値が唯1つであることを利用して、対応する第2列242の検索領域の枝刈りが可能となる。
ここでは、受信処理部220が備える検索部233は、第1の分解表の第2列242において、ヘッダ行を除く1行目の値が14と一致すると判定した時点で、以後の検索を打ち切り、対応する第1列241に含まれる全ての値である3098を検索出力値として出力する。
同様にして、受信処理部221が備える検索部233は、記憶部234に記憶されている第2の分解表の第2列242に14が含まれているかを検索する。ここでは、第2の分解表の第2列242における1行目の値が14と一致するため、受信処理部221が備える検索部233は、対応する第1列241に含まれる全ての値である4001を検索出力値として出力する。
以上の、受信処理部220及び受信処理部221が備える各検索部233の処理により、表検索装置200が備える制御部230は、表データ240における第2列242の値が14である場合の、対応する第1列241に含まれる全ての値(3098と、4001)を、クエリー装置300へ出力することができる。
なお、図5A及び図5Bに示される検索クエリーは一例であって、必ずしもこれらと同一のフォーマットである必要はない。検索クエリーは、少なくとも、列識別子と、検索値を含んでいればよい。
以上述べた表検索システム100における各処理部の処理の流れを、図7を参照してまとめる。
図7は、本発明の実施の形態1に係る表検索システム100における処理の流れを示すフローチャートである。
まず、分割部302は、検索対象である表データを、複数の分解表に分割する(S500)。
次に、分割部302は、複数の分解表の各々を、表検索装置200が備える複数の受信処理部の各々に1つずつ対応付けて割り当てる(S502)。
次に、クエリー部303は、検索クエリーを制御部230へ送信する。検索クエリーは、少なくとも列識別子420と検索値422とを含む。
次に、制御部230は、受信した検索クエリーを、送信部210へ送信する。また、送信部210は、取得した検索クエリーを、常に、表検索装置200が備える全ての受信処理部に対して送信する(S504)。
次に、検索クエリーを取得した受信処理部の各々は、検索部233において検索処理を実行し(S506)、その結果を制御部230へ出力する。
最後に、制御部230は、各々の受信処理部から取得した検索結果を必要に応じて集計し、最終的な検索結果をクエリー装置300へ出力する(S508)。
図8は、本発明の実施の形態1に係る受信処理部が備える検索部233が行う検索処理の流れを示すフローチャートである。
まず、検索部233は、検索クエリーを取得したか否かを判定する(S520)。ここで、送信部210からまだ検索クエリーを受信していない場合(S520でNo)、検索部233は、再度検索クエリーを待ち受ける。
一方、検索クエリーを取得した場合(S520でYes)、検索部233は、検索クエリーに含まれる、列識別子と検索値とを取得する。次に、検索部233は、記憶部に記憶されている列のうち、列識別子で指定された列(第1列241、又は、第2列242)の、検索対象行の値が、検索値と一致するか否かを判定する(S522)。ここで、検索対象行には、例えば、記憶部に記憶されている分解表のヘッダを除いた1行目が指定される。なお、本実施の形態に係る検索部233が検索対象とする記憶部は、「自身を備える受信処理部」が備える1つの記憶部に限られる。
ここで、先頭行の値と検索値とが一致しない場合には(S522でNo)、検索部233は、列識別子で指定された列が、基準列であるか否かを判定する(S523)。列識別子で指定された列が基準列である場合には(S523でYes)、これ以上検索しても無駄であることが明らかなので、検索処理を終了する。一方、列識別子で指定された列が基準列ではない場合には(S523でNo)、検索部233は、次の行を検索対象行として指定し(S524)、同じ列で検索対象行の値が、検索値と一致するか否かを判定する(S522)。
一方、先頭行の値と検索値とが一致した場合には(S522でYes)、検索部233は、列識別子で指定された列に対応付けられた列が含む全ての値を検索出力値として出力する(S526)。例えば、列識別子で第1列241が指定されていた場合には、第2列242に含まれる全ての値を出力する。
以上述べた本実施の形態に係る表検索装置200によれば、各受信処理部が1つずつ、検索対象である表データを事前に分割して得られる分解表を記憶している。ここで、表データは、第1列と第2列を含む。また、各々の分解表は、第1列及び第2列のいずれかである基準列に含まれる値が、複数の分解表全て中で唯1つとなるように、生成されている。
したがって、表検索装置200は、以下の(1)及び(2)の問い合わせに対して、インデックスを事前に作成せずとも、インデックスを生成した場合と同程度に高速に、検索結果を出力することができる。
(1)表データに含まれる各行について、第1列が検索値であるような、第2列の値を全て出力せよ。
(2)表データに含まれる各行について、第2列が検索値であるような、第1列の値を全て出力せよ。
以上まとめると、本実施の形態に係る表検索装置200は、(1)複数の行と、第1の列及び第1の列に対応付けられた第2の列を含む複数の列とから構成される表構造を示すデータである表データを行方向に分割して得られる、複数の分解表の各々を1つずつ記憶している複数の受信処理部と、(2)送信部210と、(3)第1の列及び第2の列のいずれか一方を特定するための識別子である列識別子及び検索値を含む検索クエリーを、送信部210へ送信し、複数の受信処理部の各々から出力される出力値である検索出力値を受信し、かつ、受信した検索出力値を出力する制御部230とを備えている。
ここで、送信部210は、制御部230から受信した検索クエリーを、複数の受信処理部の全てに対して出力する。また、受信処理部は、取得した検索クエリーに含まれる列識別子によって特定される列に、検索クエリーに含まれる検索値が含まれているか否かを判定し、含まれている場合には、列識別子によって特定される列に対応付けられた列に含まれる値を検索出力値として出力する。
また、本実施の形態に係る表検索装置200は、さらに、表データから複数の分解表を生成する分割部302を備えてもよい。このとき、制御部230は、分割部302から複数の分解表を取得し、取得した分解表を複数の受信処理部の各々に1つずつ記憶させる。
なお、分割部302は、表データについて第1の列及び第2の列のいずれか一方を基準列として選択し、複数の分解表の各々について、基準列に含まれる値が、分解表内の基準列内で唯1つとなるように、複数の分解表を生成する。
また、分割部302は、表データについて第1の列及び第2の列のいずれか一方を基準列として選択し、複数の分解表の各々について、基準列に含まれる値が、(A)分解表内の基準列内で唯1つとなり、かつ、(B)複数の分解表の各々が基準列に含む値の中で唯1つとなるように複数の分解表を生成してもよい。
また、制御部230は、基準列を特定する識別子を列識別子とし、基準列に含まれているか否かを検索する値を検索値として、検索クエリーを送信部210へ送信する。
また、制御部230は、第1の列及び第2の列の一方である基準列に対応付けられた他方の列である第3の列を特定する識別子を列識別子とし、第3の列に含まれているか否かを検索する値を検索値として、検索クエリーを送信部210へ送信してもよい。
(実施の形態2)
次に、実施の形態2に係る表検索システム100及び表検索装置200について説明する。本実施の形態では、各受信処理部に記憶されている分解表の生成のされ方が、実施の形態1と異なる。
図9は、本発明の実施の形態2に係る表検索装置200を含む表検索システム100の全体構成を示すブロック図である。
本実施の形態に係る表検索装置200は、3つの受信処理部(受信処理部220〜受信処理部222)を備える他は、実施の形態1に係る表検索装置200と同一の構成である。
本実施の形態では、表データ240に含まれる複数の行は、各々1つの相異なる受信処理部に対応付けられて記憶される。これを、図10を用いてより詳細に説明する。
図10Aは、本発明の実施の形態2に係る表検索装置200に格納されている第1の分解表を示す図である。また、図10Bは、本発明の実施の形態2に係る表検索装置200に格納されている第2の分解表を示す図である。また、図10Cは、本発明の実施の形態2に係る表検索装置200に格納されている第3の分解表を示す図である。
第1の分解表〜第3の分解表は、表データ240の各行にそれぞれ対応する。すなわち、分割部302は、表データ240を1行ごとに分割することで、各行に対応する複数の分解表を生成する。具体的には、表データ240の第1行が第1の分解表に対応し、表データ240の第2行が第2の分解表に対応し、表データ240の第3行が第3の分解表に対応する。
以下、実施の形態1と同様に、分割部302は第1列241を基準列と選択したものとして説明する。
まず、分割部302は、生成した複数の分解表を、各々1つの相異なる受信処理部に記憶させる。本実施の形態では、第1の分解表を受信処理部220が備える記憶部232へ、第2の分解表を受信処理部221が備える記憶部234へ、第3の分解表を受信処理部222が備える記憶部235へ、それぞれ記憶させる。なお、分割部302が、分解表を記憶させる受信処理部を指定する方法は、実施の形態1と同様である。
このように、ヘッダ行を除いて1行のみの分解表を記憶部に記憶している受信処理部の各々に対して、送信部210は、取得した検索クエリーを送信する。
以下、受信処理部220を例に挙げて、検索クエリーを取得した受信処理部の処理を説明するが、処理の内容は、他の受信処理部においても同様である。
受信処理部220が備える検索部233は、検索クエリーから列識別子420と検索値422とを取得する。次に、検索部233は、記憶部232に記憶されている第1の分解表について、列識別子420で指定された列の値が検索値422と一致するか否かを判定する。この判定処理は、第1の分解表が、1行しか含んでいないことから、必ず1度の比較処理で終了する。
例えば、図5Aを参照して、受信処理部220が第1の検索クエリーを取得した場合、検索部233は、列識別子420として指定された第1列241の値が、3098に一致するか判定する。判定の結果、第1列241の値は3098に一致するため、検索部233は、他方の列である第2列242に含まれる全ての値(14)を制御部230へ出力する。
このように、全ての受信処理部が備える検索部233から出力された値を制御部230が取得することで、表検索装置200は、表データ240に対して第1の検索クエリーで指定された検索を実行することができる。
なお、受信処理部220が第2の検索クエリーを取得した場合には、検索部233は、列識別子420として指定された第2列242に含まれる値が14に一致するか否かを判定する他は、第1の検索クエリーを取得した場合と同様の処理を行う。
すなわち、本実施の形態に係る表検索装置200が備える分割部302は、表データを一行ごとに分割することにより、複数の分解表を生成する。
以上述べた、実施の形態2に係る表検索システム100によると、表データ240の各行は、相異なる1つの受信処理部に対応付けられて、各受信処理部が備える記憶部に記憶されている。その結果、各受信処理部は、取得した検索クエリーに対して1度の比較処理を行うだけで、検索結果を出力することができる。こうして出力された、各受信処理部からの出力を制御部230が集めることで、表検索装置200は、インデックスを生成せずとも、実施の形態1と比較してもさらに高速に表データの検索が可能となる。
(実施の形態3)
図11は、本発明の実施の形態3に係る表検索装置200を含む表検索システム100の全体構成を示すブロック図である。
本実施の形態が、実施の形態2と異なる点は、複数の受信処理部(受信処理部220〜受信処理部222)で、1つの検索部233を共有している点である。
実施の形態2では、各受信処理部が備える記憶部には、表データ1行分に相当する分解表のみが記憶される。したがって、検索部233が行う検索処理も軽い処理で済む。よって、表検索装置200が備える全ての受信処理部が検索部233を備える必要はなく、図11に示されるように、一定数の受信処理部が検索部233を共有することができる。
この構成によると、受信処理部221の構成を簡易なものとすることができ、表検索装置200のコスト削減や、小型化、省電力化を実現することができる。
(実施の形態4)
図12は、本発明の実施の形態4に係る表検索装置200を含む表検索システム100の全体構成を示すブロック図である。
本実施の形態では、表検索システム100は、複数の表検索装置200を備えている。
表検索装置200の構成は、例えば、実施の形態1〜3のいずれであってもよい。
本実施の形態に係る表検索システム100における検索時には、クエリー装置300が備えるクエリー部303は、検索クエリーを、全ての表検索装置200に同時に送信する。検索クエリーを取得した各々の表検索装置200は、自身が備える全ての受信処理部に、取得した検索クエリーを送信する。以後、各々の受信処理部が行う検索処理は、実施の形態1〜3と同様の処理により、行うことができる。
この構成は、例えば、表検索装置200を集積回路等のハードウェアで実装した場合に、表検索システム100のスケーラビリティを確保できる点で特に有効である。
具体的には、表データ240のサイズが大きいため、これを分割して得られた分解表の数が、1つの表検索装置200が備える受信処理部の数よりも大きい場合であっても、表検索装置200をクエリー装置300に対して必要な数だけ並列に接続することで、表検索システム100が備える受信処理部の数を増やすことができる。その結果、表データ240の大きさに関わらず、検索可能な表検索システム100を実現することができる。
なお、実施の形態1〜4に係る表検索システム100において、クエリー装置300に代わり、表検索装置200が備える制御部230が分割部302を備えてもよい。
なお、実施の形態1〜4に係る表検索システム100において、クエリー装置300は、複数の表データを、1つの表検索装置200の中に記憶してもよい。
この場合、具体的には、
(1)クエリー装置300は、表データに対して、その表を一意に識別する表識別子を割り当て、
(2)分割部302は、表データを分割して生成する分解表の各々に、表データに付加されている表識別子を含め、
(3)記憶部は、表識別子を含む分解表を保持し、
(4)クエリー部303は、検索対象である表データの表識別子を含むクエリーを生成して、制御部230に送信し、
(5)検索部233は、表識別子及び検索値が一致するか否かを判断する、
という手順となる。
これにより、表検索装置200が備える受信処理部の数に比べて、表データのデータサイズが小さい場合には、複数の表データを1つの表検索装置200に記憶させることができ、表検索装置200の利用効率を向上させることができる。
なお、実施の形態1〜4に係る表検索システム100が備える検索部233は、1つの値ではなく、範囲指定された値のうち、いずれかの値が記憶部に含まれているか否かを判定してもよい。例えば、第1列が3040〜3090のうち、いずれかの値であれば、セルの値が検索値と一致と判定し(ステップS522)てもよい。
なお、本発明は、上記実施の形態1〜4に限定されるものではない。例えば、上記実施の形態1〜4をそれぞれ組み合わせるとしてもよい。
また、今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
本発明は、表検索装置に適用でき、特に、ネットワーク内に分散させて保持された表を検索する表検索装置等に適用できる。
32 ディスプレイ
34 コンピュータ
36 キーボード
38 マウス
40 CD−ROM装置
42 CD−ROM
44 CPU
46 ROM
48 RAM
50 ハードディスク
52 通信モデム
54 バス
100 表検索システム
200 表検索装置
202 第1の通信路
204 第2の通信路
210 送信部
212 送信バッファ
213 出力部
220、221、222 受信処理部
230 制御部
231 取得部
232、234、235 記憶部
233 検索部
240 表データ
241 第1列
242 第2列
300 クエリー装置
302 分割部
303 クエリー部
420 列識別子
422 検索値

Claims (1)

  1. 複数の行と、第1の列及び前記第1の列に対応付けられた第2の列を含む複数の列とから構成される表構造を示すデータである表データを行方向に分割して得られる、複数の分解表の各々を1つずつ記憶する複数の記憶部と、複数の検索部とを備える表検索装置における表検索方法であって、
    前記第1の列及び前記第2の列のいずれか一方を特定するための識別子である列識別子と、検索値とを含む検索クエリーを受信し、
    前記検索クエリーを前記複数の検索部に送信し、
    前記検索部が、対応する前記記憶部に記憶された分解表において、前記検索クエリーに含まれる前記列識別子によって特定される列に、前記検索クエリーに含まれる前記検索値が含まれているか否かを判定し、
    含まれていると判定した前記検索部が、前記列識別子によって特定される列に対応付けられた列に含まれる値を前記検索出力値として出力し、
    前記複数の分解表の各々は、前記複数の分解表の各々を当該複数の記憶部のうちのいずれに割り当てるかを決定するためのインデックスを使わずに決定された前記複数の記憶部のうちのいずれかに割り当てられて記憶され、
    前記複数の分解表は、前記複数の分解表の各々について、前記表データにおける前記第1の列及び前記第2の列のいずれか一方として選択された基準列に含まれる値が、前記分解表内の前記基準列内で唯1つとなるように生成されており、
    前記複数の分解表は、前記表データに含まれていたデータのみから生成されている
    表検索方法。
JP2012087737A 2009-12-04 2012-04-06 表検索方法 Active JP5466257B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012087737A JP5466257B2 (ja) 2009-12-04 2012-04-06 表検索方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2009275993 2009-12-04
JP2009275994 2009-12-04
JP2009275993 2009-12-04
JP2009275994 2009-12-04
JP2010161242 2010-07-16
JP2010161242 2010-07-16
JP2012087737A JP5466257B2 (ja) 2009-12-04 2012-04-06 表検索方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011176910A Division JP5466210B2 (ja) 2009-12-04 2011-08-12 表検索装置、表検索方法、及び、表検索システム

Publications (2)

Publication Number Publication Date
JP2012164333A true JP2012164333A (ja) 2012-08-30
JP5466257B2 JP5466257B2 (ja) 2014-04-09

Family

ID=44114794

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011508754A Expired - Fee Related JP5006472B2 (ja) 2009-12-04 2010-12-02 表検索装置、表検索方法、及び、表検索システム
JP2011176910A Active JP5466210B2 (ja) 2009-12-04 2011-08-12 表検索装置、表検索方法、及び、表検索システム
JP2012087737A Active JP5466257B2 (ja) 2009-12-04 2012-04-06 表検索方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2011508754A Expired - Fee Related JP5006472B2 (ja) 2009-12-04 2010-12-02 表検索装置、表検索方法、及び、表検索システム
JP2011176910A Active JP5466210B2 (ja) 2009-12-04 2011-08-12 表検索装置、表検索方法、及び、表検索システム

Country Status (5)

Country Link
US (1) US20120239688A1 (ja)
JP (3) JP5006472B2 (ja)
KR (1) KR20120120159A (ja)
CN (1) CN102648468B (ja)
WO (1) WO2011067932A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012006412T5 (de) 2012-05-24 2015-02-12 Hitachi, Ltd. System zur verteilten Datensuche, Verfahren zur verteilten Datensuche und Managementcomputer
JP6164006B2 (ja) * 2013-09-27 2017-07-19 日本電気株式会社 情報記憶システム、情報記憶方法、プログラム
US9509723B1 (en) * 2014-06-04 2016-11-29 Sprint Communications Company L.P. Session initiation protocol (SIP) server to efficiently handle session description protocol (SDP) data sets
US10387421B2 (en) 2014-09-26 2019-08-20 Oracle International Corporation System and method for generating size-based splits in a massively parallel or distributed database environment
US10089357B2 (en) 2014-09-26 2018-10-02 Oracle International Corporation System and method for generating partition-based splits in a massively parallel or distributed database environment
US10528596B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation System and method for consistent reads between tasks in a massively parallel or distributed database environment
US10078684B2 (en) 2014-09-26 2018-09-18 Oracle International Corporation System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment
US10089377B2 (en) * 2014-09-26 2018-10-02 Oracle International Corporation System and method for data transfer from JDBC to a data warehouse layer in a massively parallel or distributed database environment
US10180973B2 (en) 2014-09-26 2019-01-15 Oracle International Corporation System and method for efficient connection management in a massively parallel or distributed database environment
US10380114B2 (en) 2014-09-26 2019-08-13 Oracle International Corporation System and method for generating rowid range-based splits in a massively parallel or distributed database environment
US10394818B2 (en) 2014-09-26 2019-08-27 Oracle International Corporation System and method for dynamic database split generation in a massively parallel or distributed database environment
JPWO2016092604A1 (ja) * 2014-12-08 2017-06-01 株式会社日立製作所 データ処理システムおよびデータアクセス方法
CN106302374B (zh) 2015-06-26 2019-08-16 深圳市中兴微电子技术有限公司 一种用于提高表项访问带宽和原子性操作的装置及方法
CN107977378B (zh) * 2016-10-25 2021-11-02 南京途牛科技有限公司 一种分布式数据聚合方法和装置
US10789510B2 (en) * 2019-01-11 2020-09-29 Google Llc Dynamic minibatch sizes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160557A (ja) * 1993-12-13 1995-06-23 Hitachi Ltd データベースアクセス処理方法
JP2004252509A (ja) * 2003-02-18 2004-09-09 Tokio Marine & Fire Insurance Co Ltd ファイルやシートを結合又は分割するための情報処理方法
JP2005115514A (ja) * 2003-10-06 2005-04-28 Ibm Japan Ltd データベース検索システム及びその検索方法並びにプログラム
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2583010B2 (ja) * 1993-01-07 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 多層インデックス構造におけるローカルインデックステーブル及び大域インデックステーブルの間の一貫性を維持する方法
JP2000067077A (ja) * 1998-08-26 2000-03-03 Hitachi Information Systems Ltd データベースシステム及び表分割指定の処理を行うプログラムを格納した記録媒体
US6549931B1 (en) * 1999-09-27 2003-04-15 Oracle Corporation Distributing workload between resources used to access data
JP4183400B2 (ja) * 2001-06-27 2008-11-19 株式会社日立製作所 データベースシステムとデータベース管理方法およびプログラム
JP2006293981A (ja) * 2005-03-18 2006-10-26 Hitachi Ltd データベース格納方法、および、データベース格納システム
US7814104B2 (en) * 2005-05-04 2010-10-12 Oracle International Corporation Techniques for partition pruning
US7962442B2 (en) * 2006-08-31 2011-06-14 International Business Machines Corporation Managing execution of a query against selected data partitions of a partitioned database
JP2007048318A (ja) * 2006-10-30 2007-02-22 Hitachi Ltd リレーショナルデータベースの処理方法およびリレーショナルデータベース処理装置
JP5230184B2 (ja) * 2007-12-12 2013-07-10 三菱電機株式会社 検索装置、検索方法及び検索プログラム
JP4625512B2 (ja) * 2008-04-28 2011-02-02 クラリオン株式会社 施設検索装置、施設検索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07160557A (ja) * 1993-12-13 1995-06-23 Hitachi Ltd データベースアクセス処理方法
JP2004252509A (ja) * 2003-02-18 2004-09-09 Tokio Marine & Fire Insurance Co Ltd ファイルやシートを結合又は分割するための情報処理方法
JP2005115514A (ja) * 2003-10-06 2005-04-28 Ibm Japan Ltd データベース検索システム及びその検索方法並びにプログラム
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199801002001; 正井 一夫、外3名: '更新処理を並列実行するUNIX向けDBMSを開発' 日経エレクトロニクス 第630号, 19950227, p.101-114, 日経BP社 *
JPN6012026550; 正井 一夫、外3名: '更新処理を並列実行するUNIX向けDBMSを開発' 日経エレクトロニクス 第630号, 19950227, p.101-114, 日経BP社 *

Also Published As

Publication number Publication date
WO2011067932A1 (ja) 2011-06-09
CN102648468B (zh) 2014-08-06
US20120239688A1 (en) 2012-09-20
JP5006472B2 (ja) 2012-08-22
JP5466257B2 (ja) 2014-04-09
JP2012038321A (ja) 2012-02-23
CN102648468A (zh) 2012-08-22
JP5466210B2 (ja) 2014-04-09
JPWO2011067932A1 (ja) 2013-04-18
KR20120120159A (ko) 2012-11-01

Similar Documents

Publication Publication Date Title
JP5466257B2 (ja) 表検索方法
JP6542909B2 (ja) ファイル操作方法及び装置
JP6225261B2 (ja) データを記憶する方法及び装置
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
WO2021218144A1 (zh) 数据处理方法、装置、计算机设备及存储介质
CN109800336B (zh) 基于键值对存储系统的表格实现方法、装置、设备和介质
US10904316B2 (en) Data processing method and apparatus in service-oriented architecture system, and the service-oriented architecture system
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
CN104135437A (zh) 用于在网络交换机中利用集中式存储器池的表搜索的装置和方法
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
US9996391B2 (en) Parallel computer system, method of controlling parallel computer system, and recording medium
JP5782937B2 (ja) タグ管理装置、タグ管理システムおよびタグ管理プログラム
US8914574B2 (en) Content addressable memory and method of searching data thereof
JP2020123320A (ja) インデックスを管理するための方法、装置、設備及び記憶媒体
US20140067853A1 (en) Data search method, information system, and recording medium storing data search program
CN113791730B (zh) 基于双存储池的放置组调整方法、系统、装置及存储介质
US20180260463A1 (en) Computer system and method of assigning processing
CN108140022A (zh) 数据查询方法和数据库系统
CN108763524B (zh) 电子装置、聊天数据处理方法和计算机可读存储介质
CN101599910A (zh) 报文发送的方法及设备
CN111400301A (zh) 一种数据查询方法、装置及设备
CN107179883B (zh) 一种基于SSD和HDD的混合存储系统的Spark架构优化方法
US11416517B2 (en) Partitioning data in a clustered database environment
JP2019536382A (ja) パケット転送
CN114338725A (zh) 一种提升大规模集群渲染上限的分布式存储调度方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5466257

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250