JP2014123354A - グラフデータの再帰クエリを用いたストリームデータ処理方法 - Google Patents
グラフデータの再帰クエリを用いたストリームデータ処理方法 Download PDFInfo
- Publication number
- JP2014123354A JP2014123354A JP2013250965A JP2013250965A JP2014123354A JP 2014123354 A JP2014123354 A JP 2014123354A JP 2013250965 A JP2013250965 A JP 2013250965A JP 2013250965 A JP2013250965 A JP 2013250965A JP 2014123354 A JP2014123354 A JP 2014123354A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- recursion
- query
- recursive
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
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
【解決手段】ストリームデータ処理コンピュータは、ストリームデータである入力ストリームを受信し、クエリを実行する演算部の実行順序を管理し、ストリームデータである出力ストリームを出力するクエリ実行部と、前記クエリを実行する際に生成されるデータを格納する一時格納部を含むメモリと、を含む。前記演算部は、複数の静的再帰実行部と、判定演算部と、動的再帰実行部と、を含む。前記複数の静的再帰実行部は、前記クエリの静的再帰実行を再帰数の回数行う。前記判定演算部は、前記クエリの静的再帰実行が前記再帰数の回数行われた後で、予め設定された条件が満たされているか否かを判定する。前記動的再帰実行部は、前記予め設定された条件が満たされていない場合、動的再帰実行によって前記クエリの実行を続行する。
【選択図】図2
Description
図2は、本発明の第1の実施形態に係るストリームデータ処理サーバ200の一例を示している。ストリームデータ処理サーバ200は、CPU201、メモリ202、NIC(Network Interface Card)203、HBA(Host Bus Adapter)204、及びHDD(Hard Disk Drive)205を有する。メモリ202は、再帰クエリ設定部211、クエリ解析部212、静的再帰クエリ生成部213、動的再帰クエリ生成部214、判定演算部生成部215、再帰クエリ定義テーブル216、及びクエリ実行部217を格納する。クエリ実行部217は、スライディングウィンドウ232、静的再帰実行部233、判定演算部234、及び従来型パス探索部243と再帰回数判定部244とを有する動的再帰実行部235を含む。
第1の実施形態では、判定演算部は、最後の静的再帰実行部から新たな結果が出力されるか否かを判定する。第2の実施形態においては、判定演算部は、この判定を、新たな結果の有無についてのみならず、ホップ数で表すパスの数(パス数)や、各パスの合計や平均で表すパスの重み(パス重み)(これらはパスコストやパス長として知られている)について行う。
第1の実施形態では、静的再帰及び動的再帰の回数はユーザによって設定される。第3の実施形態においては、ストリームデータ処理エンジンは、CPU使用量やメモリ使用量等の資源監視情報に基づいて再帰数を調節する。CPU/メモリを多く使用している場合は、静的再帰実行部の数を減少させる。クエリ実行部の一時格納部が縮小し、一時格納部のメンテナンス(たとえば、仮集約結果の更新等)が削減されるため、CPU/メモリ使用量は低減する。一方、CPU/メモリ使用が少ない場合、静的再帰実行部の数を増加させる。クエリ実行部はより多くの一時格納部を有し、一時格納部を使って計算を開始するため、実行レイテンシは短くなる。本実施形態において、ストリームデータ処理エンジンは、CPU/メモリ使用量と実行レイテンシの均衡をとることができる。
Claims (20)
- プロセッサと、
ストリームデータである入力ストリームを受信し、クエリを実行する演算部の実行順序を管理し、ストリームデータである出力ストリームを出力する、クエリ実行部と、
前記クエリを実行する際に生成されるデータを格納する一時格納部を含むメモリと、を含むストリームデータ処理コンピュータであって、
前記演算部は、複数の静的再帰実行部と、判定演算部と、動的再帰実行部と、を含み、
前記複数の静的再帰実行部は、前記クエリの静的再帰実行を再帰数の回数行い、
前記判定演算部は、前記クエリの静的再帰実行が前記再帰数の回数行われた後で、予め設定された条件が満たされているか否かを判定し、
前記動的再帰実行部は、前記予め設定された条件が満たされていない場合、動的再帰の値に基づいて、前記複数の静的再帰実行部の最後の静的再帰実行部の最後の結果から、動的再帰実行によって前記クエリの実行を続行する、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
前記予め設定条件は、前記複数の静的再帰実行部が前記クエリの静的再帰実行を前記再帰数の回数行った後に新たな結果を生成している場合に満たされる、ストリームデータ処理コンピュータ。 - 請求項2に記載のストリームデータ処理コンピュータであって、
前記判定演算部は、前記複数の静的再帰実行部が前記クエリの静的再帰実行を前記再帰数の回数行った後に新たな結果を生成しているか否かを判定し、
前記動的再帰実行部は、前記新たな結果が生成されていない場合、前記複数の静的再帰実行部の最後の静的再帰実行部の最後の結果からの動的再帰実行を、前記動的再帰の値と同じ再帰回数行うことによって、前記クエリの実行を続行する、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
クエリ解析部をさらに含み、
前記クエリ解析部は、実行ツリーにおいて、
前記クエリの静的再帰実行の前記再帰数と合致する数の静的再帰実行部を生成する、前記メモリにおける静的再帰クエリ生成部と、
前記判定演算部を生成する、前記メモリにおける判定演算部生成部と、
前記動的再帰実行部を生成する、前記メモリにおける動的再帰クエリ生成部と、を呼び出すストリームデータ処理コンピュータ。 - 請求項4に記載のストリームデータ処理コンピュータであって、
前記クエリ解析部は、前記入力ストリームに基づいて、かつ前記クエリを解析することによって、複数のストリームの入力タプルの集合を含む前記実行ツリーを作成し、
前記演算部は、複数のデータ列を切り出す時間間隔を指定して前記複数のストリームからそれぞれ複数のデータ列を切り出す複数のスライディングウィンドウ演算部を含み、
前記複数の静的再帰実行部は、前記複数のストリームのための前記複数のスライディングウィンドウ演算部の後ろに配置され、
前記判定演算部は、前記最後の静的再帰実行部の後ろに配置され、
前記動的再帰実行部は、前記判定演算部の後ろに配置される、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
前記動的再帰実行部は、前記最後の静的再帰実行部の前記最後の結果からの前記クエリの動的再帰実行を再帰数の回数行うか否かを、前記動的再帰の値と動的再帰実行の再帰した回数とに基づいて判定する再帰回数判定部を含む、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
前記予め設定された条件は、パス重みとパス数の少なくとも一方に関する条件である、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
前記クエリの静的再帰実行の前記再帰数と、前記動的再帰の値とは、予め定められている、ストリームデータ処理コンピュータ。 - 請求項1に記載のストリームデータ処理コンピュータであって、
当該ストリームデータ処理コンピュータの資源使用量を監視する資源使用量監視部と、
前記測定された資源使用量に基づいて、前記クエリの静的再帰実行の前記再帰数及び前記動的再帰の値の少なくとも一方を調節する、再帰数調節部と、をさらに含む、ストリームデータ処理コンピュータ。 - 請求項9に記載のストリームデータ処理コンピュータであって、
再帰数調節設定コマンドに基づいて再帰数調節定義テーブルを更新する、再帰数調節設定部をさらに含み、
前記資源使用量監視部は、前記再帰数調節定義テーブルに基づいて当該ストリームデータ処理コンピュータの資源使用量を監視し、
前記再帰数調節設定部は、前記監視されている資源使用量と前記再帰数調節定義テーブルとに基づいて、前記クエリの静的再帰実行の前記再帰数及び前記動的再帰の値の少なくとも一方を変更する、ストリームデータ処理コンピュータ。 - データプロセッサを制御してストリームデータ処理を行う複数の指示を格納しているコンピュータ読み取り可能非一時的記憶媒体であって、
前記ストリームデータ処理は、一時格納部を有するメモリを含むストリームデータ処理コンピュータにおいて、一次情報としてストリームデータ入力情報を受信し、前記受信した一次情報から予め定められた期間内の一次情報を取得することによって二次情報を生成し、
前記複数の指示は、
前記データプロセッサに、ストリームデータである入力ストリームを受信し、複数の静的再帰実行部と判定演算部と動的再帰実行部とを含む演算部の実行順序をクエリの実行のために管理し、ストリームデータである出力ストリームを出力させる指示と、
前記データプロセッサに、前記クエリを実行する際に生成されるデータを前記一時格納部に格納させる指示と、
前記複数の静的再帰実行部に、前記クエリの静的再帰実行を再帰数の回数行わせる指示と、
前記判定演算部に、前記クエリの静的再帰実行が前記再帰数の回数行われた後に、予め設定された条件が満たされているか否かを判定させる指示と、
前記動的再帰実行部に、前記予め設定された条件が満たされていない場合、動的再帰の値に基づいて、前記複数の静的再帰実行部の最後の静的再帰実行部の最後の結果からの動的再帰実行によって、前記クエリの実行を続行させる指示と、を含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記予め設定された条件は、前記複数の静的再帰実行部が前記クエリの静的再帰実行を前記再帰数の回数行った後に、新たな結果を生成している場合に満たされる、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項12に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記判定演算部に前記予め設定された条件が満たされているか否かを判定させる指示は、前記判定演算部に、前記複数の静的再帰実行部が前記クエリの静的再帰実行を前記再帰数の回数行った後に、新たな結果を生成しているか否かを判定させる指示を含み、
前記動的再帰実行部に前記クエリの実行を続行させる指示は、前記動的再帰実行部に、前記新たな結果が生成されていない場合、前記複数の静的再帰実行部の最後の静的再帰実行部の最後の結果からの動的再帰実行を、前記動的再帰の値と同じ再帰回数行うことによって、前記クエリの実行を続行させる、指示を含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記複数の指示は、
前記データプロセッサに、実行ツリー内に、前記クエリの静的再帰実行の前記再帰数と合致する数の静的再帰実行部を生成させる指示と、
前記データプロセッサに、前記実行ツリー内に前記判定演算部を生成させる指示と、
前記データプロセッサに、前記実行ツリー内に前記動的再帰実行部を生成させる指示と、をさらに含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項14に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記演算部は、複数のデータ列を切り出す時間間隔を指定して前記複数のストリームからそれぞれ複数のデータ列を切り出す複数のスライディングウィンドウ演算部を含み、
前記複数の指示は、
前記データプロセッサに、前記入力ストリームに基づいて、かつ前記クエリを解析することによって、複数のストリームの入力タプルの集合を含む前記実行ツリーを作成させる指示と、
前記データプロセッサに、前記複数の静的再帰実行部を、前記複数のストリームのための前記複数のスライディングウィンドウ演算部の後ろに配置させる指示と、
前記データプロセッサに、前記判定演算部を、前記最後の静的再帰実行部の後ろに配置させる指示と、
前記データプロセッサに、前記動的再帰実行部を、前記判定演算部の後ろに配置させる指示と、をさらに含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記動的再帰実行部に、前記所定条件が満たされていない場合に動的再帰実行によって前記クエリの実行を続行させる指示は、前記動的再帰実行部に、前記最後の静的再帰実行部の前記最後の結果からの前記クエリの動的再帰実行を再帰数の回数行うか否かを、前記動的再帰の値と動的再帰実行の再帰した回数とに基づいて判定させる指示を含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記予め設定されている条件は、パス重みとパス数の少なくとも一方に関する条件である、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記クエリの静的再帰実行の前記再帰数及び前記動的再帰の値は、予め定められている、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項11に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記複数の指示は、
前記データプロセッサに、前記ストリームデータ処理コンピュータの資源使用量を監視させる指示と、
前記データプロセッサに、前記監視されている資源使用量に基づいて、前記クエリの静的再帰実行の前記再帰数及び前記動的再帰の値の少なくとも一方を調節させる指示と、をさらに含む、コンピュータ読み取り可能非一時的記憶媒体。 - 請求項19に記載のコンピュータ読み取り可能非一時的記憶媒体であって、
前記複数の指示は、
前記データプロセッサに、再帰数調節設定コマンドに基づいて再帰数調節定義テーブルを更新させる指示と、
前記データプロセッサに、前記再帰数調節定義テーブルに基づいて前記ストリームデータ処理コンピュータの資源使用量を監視させる指示と、
前記データプロセッサに、前記監視されている資源使用量及び前記再帰数調節定義テーブルに基づいて、前記クエリの静的再帰実行の前記再帰数及び前記動的再帰の値の少なくとも一方を変更させる指示と、をさらに含む、コンピュータ読み取り可能非一時的記憶媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/721,373 | 2012-12-20 | ||
US13/721,373 US9400823B2 (en) | 2012-12-20 | 2012-12-20 | Stream data processing method on recursive query of graph data |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014123354A true JP2014123354A (ja) | 2014-07-03 |
JP2014123354A5 JP2014123354A5 (ja) | 2016-09-15 |
JP6190255B2 JP6190255B2 (ja) | 2017-08-30 |
Family
ID=50975923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013250965A Active JP6190255B2 (ja) | 2012-12-20 | 2013-12-04 | グラフデータの再帰クエリを用いたストリームデータ処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9400823B2 (ja) |
JP (1) | JP6190255B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6114473B2 (ja) * | 2013-06-21 | 2017-04-12 | 株式会社日立製作所 | 時間調整を使用したストリームデータ処理方法 |
US10042891B2 (en) | 2015-05-08 | 2018-08-07 | International Business Machines Corporation | Windowing across operators in a streaming environment |
US9853878B2 (en) * | 2015-06-09 | 2017-12-26 | International Business Machines Corporation | Limiting data output from windowing operations |
US10037356B2 (en) * | 2015-09-01 | 2018-07-31 | International Business Machines Corporation | Placement of services in stream computing applications |
US10642831B2 (en) | 2015-10-23 | 2020-05-05 | Oracle International Corporation | Static data caching for queries with a clause that requires multiple iterations to execute |
US10452655B2 (en) | 2015-10-23 | 2019-10-22 | Oracle International Corporation | In-memory cursor duration temp tables |
US10678792B2 (en) * | 2015-10-23 | 2020-06-09 | Oracle International Corporation | Parallel execution of queries with a recursive clause |
US10783142B2 (en) * | 2015-10-23 | 2020-09-22 | Oracle International Corporation | Efficient data retrieval in staged use of in-memory cursor duration temporary tables |
US9633078B1 (en) | 2016-09-30 | 2017-04-25 | Semmle Limited | Generating identifiers for tuples of recursively defined relations |
US9720961B1 (en) | 2016-09-30 | 2017-08-01 | Semmle Limited | Algebraic data types for database query languages |
US9661052B1 (en) | 2016-10-14 | 2017-05-23 | International Business Machines Corporation | Reconfiguring a streaming application to reduce latency mismatches |
JP7334260B2 (ja) * | 2019-03-21 | 2023-08-28 | グラブタクシー ホールディングス プライベート リミテッド | 複数のデータ構造を管理するための通信装置、通信方法、コンピュータプログラム、非一時的な記憶媒体および通信システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009266007A (ja) * | 2008-04-25 | 2009-11-12 | Hitachi Ltd | ストリームデータ処理方法及び計算機システム |
JP2010108152A (ja) * | 2008-10-29 | 2010-05-13 | Hitachi Ltd | ストリームデータ処理方法、及びそのシステム |
JP2010204880A (ja) * | 2009-03-03 | 2010-09-16 | Hitachi Ltd | ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495600A (en) | 1992-06-03 | 1996-02-27 | Xerox Corporation | Conversion of queries to monotonically increasing incremental form to continuously query a append only database |
US7481368B2 (en) * | 2004-12-14 | 2009-01-27 | Siemens Corporate Research, Inc. | Systems, devices, and methods for managing RFID data |
US8666928B2 (en) * | 2005-08-01 | 2014-03-04 | Evi Technologies Limited | Knowledge repository |
US8843481B1 (en) * | 2005-09-30 | 2014-09-23 | Yongyong Xu | System and method of forming action based virtual communities and related search mechanisms |
US8005818B2 (en) * | 2008-03-31 | 2011-08-23 | Business Objects, S.A. | Apparatus and method for maintaining metadata version awareness during set evaluation for OLAP hierarchies |
JP5154366B2 (ja) * | 2008-10-28 | 2013-02-27 | 株式会社日立製作所 | ストリームデータ処理プログラム及び計算機システム |
JP5337447B2 (ja) * | 2008-10-28 | 2013-11-06 | 株式会社日立製作所 | ストリームデータ処理方法、及びシステム |
JP4727715B2 (ja) * | 2008-12-12 | 2011-07-20 | 株式会社日立製作所 | ストリームデータ処理方法、及びシステム |
-
2012
- 2012-12-20 US US13/721,373 patent/US9400823B2/en not_active Expired - Fee Related
-
2013
- 2013-12-04 JP JP2013250965A patent/JP6190255B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009266007A (ja) * | 2008-04-25 | 2009-11-12 | Hitachi Ltd | ストリームデータ処理方法及び計算機システム |
JP2010108152A (ja) * | 2008-10-29 | 2010-05-13 | Hitachi Ltd | ストリームデータ処理方法、及びそのシステム |
JP2010204880A (ja) * | 2009-03-03 | 2010-09-16 | Hitachi Ltd | ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US9400823B2 (en) | 2016-07-26 |
US20140181144A1 (en) | 2014-06-26 |
JP6190255B2 (ja) | 2017-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6190255B2 (ja) | グラフデータの再帰クエリを用いたストリームデータ処理方法 | |
JP5906161B2 (ja) | シングルストリームの複数ウィンドウでのストリームデータ処理方法 | |
JP6793901B2 (ja) | 計測手段が組み込まれたソフトウェアから受信されるデータストリームのリアルタイム処理 | |
Jayalath et al. | From the cloud to the atmosphere: Running MapReduce across data centers | |
KR101719399B1 (ko) | 하둡에서의 개선된 sql-형 질의를 위한 백그라운드 포맷 최적화 | |
JP6250061B2 (ja) | イベント処理とマップリデュースとの統合 | |
US8396852B2 (en) | Evaluating execution plan changes after a wakeup threshold time | |
US8290939B2 (en) | Visualizing query results in stream processing systems | |
JP6114473B2 (ja) | 時間調整を使用したストリームデータ処理方法 | |
US20090037370A1 (en) | Distributed event processing | |
US11475006B2 (en) | Query and change propagation scheduling for heterogeneous database systems | |
US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
US8135666B2 (en) | Systems and methods for policy based execution of time critical data warehouse triggers | |
JP2009134689A (ja) | ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム | |
WO2017185576A1 (zh) | 一种多流流式数据的处理方法、系统、存储介质及设备 | |
US10466936B2 (en) | Scalable, multi-dimensional search for optimal configuration | |
US11514090B2 (en) | Comments-ordering method, apparatus, device and computer storage medium | |
WO2019120093A1 (en) | Cardinality estimation in databases | |
EP3172682B1 (en) | Distributing and processing streams over one or more networks for on-the-fly schema evolution | |
US20190213188A1 (en) | Distributed computing framework and distributed computing method | |
JP5472885B2 (ja) | プログラム、ストリームデータ処理方法及びストリームデータ処理計算機 | |
JP2014229110A (ja) | 検索装置、検索方法および検索プログラム | |
JP2018081603A (ja) | Kvデータ構造変換装置、kvデータ構造変換方法、および、kvデータ構造変換プログラム | |
Koevski | Advanced Sampling in Stream Processing Systems | |
JP6143938B2 (ja) | データ更新方法、及び、計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160728 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160728 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170406 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170613 |
|
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: 20170718 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170804 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6190255 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |