JP2012059215A - データ検索システム及びプログラム - Google Patents
データ検索システム及びプログラム Download PDFInfo
- Publication number
- JP2012059215A JP2012059215A JP2010204746A JP2010204746A JP2012059215A JP 2012059215 A JP2012059215 A JP 2012059215A JP 2010204746 A JP2010204746 A JP 2010204746A JP 2010204746 A JP2010204746 A JP 2010204746A JP 2012059215 A JP2012059215 A JP 2012059215A
- Authority
- JP
- Japan
- Prior art keywords
- data
- search
- processing
- processing unit
- result
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】検索条件分割処理部20と、複数の検索処理部22と、複数のデータ加工処理部24と、検索結果統合処理部26を備えたデータ検索システム10。検索条件分割処理部20は、入力された検索条件を複数の検索条件に分割し、各検索処理部22に割り当てる。各検索処理部22は、割り当てられた検索条件に対応したSQL文をDBサーバ16に発行し、DBサーバ16から一定量の検索結果データが送信される度に、演算処理を各データ加工処理部に割り当てる。また、データ加工処理部24から処理結果データが返される度に、これをメモリに格納すると共に、DBサーバ16から送信されたデータを削除する。さらに、DBサーバ16からのデータ送信が完了し、部分的な処理結果データが揃った時点で、これらを集計して検索結果統合処理部26に渡す。検索結果統合処理部26は、各検索処理部22からの集計結果を集計し、検索結果として出力する。
【選択図】 図1
Description
OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング インターネットURL:http://astore.amazon.co.jp/hiratacreate-22/detail/484432814X 検索日:2010年8月12日 数値シミュレーションにおけるソフトウェア研究開発の動向 インターネットURL:http://www.nistep.go.jp/achiev/ftx/jpn/stfc/stt104j/0911_03_featurearticles/0911fa02/200911_fa02.html 検索日:2010年8月12日
しかしながら、データベースに蓄積された大量のデータを参照する必要のある業務系処理の場合には、データベースサーバからの応答を待つDISK/IOがボトルネックとなるため、単純にアプリケーションサーバ側のCPUコアの数を増やしたとしても、直ちに処理速度の向上には結びつかないという問題がある。
現在、多数のアプリケーションサーバを並列化し、膨大な量のメモリ上にデータベース内のデータをキャッシュしておくことで、この問題を解決することも試みられているが、その分大きな設置スペースとコストを要することはもちろん、発熱や消費電力の問題が生じる結果となる。
特に、データベースサーバからの検索結果データが全て揃うまで待機することなく、一定量のデータが揃った時点で部分的な加工処理に移行するため、データベースサーバ側のDISK/IOによる影響を低減することができる。
この図におけるスレッド32が、図1及び図2に表された検索条件分割処理部20、複数の検索処理部22、複数のデータ加工処理部24、検索結果統合処理部26として機能し、これらの機能構成部が実行する具体的な処理がタスク36に相当する。
まず、図4に従い、検索条件分割処理部20による処理手順を説明する。
すなわち、クライアント端末18から送信された検索条件をWebサーバ12経由でAPサーバ14が受信すると(S10)、検索条件分割処理部20は検索条件を解析し、検索条件の内容に応じて複数の検索条件に分割する(S12)。
例えば、「2010年における全チェーン店の売上を集計する」という検索条件が示された場合に、「2010年1月分の全チェーン店の売上」、「2010年2月の全チェーン店の売上」、「2010年3月の全チェーン店の売上」…というように、年を月単位に12分割することが該当する。
また、各チェーン店の所在地データに着目し、「2010年における東京所在チェーン店の売上」、「2010年における北海道所在チェーン店の売上」、「2010年における沖縄所在チェーン店の売上」…というように、全国を都道府県単位に47分割することも該当する。
もちろん、「2010年1月分の東京所在チェーン店の売上」や「2010年1月の北海道所在チェーン店の売上」のように、月×都道府県単位で564分割することもできる。
すなわち、検索条件分割処理部20は、47個の検索処理部22に対して、上記都道府県単位の検索処理を割り当てる(S14)。
まず検索処理部22は、自己に割り当てられた検索処理に必要な都道府県を指定したSQL文を自動生成し、DBサーバ16に対して発行する(S20)。
この結果、一部のデータ加工処理部24は、受信データをキー項目でソートすると共に、キー項目の値に基づいて複数のデータに分割する処理を実行する。また、他のデータ加工処理部24は、分割されたデータに基づく値の集計処理や、当該値を指定したデータの抽出をDBサーバ16に依頼する処理などを実行する。
受信データの分割手法については後に例示するが、検索条件の内容に応じて論理的に分割する検索条件分割処理部20による分割と異なり、受信データの値や分量に応じた分割手法となる。データ加工処理部24による具体的な処理についても、後に例示する。
各検索処理部22は、DBサーバ16からのデータ送信が完了するまで、DBサーバ16から送信されるデータが一定量に達する度にS24〜S28の処理を繰り返す(S30/N、S22/Y)。
そして、DBサーバ16からのデータ送信が完了し、S24〜S28の最後の処理が完了した時点で(S30/Y)、検索処理部22はこれまでの部分的な処理結果の集計値を集計し(S32)、検索結果統合処理部26に集計結果を出力する(S34)。
まず検索結果統合処理部26は、各検索処理部22から集計結果が送信される度に、全ての検索処理部22からの集計結果が揃ったか否かをチェックし(S40、S42)、全てが揃った段階で全検索処理部の集計結果を集計する(S44)。
そして、その最終的な集計結果をWebサーバ12に送信する(S46)。
Webサーバ12は、この集計結果を含むWebファイルを生成し、クライアント端末18に送信することになる。
図7は、DBサーバ16に格納されたテーブル群を示しており、「顧客ID(主キー)」及び「地域」のデータ項目を備えた顧客管理テーブル40と、「予約ID(主キー)」、「店ID」、「顧客ID(外部キー)」、「金額」及び「予約年月日」のデータ項目を備えた予約管理テーブル42と、「予約ID(主キー/外部キー)」及び「売上年月日」のデータ項目を備えた売上管理テーブル44と、「予約ID(主キー/外部キー)」及び「予約取消年月日」のデータ項目を備えた予約取消管理テーブル46と、「請求ID(主キー)」、「請求年月日」及び「予約ID(外部キー)」のデータ項目を備えた請求管理テーブル48とによって、各店舗の売り上げが管理されている。
そして、DBサーバ16から該当日の請求年月日を備えた請求データが送信されると、検索処理部22は一定量のデータ(例えば1,000件のレコード相当分)単位で受信データを分割し、複数のデータ加工処理部24に以下の処理を割り当てる。
(1)各請求データの「予約ID」を指定したSQL文を生成してDBサーバ16に発行し、「予約管理テーブル」から対応の予約データを取得する。
(2)送信された予約データの中で、該当店舗の「店ID」を有するデータのみを抽出し、他の店IDのデータを除外する。
(3)各予約データの「顧客ID」を指定したSQL文を生成してDBサーバ16に発行し、顧客管理テーブル40から対応の顧客データを取得する。
(4)顧客データの「地域」毎に、予約データ中の「金額」の値を集計する。
これら(1)〜(4)の処理は、具体的にはタスク36として各データ加工処理部24のスレッドプール34に配置される。
検索結果統合処理部26は、全検索処理部22から8月1日〜8月31日までの全集計結果が集まった時点でこれらを集計し、Webサーバ12に出力する。
また、APサーバ14における部分的な集計が完了する度に、DBサーバ16から送信されたデータが占めていたメモリが解放され、データ量が格段に小さな集計結果データのみがメモリに格納される仕組みであるため、APサーバ14のメモリが大きなデータに占拠され続けることを回避できる。
まず一のデータ加工処理部24は、DBサーバ16から送信されたデータを2等分する位置を探索し、そこから前方不一致検索によってキー項目の変わり目を探しだし、データを2分割させる。
例えば、(a)のデータ列はキー項目の値が1〜6があるが、データ加工処理部24は「3」と「4」との間を境にこれを2分割させ、(b)及び(c)のデータ列を生成する。
この時点で、(e)のデータ列のキー項目の値は「3」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(e)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(h)のデータ列のキー項目の値は「1」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(h)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(i)のデータ列のキー項目の値は「2」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(i)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(g)のデータ列のキー項目の値は「6」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(g)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この時点で、(j)のデータ列のキー項目の値は「4」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(j)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
同様に、(k)のデータ列のキー項目の値は「5」のみとなるため、データ加工処理部24はそれ以上の分割を停止する。この(k)のデータ列については、他のデータ加工処理部24によって必要な計算処理等が実行される。
この結果、大量のデータに対して複数のデータ加工処理部24による並列処理が可能となり、APサーバ14に複数搭載されたCPUコアの有効利用が可能となる。
このデータ加工処理部24による分割処理に際し、分割の回数(階層の深さ)に一定の限度を設けることもできる。
この結果、第1のスレッドプール50に配置されたタスク36の実行によってI/O Waitが発生した場合、スレッド32は第2のスレッドプール52に配置されたタスク36を待ち時間の間に処理することが可能となり、処理の効率化を図ることが可能となる。
12 Webサーバ
14 APサーバ
16 DBサーバ
18 クライアント端末
20 検索条件分割処理部
22 検索処理部
24 データ加工処理部
26 検索結果統合処理部
30 CPUコア
32 スレッド
34 スレッドプール
36 タスク
40 顧客管理テーブル
42 予約管理テーブル
44 売上管理テーブル
46 予約取消管理テーブル
48 請求管理テーブル
50 第1のスレッドプール
52 第2のスレッドプール
Claims (4)
- 検索条件分割処理部と、複数の検索処理部と、複数のデータ加工処理部と、検索結果統合処理部とを備えたデータ検索システムであって、
上記検索条件分割処理部は、入力された検索条件を解析して複数の検索条件に分割すると共に、各検索条件を上記複数の検索処理部に割り当てる処理を実行し、
上記の各検索処理部は、自己に割り当てられた検索条件に対応したSQL文を生成し、データベースサーバに発行する処理と、
データベースサーバから一定量の検索結果データが送信される度に、必要な演算処理を上記の各データ加工処理部に割り当てる処理と、
各データ加工処理部から部分的な加工処理結果データが返される度に、これをメモリに格納すると共に、データベースサーバから送信されたデータをメモリ上から削除する処理と、
データベースサーバからのデータ送信が完了し、部分的な検索結果データに基づく部分的な加工処理結果データが全て揃った時点で、これらを集計して上記検索結果統合処理部に集計結果を出力する処理を実行し、
上記検索結果統合処理部は、各検索処理部から渡された集計結果を集計し、検索結果として出力する処理を実行することを特徴とするデータ検索システム。 - 上記検索条件分割処理部は、入力された検索条件が時間的な範囲を含んでいる場合に、これをより短い時間的な範囲に分割することを特徴とする請求項1に記載のデータ検索システム。
- 上記検索条件分割処理部は、入力された検索条件が地域的な範囲を含んでいる場合に、これをより狭い地域的な範囲に分割することを特徴とする請求項1に記載のデータ検索システム。
- コンピュータを、
検索条件分割処理部と、複数の検索処理部と、複数のデータ加工処理部と、検索結果統合処理部として機能させるデータ検索プログラムであって、
上記検索条件分割処理部は、入力された検索条件を解析して複数の検索条件に分割すると共に、各検索条件を上記複数の検索処理部に割り当てる処理を実行し、
上記の各検索処理部は、自己に割り当てられた検索条件に対応したSQL文を生成し、データベースサーバに発行する処理と、
データベースサーバから一定量の検索結果データが送信される度に、必要な演算処理を上記の各データ加工処理部に割り当てる処理と、
各データ加工処理部から部分的な加工処理結果データが返される度に、これをメモリに格納すると共に、データベースサーバから送信されたデータをメモリ上から削除する処理と、
データベースサーバからのデータ送信が完了し、部分的な検索結果データに基づく部分的な加工処理結果データが全て揃った時点で、これらを集計して上記検索結果統合処理部に集計結果を出力する処理を実行し、
上記検索結果統合処理部は、各検索処理部から渡された集計結果を集計し、検索結果として出力する処理を実行することを特徴とするデータ検索プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010204746A JP5425028B2 (ja) | 2010-09-13 | 2010-09-13 | データ検索システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010204746A JP5425028B2 (ja) | 2010-09-13 | 2010-09-13 | データ検索システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012059215A true JP2012059215A (ja) | 2012-03-22 |
JP5425028B2 JP5425028B2 (ja) | 2014-02-26 |
Family
ID=46056195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010204746A Expired - Fee Related JP5425028B2 (ja) | 2010-09-13 | 2010-09-13 | データ検索システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5425028B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136442A1 (ja) * | 2012-03-13 | 2013-09-19 | 株式会社野村総合研究所 | データ利用システム、時限データの履歴管理システム及びデータ処理システム |
JP2013206248A (ja) * | 2012-03-29 | 2013-10-07 | Hitachi Ltd | 情報処理システム及びその処理方法 |
JP2014112385A (ja) * | 2013-12-24 | 2014-06-19 | Nomura Research Institute Ltd | データ利用システム |
US9639590B2 (en) | 2013-05-30 | 2017-05-02 | Fujitsu Limited | Database system and method for searching database |
JP2018142363A (ja) * | 2018-05-16 | 2018-09-13 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、情報処理装置、制御方法、及びプログラム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60178573A (ja) * | 1984-02-24 | 1985-09-12 | Hitachi Ltd | データベース・マシン |
JPH04281538A (ja) * | 1991-03-11 | 1992-10-07 | Toshiba Corp | 検索制御装置及び検索システム |
JPH0581342A (ja) * | 1991-09-21 | 1993-04-02 | Toshiba Corp | データ処理装置 |
JPH07319923A (ja) * | 1994-04-04 | 1995-12-08 | At & T Global Inf Solutions Internatl Inc | マルチプロセッサコンピュータシステムの並行データベースを処理するための方法および装置 |
JP2004062566A (ja) * | 2002-07-30 | 2004-02-26 | Jmnet Inc | データベースシステム及びそれを構成するマスターノード装置及びプログラム |
JP2005115514A (ja) * | 2003-10-06 | 2005-04-28 | Ibm Japan Ltd | データベース検索システム及びその検索方法並びにプログラム |
JP2006040081A (ja) * | 2004-07-29 | 2006-02-09 | Mitsubishi Electric Corp | 情報検索装置及びデータベース検索前処理回路及び情報検索方法 |
JP2007193394A (ja) * | 2006-01-17 | 2007-08-02 | Kobe Steel Ltd | データベース検索装置及びデータベース検索方法 |
JP2008310634A (ja) * | 2007-06-15 | 2008-12-25 | Mitsubishi Electric Corp | データベース検索装置及びデータベース検索プログラム |
-
2010
- 2010-09-13 JP JP2010204746A patent/JP5425028B2/ja not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60178573A (ja) * | 1984-02-24 | 1985-09-12 | Hitachi Ltd | データベース・マシン |
JPH04281538A (ja) * | 1991-03-11 | 1992-10-07 | Toshiba Corp | 検索制御装置及び検索システム |
JPH0581342A (ja) * | 1991-09-21 | 1993-04-02 | Toshiba Corp | データ処理装置 |
JPH07319923A (ja) * | 1994-04-04 | 1995-12-08 | At & T Global Inf Solutions Internatl Inc | マルチプロセッサコンピュータシステムの並行データベースを処理するための方法および装置 |
JP2004062566A (ja) * | 2002-07-30 | 2004-02-26 | Jmnet Inc | データベースシステム及びそれを構成するマスターノード装置及びプログラム |
JP2005115514A (ja) * | 2003-10-06 | 2005-04-28 | Ibm Japan Ltd | データベース検索システム及びその検索方法並びにプログラム |
JP2006040081A (ja) * | 2004-07-29 | 2006-02-09 | Mitsubishi Electric Corp | 情報検索装置及びデータベース検索前処理回路及び情報検索方法 |
JP2007193394A (ja) * | 2006-01-17 | 2007-08-02 | Kobe Steel Ltd | データベース検索装置及びデータベース検索方法 |
JP2008310634A (ja) * | 2007-06-15 | 2008-12-25 | Mitsubishi Electric Corp | データベース検索装置及びデータベース検索プログラム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013136442A1 (ja) * | 2012-03-13 | 2013-09-19 | 株式会社野村総合研究所 | データ利用システム、時限データの履歴管理システム及びデータ処理システム |
JP2013206248A (ja) * | 2012-03-29 | 2013-10-07 | Hitachi Ltd | 情報処理システム及びその処理方法 |
CN103366022A (zh) * | 2012-03-29 | 2013-10-23 | 株式会社日立制作所 | 信息处理系统及其处理方法 |
US8996677B2 (en) | 2012-03-29 | 2015-03-31 | Hitachi, Ltd. | Information processing system and processing method arrangements providing load distribution and leveling on data collection units |
US9639590B2 (en) | 2013-05-30 | 2017-05-02 | Fujitsu Limited | Database system and method for searching database |
JP2014112385A (ja) * | 2013-12-24 | 2014-06-19 | Nomura Research Institute Ltd | データ利用システム |
JP2018142363A (ja) * | 2018-05-16 | 2018-09-13 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、情報処理装置、制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5425028B2 (ja) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | Dache: A data aware caching for big-data applications using the MapReduce framework | |
US10339465B2 (en) | Optimized decision tree based models | |
EP2831767B1 (en) | Method and system for processing data queries | |
US8978034B1 (en) | System for dynamic batching at varying granularities using micro-batching to achieve both near real-time and batch processing characteristics | |
Böse et al. | Beyond online aggregation: parallel and incremental data mining with online map-reduce | |
JP5425028B2 (ja) | データ検索システム及びプログラム | |
CA2939959A1 (en) | Parallel decision tree processor architecture | |
Tatikonda et al. | Posting list intersection on multicore architectures | |
CN105447088A (zh) | 一种基于志愿者计算的多租户专业云爬虫 | |
US20160085832A1 (en) | System and method of analyzing data using bitmap techniques | |
JP5730386B2 (ja) | 計算機システム及び並列分散処理方法 | |
CN102819589B (zh) | 一种基于etl的数据优化方法及设备 | |
CN114756629B (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
CN110959156A (zh) | 到数据库加速器的并行计算卸载 | |
Yang et al. | The RADStack: Open source lambda architecture for interactive analytics | |
US9292405B2 (en) | HANA based multiple scenario simulation enabling automated decision making for complex business processes | |
JP5608633B2 (ja) | データ利用システム | |
WO2013136442A1 (ja) | データ利用システム、時限データの履歴管理システム及びデータ処理システム | |
US10313261B1 (en) | Tenant assignment system | |
JP5474743B2 (ja) | プログラム開発支援システム | |
CN117806929A (zh) | MySQL慢日志采集分析方法、系统、设备及存储介质 | |
WO2020259155A1 (zh) | 一种生成告警数据报表的方法及装置 | |
JP5604478B2 (ja) | データ利用システム | |
JP5681781B2 (ja) | データ利用システム | |
JP5604403B2 (ja) | データ利用システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130214 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131031 |
|
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: 20131119 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131126 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5425028 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 |
|
LAPS | Cancellation because of no payment of annual fees |