JP5395565B2 - ストリームデータ処理方法及び装置 - Google Patents
ストリームデータ処理方法及び装置 Download PDFInfo
- Publication number
- JP5395565B2 JP5395565B2 JP2009187137A JP2009187137A JP5395565B2 JP 5395565 B2 JP5395565 B2 JP 5395565B2 JP 2009187137 A JP2009187137 A JP 2009187137A JP 2009187137 A JP2009187137 A JP 2009187137A JP 5395565 B2 JP5395565 B2 JP 5395565B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- node
- nodes
- output
- 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.)
- Active
Links
Images
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)
Description
そして、最終的に出力ノード246、247が受信した計算データ243〜244、245をそれぞれデータ出力部248、249で、計算データに付加されたタイムスタンプに従って並び替え、それぞれ出力データ252、253を生成する。
まず、出力処理分割キーの要素である値式のとりうる値の数が、実行ノード数nよりも大きい場合には、データをn個の出力ノードに振り分ける方法を決定し、出力ノード参照テーブルを生成する。振り分け方法は、値式の大小や辞書順で一定の領域に区切って振り分ける方法や、mod(剰余演算)等のハッシュ関数で値式からハッシュ値を求め、ハッシュ値に従って振り分ける方法や、その他、データの偏りを考慮した振り分け方法など任意の方法で構わない。そして、オペレータ処理におけるデータの振り分け方も出力処理の振り分け方と同様の方法にし、実行ノード参照テーブルを生成する。また、同じ実行木をn個、生成する(704)。こうして、データをオペレータ処理した後、同じノードで続けて出力処理をするようにデータを振り分けることで、オペレータ処理及び出力処理の並列化によって高スループット化しつつ、オペレータ処理と出力処理の間におけるノード間通信を発生させず低レイテンシ化する。
最後に、生成された実行木と出力ノード参照テーブル、実行ノード参照テーブルを各ノードに転送する(706)。
さらに、出力処理を2個(実行ノード数)のノードに振分けることが可能であったので(703の動作)、オペレータ処理のデータの振分け方法を、出力処理のデータの振り分け方法と同様にし、実行ノード参照テーブルを生成する。また、2個(実行ノード数)の実行木(808)を生成する(705の動作)。
本実施例では、出力ノードが複数存在するため、出力クライアントが取得するデータが出力されるノードをあらかじめ把握できない。したがって、以下の動作をストリームデータ処理システムに追加する。
次に、出力処理分割キーを算出する。まず、OrderPartitionByキーが、Order Partition By構文より{(int)x/300}(1705)と求まる(601の動作)。そして、オペレータ処理分割キー{(int)x/100}とOrderPartitionByキー{(int)x/300}は、ともに入力ストリームのカラムxを含む値式(int)x/100、(int)x/300を要素に持ち、かつ、共にx/n(nは整数)の形式を取るので、100と300の最小公倍数をとることにより出力処理の分割キーは{(int)x/300}(1706)と算出される(604、605の動作)。
109…出力ノード参照テーブル格納領域
110…実行ノード参照テーブル格納領域
115…ストリームデータ処理エンジン(実行部)
117…実行木格納領域
120…ストリームデータ処理エンジン(出力部)
127…ネットワーク
130、131、132…CPU
133、134、135…ストレージ
136、137、138…I/Oインタフェース
139、140、141、150、151 メモリ
201…入力クライアント
202…入力データ
203…順序保証グループ指定ユーザ定義クエリ
204…出力クライアント
205…クライアント名、出力レコード名
207…メインノード
208…クエリ登録部
209…クエリ並列化部
211…出力ノード参照テーブル
260…実行ノード参照テーブル
212…データ入力部
213…出力ノード管理部
216…ストリームデータ処理サーバ
234、235、236…実行ノード
246、247…出力ノード
237、238、239…実行木
240、241、242…クエリ実行部
243、244、245…計算データ
248、249…データ出力部
250、251…クライアント名、出力レコード名
252、253…出力データ
260…力データ送信部
261…出力データ受信部
1901、1902、2001…出力時刻調整部
2601…タイムスタンプ付加ノード参照テーブル
2602…タイムスタンプ付加ノード管理部
2603、2604…タイムスタンプ付加ノード
2605、2606…タイムスタンプ付加部。
Claims (14)
- 複数のノードにより、入力されるデータに対する処理を行うストリームデータ処理方法であって、
第一のノードでクエリの登録を行い、第二のノードの集合でタイムスタンプが付加されたデータをオペレータ処理し、第三のノードの集合でオペレータ処理されたデータを前記タイムスタンプに従って並び替えて出力し、
前記第一のノードは、登録した前記クエリから、入力された順序を同じグループのデータで保証するというグループが示された第一の値式の集合を抽出し、オペレータ処理を複数の前記第二のノードでデータごとに分割する方法を示す第二の値式の集合を算出し、
前記第一及び第二の値式の集合から、出力処理を複数の前記第三のノードにデータを分けて行う方法が示された第三の値式の集合を算出し、前記第三の値式の集合から前記第三のノードの集合にデータの振分ける方法を決定し、
前記第三のノードの集合における振分け方法と前記第一の値式の集合から、同じ前記第二のノードで処理されたデータが同じ前記第三のノードで処理されるようにデータを振り分ける方法を決定する、
ことを特徴とするストリームデータ処理方法。 - 請求項1記載のストリームデータ処理方法であって、
前記第一及び第二の値式の集合における要素として共に任意の値式Fがある場合に、前記値式Fを第三の値式の集合における要素とする、
ことを特徴とするストリームデータ処理方法。 - 請求項1記載のストリームデータ処理方法であって、
第一の値式の集合の要素である任意の値式F、第二の値式の集合の要素である任意の値式Gに対して、Fの値が同じストリームデータは必ずGの値が同一になることが示されている場合に、第三の値式の集合における要素をGとする、
ことを特徴とするストリームデータ処理方法。 - 請求項1記載のストリームデータ処理方法であって、
前記第三の値式の集合と、前記第二のノードの数、前記第三のノードの数、ストリームデータに関する情報から、第三のノードの集合にデータを振分ける方法を決定し、
前記第三のノードの集合における振分け方法と前記第一の値式の集合、前記第二のノードの数、ストリームデータに関する情報から、第二のノードの集合のデータの振り分け方を、第三のノードの集合の振分け方と同様の方法または、第三のノードの集合より多くのノードにデータを振り分ける方法を解析し決定する、
ことを特徴とするストリームデータ処理方法。 - 請求項1に記載のストリームデータ処理方法であって、
前記第一のノードまたはクライアントのノードは、前記第三のノードの集合のデータの振分け方法に関する情報を参照し、前記第三のノードの集合を検索し、前記第三のノードの集合にデータとクライアントに関する情報を送り、
前記第三のノードの集合は、データと前記クライアントの情報に基づいて出力データを前記クライアントに転送する、
ことを特徴とするストリームデータ処理方法。 - 請求項1に記載のストリームデータ処理方法であって、
前記第一のノードは、クライアントから、出力するデータ間で許容する入力された順序の時刻ずれ幅が示された場合に、異なる前記第三のノードの集合から出力されるデータに対して、前記第二のノードの集合または前記第三のノードの集合は、前記第三のノードの集合から出力されるデータのタイムスタンプ値及び許容する時刻ずれ幅を用いて出力時刻を調整し、入力されたデータの順序のずれを示された範囲に抑制する、
ことを特徴とするストリームデータ処理方法。 - 請求項1記載のストリームデータ処理方法であって、
前記第一ノードは、複数のタイムスタンプ付加ノードを有し、同じ前記第三ノードで処理をするデータは必ず同じ前記タイムスタンプ付加ノードでタイムスタンプ付加処理をするように、複数の前記タイムスタンプ付加ノードにデータを振分ける、
ことを特徴とするストリームデータ処理方法。 - 複数のノードにより、入力されるデータに対する処理を行うストリームデータ処理装置であって、
第一のノードでクエリの登録を行い、第二のノードの集合でタイムスタンプが付加されたデータをオペレータ処理し、第三のノードの集合でオペレータ処理されたデータを前記タイムスタンプに従って並び替えて出力し、
前記第一のノードは、登録した前記クエリから、入力された順序を同じグループのデータで保証するというグループが示された第一の値式の集合を抽出し、オペレータ処理を複数の前記第二のノードでデータごとに分割する方法を示す第二の値式の集合を算出し、
前記第一及び第二の値式の集合から、出力処理を複数の前記第三のノードにデータを分けて行う方法が示された第三の値式の集合を算出し、前記第三の値式の集合から前記第三のノードの集合にデータの振分ける方法を示す第一のテーブルを生成し、
前記第三のノードの集合における振分け方法と前記第一の値式の集合から、同じ前記第二のノードで処理されたデータが同じ前記第三のノードで処理されるようにデータを振り分ける方法を示す第二のテーブルを生成する、
ことを特徴とするストリームデータ処理装置。 - 請求項8記載のストリームデータ処理装置であって、
前記第一及び第二の値式の集合における要素として共に任意の値式Fがある場合に、前記値式Fを第三の値式の集合における要素とする、
ことを特徴とするストリームデータ処理装置。 - 請求項8記載のストリームデータ処理装置であって、
第一の値式の集合の要素である任意の値式F、第二の値式の集合の要素である任意の値式Gに対して、Fの値が同じストリームデータは必ずGの値が同一になることが示されている場合に、第三の値式の集合における要素をGとする、
ことを特徴とするストリームデータ処理装置。 - 請求項8記載のストリームデータ処理装置であって、
前記第三の値式の集合と、前記第二のノードの数、前記第三のノードの数、ストリームデータに関する情報から、第三のノードの集合にデータを振分ける方法を示す前記第一のテーブルを生成し、
前記第三のノードの集合における振分け方法と前記第一の値式の集合、前記第二のノードの数、ストリームデータに関する情報から、第二のノードの集合のデータの振り分け方を、第三のノードの集合の振分け方と同様の方法または、第三のノードの集合より多くのノードにデータを振り分ける方法とし、
第二のノードの集合のデータの振り分け方法を示す前記第二のテーブルを生成する、
ことを特徴とするストリームデータ処理装置。 - 請求項8記載のストリームデータ処理装置であって、
前記第一のノードまたはクライアントのノードは、前記第一のテーブルから前記第三のノードの集合を検索し、前記第三のノードの集合にデータと前記クライアントに関する情報を送り、
前記第三のノードの集合は、取得した前記クライアントの情報に基づいてデータを前記クライアントに転送する、
ことを特徴とするストリームデータ処理装置。 - 請求項11に記載のストリームデータ処理装置であって、
前記第一のノードは、クライアントから、出力するデータ間で許容する入力された順序の時刻ずれ幅が示された場合に、異なる前記第三のノードの集合から出力されるデータに対して、前記第二のノードの集合または前記第三のノードの集合は、前記第三のノードの集合から出力されるデータのタイムスタンプ値及び許容する時刻ずれ幅を用いて出力時刻を調整し、入力されたデータの順序のずれを示された範囲に抑制する
ことを特徴とするストリームデータ処理装置。 - 請求項8記載のストリームデータ処理装置であって、
前記第一ノードは、複数のタイムスタンプ付加ノードを有し、同じ前記第三ノードで処理をするデータは必ず同じ前記タイムスタンプ付加ノードでタイムスタンプ付加処理をするように、複数の前記タイムスタンプ付加ノードにデータを振分ける方法を示すテーブルを生成する、
ことを特徴とするストリームデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009187137A JP5395565B2 (ja) | 2009-08-12 | 2009-08-12 | ストリームデータ処理方法及び装置 |
US12/709,412 US8176196B2 (en) | 2009-08-12 | 2010-02-19 | Stream data processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009187137A JP5395565B2 (ja) | 2009-08-12 | 2009-08-12 | ストリームデータ処理方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011039820A JP2011039820A (ja) | 2011-02-24 |
JP5395565B2 true JP5395565B2 (ja) | 2014-01-22 |
Family
ID=43589236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009187137A Active JP5395565B2 (ja) | 2009-08-12 | 2009-08-12 | ストリームデータ処理方法及び装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8176196B2 (ja) |
JP (1) | JP5395565B2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8745037B2 (en) * | 2009-12-17 | 2014-06-03 | Microsoft Corporation | Exploiting partitioning, grouping, and sorting in query optimization |
US8326821B2 (en) * | 2010-08-25 | 2012-12-04 | International Business Machines Corporation | Transforming relational queries into stream processing |
US8732660B2 (en) * | 2011-02-02 | 2014-05-20 | Novell, Inc. | User input auto-completion |
JP5821578B2 (ja) * | 2011-11-30 | 2015-11-24 | 富士通株式会社 | サーバ装置、データ順序保証プログラム、およびデータ順序保証方法 |
US9262479B2 (en) | 2012-09-28 | 2016-02-16 | Oracle International Corporation | Join operations for continuous queries over archived views |
US9158795B2 (en) * | 2012-09-28 | 2015-10-13 | International Business Machines Corporation | Compile-time grouping of tuples in a streaming application |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
US9497250B2 (en) | 2012-10-29 | 2016-11-15 | International Business Machines Corporation | Runtime grouping of tuples in a streaming application |
US10956422B2 (en) | 2012-12-05 | 2021-03-23 | Oracle International Corporation | Integrating event processing with map-reduce |
US10298444B2 (en) | 2013-01-15 | 2019-05-21 | Oracle International Corporation | Variable duration windows on continuous data streams |
US10223431B2 (en) * | 2013-01-31 | 2019-03-05 | Facebook, Inc. | Data stream splitting for low-latency data access |
US9390135B2 (en) * | 2013-02-19 | 2016-07-12 | Oracle International Corporation | Executing continuous event processing (CEP) queries in parallel |
JP6428603B2 (ja) * | 2013-04-01 | 2018-11-28 | 日本電気株式会社 | 情報処理装置、情報処理方法およびプログラム |
WO2014188500A1 (ja) * | 2013-05-20 | 2014-11-27 | 富士通株式会社 | データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム |
CN104462121B (zh) * | 2013-09-18 | 2019-04-30 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置及系统 |
US9372907B2 (en) * | 2013-11-26 | 2016-06-21 | Sap Se | Table placement in distributed databases |
US9830346B2 (en) * | 2013-11-26 | 2017-11-28 | Sap Se | Table redistribution in distributed databases |
CN107729147B (zh) * | 2014-03-06 | 2021-09-21 | 华为技术有限公司 | 流计算系统中的数据处理方法、控制节点及流计算系统 |
US9325766B2 (en) | 2014-03-27 | 2016-04-26 | International Business Machines Corporation | Deploying a portion of a streaming application to one or more virtual machines |
US9244978B2 (en) * | 2014-06-11 | 2016-01-26 | Oracle International Corporation | Custom partitioning of a data stream |
US10120907B2 (en) | 2014-09-24 | 2018-11-06 | Oracle International Corporation | Scaling event processing using distributed flows and map-reduce operations |
JP6442951B2 (ja) * | 2014-09-25 | 2018-12-26 | 富士通株式会社 | データ処理方法、データ処理プログラム及びデータ処理装置 |
CN104504143B (zh) * | 2015-01-04 | 2017-12-29 | 华为技术有限公司 | 一种流图优化方法及其装置 |
US9858124B1 (en) | 2015-10-05 | 2018-01-02 | Amazon Technologies, Inc. | Dynamic management of data stream processing |
WO2017104072A1 (ja) * | 2015-12-18 | 2017-06-22 | 株式会社日立製作所 | ストリームデータの分散処理方法、ストリームデータの分散処理システム及び記憶媒体 |
JP6505944B2 (ja) * | 2016-03-28 | 2019-04-24 | 株式会社日立製作所 | 計算機システム及びストリームデータ処理システムの設定方法 |
US10713255B2 (en) * | 2016-06-24 | 2020-07-14 | Teradata Us, Inc. | Spool file for optimizing hash join operations in a relational database system |
CN107678790B (zh) | 2016-07-29 | 2020-05-08 | 华为技术有限公司 | 流计算方法、装置及系统 |
CN109716322B (zh) | 2016-09-15 | 2023-03-21 | 甲骨文国际公司 | 用于微批次流传输的复杂事件处理 |
CN109690525B (zh) * | 2016-09-15 | 2023-05-30 | 甲骨文国际公司 | 形状的流数据的自动分区 |
US11977549B2 (en) | 2016-09-15 | 2024-05-07 | Oracle International Corporation | Clustering event processing engines |
US10949427B2 (en) * | 2017-01-31 | 2021-03-16 | Microsoft Technology Licensing, Llc | Stream data processing on multiple application timelines |
WO2018169429A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Framework for the deployment of event-based applications |
WO2018169430A1 (en) | 2017-03-17 | 2018-09-20 | Oracle International Corporation | Integrating logic in micro batch based event processing systems |
US11478933B2 (en) * | 2019-06-10 | 2022-10-25 | Hitachi, Ltd. | Equipment status estimation method and system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167098A (ja) * | 1999-12-07 | 2001-06-22 | Hitachi Ltd | 大量データの分散並列分析方法 |
WO2002093828A2 (en) * | 2001-05-17 | 2002-11-21 | Solidum Systems Corporation | Distributed packet processing system with internal load distribution |
JP4021287B2 (ja) * | 2002-09-09 | 2007-12-12 | 日立ソフトウエアエンジニアリング株式会社 | データベース検索プログラム、データベース検索方法及びデータベース検索装置 |
AU2003270828A1 (en) * | 2002-09-18 | 2004-04-08 | Netezza Corporation | Asymmetric data streaming architecture having autonomous and asynchronous job processing unit |
JP4687253B2 (ja) * | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | ストリームデータ処理システムのクエリ処理方法 |
US7487206B2 (en) * | 2005-07-15 | 2009-02-03 | International Business Machines Corporation | Method for providing load diffusion in data stream correlations |
US7548937B2 (en) * | 2006-05-04 | 2009-06-16 | International Business Machines Corporation | System and method for scalable processing of multi-way data stream correlations |
US8321579B2 (en) * | 2007-07-26 | 2012-11-27 | International Business Machines Corporation | System and method for analyzing streams and counting stream items on multi-core processors |
JP5377897B2 (ja) * | 2007-10-29 | 2013-12-25 | 株式会社日立製作所 | ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム |
US8788928B2 (en) * | 2009-07-15 | 2014-07-22 | Clandscale, Inc. | System and methodology for development of stream processing applications utilizing spreadsheet interface |
-
2009
- 2009-08-12 JP JP2009187137A patent/JP5395565B2/ja active Active
-
2010
- 2010-02-19 US US12/709,412 patent/US8176196B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011039820A (ja) | 2011-02-24 |
US8176196B2 (en) | 2012-05-08 |
US20110040827A1 (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5395565B2 (ja) | ストリームデータ処理方法及び装置 | |
JP5377897B2 (ja) | ストリームデータのランキングクエリ処理方法およびランキングクエリ処理機構を有するストリームデータ処理システム | |
US10217256B2 (en) | Visually exploring and analyzing event streams | |
US8335782B2 (en) | Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism | |
JP5337447B2 (ja) | ストリームデータ処理方法、及びシステム | |
US7644110B2 (en) | Stream data processing system and stream data processing method | |
JP4687253B2 (ja) | ストリームデータ処理システムのクエリ処理方法 | |
Zhang et al. | Sub-millisecond stateful stream querying over fast-evolving linked data | |
JP5480395B2 (ja) | ストリームデータ処理方法及び装置 | |
US20100293135A1 (en) | Highconcurrency query operator and method | |
JP6281225B2 (ja) | 情報処理装置 | |
US9274863B1 (en) | Latency reduction in distributed computing systems | |
EP3499388B1 (en) | Method and device for processing join query | |
Zygouras et al. | Insights on a scalable and dynamic traffic management system. | |
US11321302B2 (en) | Computer system and database management method | |
JP2004280528A (ja) | データベースシステム、サーバ、問い合わせ投入方法及びデータ更新方法 | |
JP2014194772A (ja) | グラフデータベースクエリ処理方法及び装置 | |
JP2012108635A (ja) | 分散メモリデータベースシステム、フロントデータベースサーバ、データ処理方法およびプログラム | |
US8880504B2 (en) | Tag management device, system and recording medium | |
JP5858307B2 (ja) | データベース管理システム、計算機、データベース管理方法 | |
US20140258216A1 (en) | Management of searches in a database system | |
CN117806929A (zh) | MySQL慢日志采集分析方法、系统、设备及存储介质 | |
US10019472B2 (en) | System and method for querying a distributed dwarf cube | |
CN115599790A (zh) | 一种数据存储系统、数据处理方法、电子设备和存储介质 | |
JP2006350741A (ja) | データベース管理装置、分散データベース管理システム、分散データベース管理方法および分散データベース管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120323 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130902 |
|
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: 20130924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131018 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5395565 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |