JP4687253B2 - ストリームデータ処理システムのクエリ処理方法 - Google Patents

ストリームデータ処理システムのクエリ処理方法 Download PDF

Info

Publication number
JP4687253B2
JP4687253B2 JP2005163440A JP2005163440A JP4687253B2 JP 4687253 B2 JP4687253 B2 JP 4687253B2 JP 2005163440 A JP2005163440 A JP 2005163440A JP 2005163440 A JP2005163440 A JP 2005163440A JP 4687253 B2 JP4687253 B2 JP 4687253B2
Authority
JP
Japan
Prior art keywords
query
stream
data processing
stream data
archive
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.)
Expired - Fee Related
Application number
JP2005163440A
Other languages
English (en)
Other versions
JP2006338432A (ja
JP2006338432A5 (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005163440A priority Critical patent/JP4687253B2/ja
Priority to US11/195,664 priority patent/US7403959B2/en
Publication of JP2006338432A publication Critical patent/JP2006338432A/ja
Publication of JP2006338432A5 publication Critical patent/JP2006338432A5/ja
Priority to US12/213,042 priority patent/US7958108B2/en
Application granted granted Critical
Publication of JP4687253B2 publication Critical patent/JP4687253B2/ja
Expired - Fee Related 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
    • G06F16/24568Data stream processing; Continuous queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

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

本発明は、リアルタイムストリームデータとアーカイブデータに対するシームレスなアクセスが可能なストリームデータ処理システムの構成方法、該ストリームデータ処理システムにおけるリアルタイムデータとアーカイブデータのシームレスなアクセス方法、および複数の該ストリームデータ処理システムの連携によるストリームデータの処理方法に関する。
ストレージに格納されたデータに対する処理を実行するデータベース管理システム(以下、DBMSとする)に対して、時々刻々と到着するデータをリアルタイム処理するデータ処理システムに対する要求が高まっている。例えば、株式の売買を行うシステムでは、株価の変動にいかに迅速に反応できるかがシステムの最重要の課題の一つであり、従来のDBMSのように株式のデータを一旦記憶装置に格納してから、該格納データに関して検索を行うような方法では、株価変動のスピードに即応できず、ビジネスチャンスを逃してしまうことになりかねない。米国出願5495600(特許文献1)では、記憶されているクエリが周期的に実行される機構を開示しているが、株価のようにデータが入ってきた瞬間にクエリを実行することが重要なリアルタイムデータ処理には適用が困難であった。
このようなリアルタイムデータ処理に好適なデータ処理システムとして、ストリームデータ処理システムが提案されている。例えばR. Motwani, J. Widom, A. Arasu, B. Babcock, S. Babu, M. Datar, G. Manku, C. Olston, J. Rosenstein, and R. Varma著:“Query Processing, Resource Management, and Approximation in a Data Stream Management System”,In Proc. of the 2003 Conf. on Innovative Data Systems Research (CIDR), January 2003 (非特許文献1)に開示されているストリームデータ処理システムSTREAMが開示されている。
ストリームデータ処理システムでは、従来のDBMSとは異なり、まずクエリ(問合せ)をシステムに登録し、データの到来と共に該クエリが継続的に実行される。前記STREAMでは、ストリームデータを効率的に処理するために、ストリームデータの一部を切り取るスライディングウィンドウと呼ばれる概念を導入している。スライディングウィンドウ指定を含むクエリの記述言語の好適な例としては非特許文献1に開示されているCQL(Continuous Query Language)をあげることができる。CQLは、DBMSで広く用いられているSQL(Structured Query Language)のFROM句に、ストリーム名に続いて括弧を用いることにより、スライディングウィンドウを指定する拡張が施されている。SQLに関しては、C. J. Date, Hugh Darwen著:“A Guide to SQL Standard (4th Edition)”,Addison−Wesley Professional; 4 edition (November 8, 1996),ISBN: 0201964260(非特許文献2)が詳しい。図14は非特許文献1の2.1節に示されているCQLによるクエリの例である。該クエリでは、ドメインstanford.eduからの過去1日分のアクセスの総数を計算する。Requestは従来のDBMSで取り扱うテーブル(表)ではなく、終わりのないストリームであるので、スライディングウィンドウ指定[Range 1 Day Preceding]なしでは、その総数を数えることはできない。スライディングウィンドウによって切り取られたストリームデータはメモリ上に保持され、クエリ処理に使用される。
ストリームデータ処理システムは、ファイナンシャルアプリケーション、交通情報システム、計算機システム管理に代表される、リアルタイム処理が必要とされる応用に対する適用が期待されている。しかしながら、従来のストリームデータ処理システムでは、(1)負荷の増大、もしくは障害によってストリーム処理システムのクエリ処理が遅延、もしくは停止してしまった際に、ストリームデータが失われてしまう、(2)クエリで指定されたウィンドウの大きさに対して利用可能なメモリが不足している場合にはストリームデータ処理が実行できない、(3)登録していたクエリよりも、さらに時間をさかのぼって検索範囲を拡大することができない、さらに、(4)ストリームデータ処理システムの能力を上回る量のストリームデータが到来した場合、もしくはデータ処理が必要となった場合に業務に必要な性能を保つことができないという問題があり、実業務への適用が困難であった。
米国特許第5495600号公報
R. Motwani, J. Widom, A. Arasu, B. Babcock, S. Babu, M. Datar, G. Manku, C. Olston, J. Rosenstein, and R. Varma著:"Query Processing, Resource Management, and Approximation in a Data Stream Management System",In Proc. of the 2003 Conf. on Innovative Data Systems Research (CIDR), January 2003 C. J. Date, Hugh Darwen著:"A Guide to SQL Standard (4th Edition)",Addison−Wesley Professional; 4 edition (November 8, 1996),ISBN: 0201964260 Stratis Viglas,Jeffrey F. Naughton,Josef Burger著:"Maximizing the Output Rate of Multi−Way Join Queries over Streaming Information Sources",In Proc. of VLDB 2003,pp.285−296 Jeffrey D.Ullman著,"PRINCIPLES OF DATABASE AND KNOWLEDGE−BASE SYSTEMS",VOLUME II,COMPUTER SCIENCE PRESS,ISBN 0−7167−8162−X,第14章"Optimization for Conjunctive Queries" Stratis Viglas,Jeffrey F. Naughton著:"Rate−based query optimization for streaming information sources",In Proc. of SIGMOD Conference 2002,pp. 37−48
実業務への適用可能なストリームデータ処理システムを提供するために、(1)負荷の増大、もしくは障害によってストリーム処理システムのクエリ処理が遅延、もしくは停止してしまった際にもストリームデータを保護することが課題となっていた。また、(2)クエリで指定されたウィンドウの大きさに対して利用可能なメモリが不足している場合にもストリームデータ処理を実行することも課題となっていた。さらに、(3)登録していたクエリよりも、さらに時間をさかのぼって検索範囲を拡大できることも課題となっており、最後に(4)ストリームデータ処理システムの能力を上回る量のストリームデータが到来した場合、もしくはデータ処理が必要となった場合にも業務に必要な性能を保つ機構を提供することが課題となっていた。
本発明の第1の目的は、負荷の増大、もしくは障害によってストリーム処理システムのクエリ処理が遅延、もしくは停止してしまった際にもストリームデータを保護する機構を提供することである。また、本発明の第2の目的は、クエリで指定されたウィンドウの大きさに対して利用可能なメモリが不足している場合にもストリームデータ処理を実行する機構を提供することである。さらに、本発明の第3の目的は、登録していたクエリよりも、さらに時間をさかのぼって検索範囲を拡大できる機構を提供することである。最後に、本発明の第4の目的は、ストリームデータ処理システムの能力を上回る量のストリームデータが到来した場合、もしくはデータ処理が必要となった場合にも業務に必要な性能を保つ機構を提供することである。
前記第1の目的を達成するため、本発明では必要に応じてストリームデータの一部、もしくは全部を複製し、不揮発性の記憶媒体にアーカイブする機構を設ける。次に、第2の目的を達成するため、本発明ではユーザ、もしくはアプリケーションによってシステムに登録されたクエリのうち、メモリ不足で実行不可能なクエリをメモリ上で実行できるクエリと、前記アーカイブされたデータに対して実行するクエリに書き換え、メモリ上のストリームデータに対して前記書き換え後のクエリを実行した結果と、前記アーカイブデータに対して実行した前記書き換え後のクエリを実行した結果とを統合して、ユーザ、もしくはアプリケーションに結果を返す機構を提供する。さらに、第3の目的を達成するために、本発明ではメモリ上に存在しないストリームデータに対する問合せをアーカイブされたデータに対して実行するとともに、新たに登録されたクエリに利用可能なメモリを徐々に割り当ててクエリ処理を可能とする機構を提供する。最後に、第4の目的を達成するために、本発明では複数のストリームデータ処理システムを連携させ、クエリ処理の性能を向上させる機構を提供する。
本発明を用いることにより、高信頼・高可用のリアルタイムデータ処理が可能なストリームデータ処理システムが実現できる。
図1に、本発明の実施例のストリームデータ処理システム、及び関連するシステムの構成を示す。アプリケーション1(102)を実行するクライアント計算機101、アプリケーション2(104)を実行するクライアント計算機103は、ネットワーク107を介してストリームデータ処理システム115に接続されている。ネットワーク107は、イーサネット(登録商標)、光ファイバ、FDDIで接続されるローカルエリアネットワーク(LAN)、もしくはLANよりも低速なインターネットを含んだワイドエリアネットワーク(WAN)でも差し支えない。また、クライアント計算機は(株)日立製作所のHitachi FLORA(登録商標)などのパーソナルコンピュータ、(株)日立製作所のHitachi UNIX(登録商標)ワークステーション9000V B2600などの任意のコンピュータシステムでよい。
アプリケーションは、ストリームデータ処理システムに対してまずクエリ105を登録する。クエリ登録の手順、ストリームデータ処理システム内部のデータの格納方法、格納形式の好適な例を図1、図2、および図3を用いて説明する。クライアント計算機103のアプリケーション2(104)は、図2に示すクエリ登録コマンド201を用いて、クエリQ1(201)をストリームデータ処理システム115内のコマンドマネージャ108に送信する。コマンドマネージャ108は受け付けたコマンドを解析し、クエリ登録コマンド201中のクエリ部分(201の2行目から4行目)をクエリ解析部109に送る。クエリ解析部109で解析されたクエリは、続いてクエリ最適化部110に送られる。クエリ最適化部110では効率のよい実行方式を選択する最適化処理を受け、クエリ生成部111で該最適化処理の結果に基づいてクエリの実行方式を生成する。クエリQ1(201)のような宣言形式のクエリから、その実行形式を生成する方法に関しては、非特許文献1の第3節にその方法が開示されている。実行形式に変換されたクエリはクエリリポジトリ112に格納される。
図2の201はクエリQ1をストリームデータ処理システムに登録する際の好適なコマンドの記述例である。Q1は過去2週間分の欠陥品データ(defect_listストリーム)を作業工程にある過去2時間分の部品データ(partsストリーム)に付きあわせ、部品ID(parts.id)、部品製造者名(parts.manufacturer)、部品ロット番号(pats.lotno)を抜き出すクエリであり(201の2行目から4行目)、該クエリの実行開始時刻が日本標準時間の2004年9月8日午前9時0分0秒であること(201の5行目)、同終了時刻が日本標準時間の2004年9月10日午前5時0分0秒であること(201の6行目)を示している。
本クエリQ1は、クエリリポジトリ(図1の112)中のクエリ管理テーブルに格納される。クエリ管理テーブルの構成を図3に示す。「クエリ名」カラム301には、登録したクエリの名前を格納する。次に「クエリ」カラム302には、前述のスライディングウィンドウ指定を含むクエリを格納する。クエリ記述言語は、前述のCQLで差し支えない。次に、「クエリ実行形式格納先」カラム303には、前述したクエリ解析部109、クエリ最適化部110、およびクエリ生成部111によって生成されたクエリの実行形式の格納先のアドレス(ポインタ)が格納される。実行形式をあらかじめ作成しておくことにより、クエリの実行のたびにコンパイルを行うオーバヘッドを削減することができる。「登録者」カラム304、「登録日時」カラム305にはそれぞれ、クエリの登録者、クエリの登録日時が格納され、システムのアクセス管理、セキュリティ管理に使用される。次に「実行開始時刻」カラム306、「実行終了時刻」カラム307にはそれぞれ登録クエリの実行開始時刻と実行終了時刻が格納される。本情報を利用することにより、システムは複数のクエリに効率的に計算機資源を配分することができる。
最後に、「実行対象ストリーム」カラム308にはクエリ実行対象となるストリーム名が格納される。図2の202は、登録されたクエリのシステムからの削除するコマンドの記述例を示す。このコマンドを実行するとクエリ管理テーブルよりクエリ名Q1のエントリが削除される。
次に、本実施例のストリームデータ処理システムへのストリームの登録方法、およびシステム内のデータ保持方法を図1、図4、および図5を用いて説明する。クライアント計算機103上で稼動するアプリケーション2(104)は、図4に示すストリーム登録コマンドを用いてストリーム定義の指示をストリームデータ処理システム115に対して発行する。コマンドを受け付けたコマンドマネージャ108はコマンドを解析し、システムディクショナリ118を参照して指定されたストリーム定義のスキーマをチェックし、そのストリーム定義を図5に示すストリーム管理テーブルに登録する。ストリーム管理テーブルはシステムディクショナリ118内に保管される。
以下、図4に例示するストリーム登録コマンドのうちpartsストリームのストリーム登録コマンド401、および該当する図5のストリーム管理テーブルのエントリを示しながらストリームの登録方法を具体的に説明する。partsストリームは、integer型のid属性、char(32)型のmanufacturer属性、integer型のlotno属性、そしてdate型のgendate属性からなる(401の2行目、および3行目)。ストリーム名と該ストリームを構成する属性情報はそれぞれ、ストリーム管理テーブルの「ストリーム名」カラム501、および「ストリーム定義」カラム502に格納される。ストリーム定義コマンド401の4行目は、partsストリームの送信元がnishizawa_parts.comであることを、5行目はその送信プロトコルがSOAP/HTTPであることを、6行目は通信ポートとして8080用いていることを、7行目はpartsストリームの受付開始時刻が日本標準時間の2004年9月8日午前9時0分0秒であることを、そして8行目はpartsストリームの受付終了時刻が日本標準時間の2004年9月10日午後5時0分0秒であることを示している。これらの情報は、それぞれストリーム管理テーブルの「ストリーム名」カラム501、「ストリーム定義」カラム502、「ストリームデータソース」カラム503、「プロトコル」カラム504、「ポート」カラム505、「ストリーム受付開始時間」カラム506、そして「ストリーム受付終了時間」カラム507)に格納される。さらにストリーム管理テーブルでは、ストリーム登録者とその登録日時がそれぞれ、「登録者」(508)、および「登録日時」カラム(509)に格納される。
次に、本願のストリームデータ処理システムにおけるアーカイブ機構を図1、図6、および図7を用いて説明する。クライアント計算機103のアプリケーション2(104)は、図6に示すarchive streamコマンドを用いてストリームのアーカイブの指示をストリームデータ処理システム115に対して発行する(125)。コマンドを受け付けたコマンドマネージャ108はコマンドを解析し、図7に示すアーカイブ管理テーブルに登録する。アーカイブ管理テーブルはストリーム管理テーブルと同じく、システムディクショナリ118内に保管される。
図6に示すarchive streamコマンドの詳細、および該コマンドのシステム登録方法を図6のpartsストリームのアーカイブ定義コマンド(アーカイブ指定)601、および該当する図7のアーカイブ管理テーブルのエントリを示しながら具体的に説明する。アーカイブ指定601の1行目は、アーカイブがpartsストリームを構成する属性中のid、manufacturer、lotno、gendateを対象に実行されることを示している。アーカイブに含まれる属性は、図7のアーカイブ管理テーブルの「アーカイブ対象属性」カラム702に格納される。次にアーカイブ指定601の2行目は、本アーカイブ名がparts_archivedであり、アーカイブデータの格納先がRAID_01であることを示している。これらはそれぞれ、アーカイブ管理テーブルの「アーカイブ名」カラム703、および「アーカイブ先ストレージ」カラム706に格納される。アーカイブ指定601の3行目、および4行目はそれぞれ、本アーカイブの開始時刻と終了時刻を示しており、これらはアーカイブ管理テーブルの「アーカイブ開始時刻」カラム704、および「アーカイブ終了時刻」カラム705に格納される。アーカイブ指定601の5行目はアーカイブ実行時に属性idに対してサンプリングを行うことを、そして6行目はサンプリングの方法がランダムサンプリングであり、サンプリングレートが10%であることを示している。サンプリングの可否、サンプリング対象属性、サンプリング方法、そしてサンプリングレートはそれぞれ、アーカイブ管理テーブルの「サンプリング」カラム707、「サンプリング対象属性」カラム708、「サンプリング方法」カラム709、および「サンプリングレート」カラム710に格納される。ストリームデータはその到来レートによってデータ量が莫大となる場合もあり、その全てを保存しておく必要がない場合に本サンプリング指定は非常に重要である。
全てのデータをアーカイブしておく必要がある場合には、アーカイブ指定602の6行目に示すように、sampling disabledと指定すればよい。サンプリング指定があったストリームに関しては、ストリームを受け付けた場合に図1のストリームデータ処理システム115内のストリームデータフローマネージャ119の指示によってサンプリング実行部(126)がアーカイブ時にサンプリングを実行する。
最後に、アーカイブ指定601の7行目はアーカイブ作成時に暗号化を行うか否かを指定している。データ格納時の暗号化は、セキュリティへの必要性の高まりに伴ってその重要性が指摘されており、システムには不可欠な要素であるといえる。本属性は、アーカイブ管理テーブルの「暗号化」カラム711に格納される。アーカイブ定義601のpartsストリームに対しては暗号化を行わないため、本暗号化属性はdisabledと指定されているが、アーカイブ定義602のdefect_listストリームに関しては暗号化を有効とし、その暗号化方式がDESであることが指定されている。暗号化方式はアーカイブ管理テーブルの「暗号化方法」カラム712に格納される。
暗号化指定があったストリームに関しては、ストリームを受け付けた場合に図1のストリームデータ処理システム115内のストリームデータフローマネージャ119の指示によって暗号/復号化実行部127がアーカイブ実行時に暗号化を行う。そしてアーカイブからの読み出し時には暗号/復号化実行部127が複合化を実行する。アーカイブ管理テーブルの「登録者」カラム713、および「登録時刻」カラム714はアーカイブ指定の登録者と登録日時を示しており、システムのアクセスログ管理、セキュリティ管理に用いられる。
他のストリームデータ処理システムの主要な構成要素について、再び図1を用いて説明する。リレーショナルストア114は、従来のDBMSでの利用対象であったテーブル(表)を格納する。ストリームデータ処理システム115では、検索対象としてストリームデータに加えて従来DBMSで利用していたテーブルも取り扱うことができる。テーブルを検索対象としたい場合には、図8に示すように、クエリのfrom句において検索対象のテーブルを指定すればよい。図8は従業員テーブルEmployeeから、給与(salary)が30万円以上の従業員のID(id)、および名前(name)を検索するクエリである。スケジューリングマネージャ116は、ストリームクエリ処理時のシステムのスケジューリングを行う。また、メモリマネージャ117は、システム稼動時に必要に応じてメモリをクエリ処理エンジン113あるいは他のマネージャに割り当て、不要になった場合に回収処理を行う。以上でストリームデータ処理システム115の主要構成要素の説明を終了する。
次に、ストリームデータ処理システム115を用いたデータ処理の手順を図1および図9を用いて説明する。ストリームデータ処理システム115を用いたデータ処理では、まずアプリケーション、もしくはユーザがクエリ、およびストリームをシステムに登録する(1402)。ここで、アプリケーションプログラムは、図1の構成ではネットワークを介したクライアント計算機上にあるが、ストリームデータ処理システム115が稼動する同一計算機上で実行してももちろん差し支えない。また、クエリの登録とストリームの登録の順序は逆であっても差し支えない。ストリームの登録後、必要に応じてストリームのアーカイブ指定を行う(1402)。
システムへのクエリ登録、ストリーム登録、およびアーカイブ指定の後、ストリームデータソース(図1の122、123)からネットワーク経由でストリームデータ受け付けを開始する(1403)。ストリームデータを受け付けたストリームデータフローマネージャ119は、システムディクショナリ118中のストリーム管理テーブル(図5)、アーカイブ管理テーブル(図7)を参照し、必要に応じてストリームを複製し、アーカイブストア120、およびクエリ処理エンジン113に配信する。ストリームを配信されたアーカイブストア120、およびクエリ処理エンジン113では、それぞれアーカイブ処理、クエリ処理を実行する(1404)。クエリ処理の詳細に関しては後述する。アーカイブ処理、クエリ処理はストリームデータがシステムに到来し続け、かつクエリ登録、ストリーム登録、およびアーカイブ登録ステップ(1402)で指定した、それぞれの処理の開始時刻および終了時刻の間は継続的に実行する必要がある。ストリームデータ処理システムでは、クエリ登録、ストリーム定義、およびアーカイブ登録で指定したそれぞれの処理の開始時刻および終了時刻を図3のクエリ管理テーブル、図5のストリーム管理テーブル、そして図7のアーカイブ管理テーブルを参照し、少なくとも一つの処理を実行する必要があると判定した場合(ステップ1405でYesが選択された場合)には、処理を継続する。いずれの処理も継続の必要なしと判断した場合(ステップ1405でNoが選択された場合)には、データ処理を終了する(1406)。
次に、図10を参照してストリームデータ処理システムにおけるクエリ処理方法を説明する。クエリの定義は図2のQ1(201)であるとし、クエリ中に記述されるpartsストリームおよびdefect_listストリームは図4のストリーム登録コマンド401、および402によりそれぞれ定義されている。それぞれのストリームデータに関するアーカイブ指定は図6の601、および602であるとする。また、説明時点の時刻は、日本標準時で2004年9月9日午前10時10分20秒であるとする。ストリームデータフローマネージャ119はシステムディクショナリ中のストリーム管理テーブル(図5)、およびアーカイブ管理テーブル(図7)をチェックする。partsストリーム801とdefect_listストリーム802の両方がストリーム受付時間内、かつアーカイブ作成時間内であることから、該2つのストリームからデータを受け付け、データを複製して一方をアーカイブストア120に格納し、他の一方をクエリ処理エンジン113に配信する。クエリ処理エンジン113はクエリリポジトリ(図1の112)内にあるクエリ管理テーブル(図2)を参照し、クエリQ1(図3)を実行すべき時間内であることをチェックした後、クエリ処理を継続実行する。
クエリQ1はpartsストリームとdefect_listストリームのジョイン処理であり、該処理の好適な実行方法はクエリ処理エンジン113内に示すように、2つの入力ストリームをジョインオペレータ807でジョインしその結果810をストリームとして出力することである。ところが、ストリームデータは従来のテーブルと異なり、一旦読み捨ててしまうと基本的には二度と読み直すことはできない。そのため、ジョイン処理のように同一データに対して複数回のアクセスが必要なデータに関しては、ストリームデータを一時的に保持するバッファを用いる必要がある。そのため、クエリ処理エンジン113内には、partsストリーム用の処理バッファ808とdefect_listストリーム用の処理バッファ809が割り当てられている。このようなバッファを用いたストリームのジョイン処理に関しては、その方法がStratis Viglas,Jeffrey F. Naughton,Josef Burger著:“Maximizing the Output Rate of Multi−Way Join Queries over Streaming Information Sources”,In Proc. of VLDB 2003,pp.285−296(非特許文献3)に開示されている。
ストリーム処理用のバッファ割り当ては、ストリームデータ処理システム内のメモリマネージャ(図1の117)が行う。システム全体のメモリ割り当て状況を管理する好適な実施の形態が図11に示すメモリ管理テーブルである。メモリ管理テーブルのカラム901には、メモリを割り当てる対象を一意に識別するIDである「割当先オブジェクトID」が、カラム902には該オブジェクトのタイプを示す「割当先タイプ」が、カラム903には該オブジェクトが要求するメモリ量を表す「割当要求量」が、カラム904にはメモリ割り当ての優先度を示す「優先度」が、カラム905には該オブジェクトに実際に割り当てられたメモリ量を表す「割当済メモリ量」が、そしてカラム906には割り当てられたメモリのページのリストである「割当済ページリスト」が格納される。
図11に示した例では、オブジェクトIDが101001のエントリ(メモリ管理テーブルの第一番目のエントリ)がparts用処理バッファに、そしてオブジェクトIDが101002のエントリ(メモリ管理テーブルの第二番目のエントリ)がdefect_list用バッファに割り当てられたメモリである。partsストリームについては、割当要求量10MBに対して要求通り10MBのメモリが割り当てられている。一方、defect_listストリームについては50MBの要求に対して30MBのメモリしか割り当てられていない。このような場合、従来のストリームデータ処理システムでは処理に必要なストリームデータを保持することができず、クエリ処理を継続することが困難であった。そこで本実施例のストリームデータ処理システムでは、処理バッファに要求通りのメモリの割当が不可能な場合にも、アーカイブストア120内のアーカイブデータが利用できる場合には処理を継続する機構を有する。具体的には、メモリ割当が不足しているdefect_listストリームのアーカイブ対象属性(図7の702)がクエリ処理で必要とするdefect_listの属性であるdefect_list.idを含んでいるので、処理対象のクエリQ1を、クエリエンジン内の処理バッファを対象としたクエリと、アーカイブストア120内のdefect_listストリームのアーカイブであるdefect_list_archivedを対象としたクエリに書き換え、処理結果を統合することでクエリ処理の継続が可能となる。
図12に好適なクエリ書き換えの例を示す。Q1(1001)がオリジナルのクエリ、そしてQ1’(1002)が書き換え後のクエリである。但し、本実施例においては、defect_listで要求されている2週間分の処理バッファのうち、メモリ上に展開可能なバッファを3時間分とし、残りはアーカイブから読み出すこととしている。本実施例において、defect_list_archived中のsystime属性は、アーカイブ実行時のタイムスタンプを、そしてcurtime()関数はクエリ実行時点での時刻を取得する関数を表す。
本実施例では、クエリがアーカイブを用いて処理できるか否かの判定が非常に単純な場合を示したが、例えばJeffrey D.Ullman著,“PRINCIPLES OF DATABASE AND KNOWLEDGE−BASE SYSTEMS”,VOLUME II,COMPUTER SCIENCE PRESS,ISBN 0−7167−8162−X,第14章“Optimization for Conjunctive Queries”(非特許文献4)に示されている、Query Equivalence,Query Containmentと呼ばれる方式を用いることにより、一般的な場合についても該判定は可能である。
このように、リアルタイムデータ処理とアーカイブデータ処理の両方をシームレスに処理するクエリ処理方式を用いることにより、従来は現時点でのクエリ処理の結果しか得られなかったストリームデータ処理システムを、アーカイブデータが利用できる範囲であれば、任意の時点で任意の大きさのウィンドウ指定のクエリが処理できるように拡張することができる。
13はリアルタイムデータ処理とアーカイブデータ処理の両方をシームレスに処理する本実施例の特徴的なクエリ処理方式(以下、シームレスクエリ処理方式と呼ぶ)の手順を示したフローチャートである。まず、処理対象のクエリが必要とするバッファが確保されていて、かつ処理に必要なデータが該バッファ上に格納されているかどうかを判定する(ステップ1102)。本条件が満たされている場合(ステップ1102がYesの場合)には、バッファを用いたクエリ処理が可能であるので、ステップ1108でクエリ処理を継続実行する。前記条件が満たされない場合(ステップ1102がNoの場合)は、クエリ処理継続に必要なデータがバッファ上にないので、該クエリ処理継続に必要なデータがアーカイブ中にあるか否かを判定する(ステップ1103)。アーカイブ中にも必要なデータが存在しない場合(ステップ1103がNoの場合)には、クエリ処理は継続不可能であるため、クエリ処理を終了する(ステップ1109)。クエリ処理に必要なデータがアーカイブ中に存在する場合(ステップ1103がYesの場合)には、該アーカイブデータがストリームデータ処理システムの管理下にあるか否かをチェックする(ステップ1104)。
管理下にある場合(ステップ1104がYesの場合)には、図12を用いて説明したようにクエリを書き換え(ステップ1107)、クエリ処理を継続実行する(ステップ1108)。アーカイブデータが処理を行うストリームデータ処理システムの管理下にない場合(ステップ1104がNoの場合)、該データを管理する外部データ管理システムから、クエリ処理に必要なデータを取得可能か否かチェックする(ステップ1105)。取得不可の場合(ステップ1105がNoの場合)、クエリ処理は継続不可能であるため、クエリ処理を終了する(ステップ1109)。取得が可能の場合(ステップ1105がYesの場合)、該外部データ管理システムから処理に必要なデータを取得し(ステップ1106)、クエリを書き換えて(ステップ1107)、クエリ処理を継続実行する(1108)。アーカイブを管理する外部データ管理システムは、(株)日立製作所の登録商標、スケーラブルデーターベースシステムHiRDBなどのDBMSで差し支えなく、その場合には該DBMSに対してSQLでクエリを発行し、取得したデータをアーカイブストアに格納した後に、該アーカイブストアを参照するようにオリジナルのクエリを書き換えることでクエリ処理を継続実行できる。
これまでは、単体のストリームデータ処理システムの動作を中心に実施例を説明してきた。処理対象のストリームの数、およびストリームデータの到来レートが増大した場合には、単体のシステムでは処理能力の限界が必ず訪れる。そこで、処理対象のストリーム数の増加、ストリームデータ到来レートの増大、およびストリームデータ処理の複雑度の増加等に伴って、必要となる処理量がストリームデータ処理システムの能力を上回った場合に、複数のストリームデータ処理システムを連携させることが有効となる。図15、図16、及び図17は複数のストリームデータ処理システムが連携する構成へと構成変更を行う本発明の別の実施例(第2の実施例)を示す。
まず図15は第2の実施例にてシステム1201が単体で所定のストリームデータ処理を行っている状態を示す。ストリームデータ処理システム1201に対しストリーム1(1206)、ストリーム2(1207)、およびストリーム3(1208)の3つのストリームが入力されている。先の実施例と同様に、ストリームはストリームデータフローマネージャ1202で受け付けられ、必要に応じてアーカイブストア1204に格納される。同時に、ストリームはクエリ処理エンジン1203に配信され、クエリ処理エンジン内でクエリ処理が実行される。本実施例ではQP1(1211)、QP2(1212)、QP3(1213)、およびQP4(1214)の4つのクエリ処理が実行されている。
各QPは図10の807のジョインオペレータのようなクエリの構成要素であるクエリオペレータでも、またQPそれぞれが完結する一つのクエリ(例えば、CQLで記述された一つのクエリ)であっても差し支えない。本実施例では、クエリ処理終了後、ストリームデータ処理システム1201は出力ストリーム1(1209)、および出力ストリーム2(1210)の2つのストリームを出力する。
このようなストリームデータ処理を行っているストリームデータ処理システム1201が稼動する処理ノードに対して、その処理負荷が高くなり、到来するストリームデータの処理が継続できなくなるおそれは無いかを監視し、必要な場合に、ストリームデータ処理システムが稼動する複数の処理ノードが連携して上記ストリームデータ処理を実行する構成に構成変更するためのノード構成最適化マネージャ1307(図16)を配備したのが本実施例の特徴である。図15ではノード構成最適化マネージャ1307の制御・監視下の複数の処理ノードの内の一つのみを示し、他は図示を省略している。また、ノード構成最適化マネージャ1307は専用の計算機システム1318の上で稼動させても良いが、これら処理ノード計算機のいずれかの上で稼動させても良い。
図17はノード構成最適化マネージャ1307で実行するノード構成最適化処理のフローを示す。最初に現在負荷が予め与えられた閾値を超えているノードが存在するか否かをチェックする(1702)。該閾値の好適な例としては、オペレーティングシステムのsarコマンドなどで取得可能なCPU負荷、システムモニタリングアプリケーションによって取得可能なシステム負荷などを用いることができる。負荷が閾値を超えているノードが存在しない場合(1702でNoが選択された場合)には、ノード構成最適化処理はノードの再構成を行わずその処理を終了する(1708)。負荷が閾値を超えているノードが存在する場合(1702でYesが選択された場合)、ストリームデータ処理を実行可能な余剰ノードが存在するか否かをチェックする(1703)。あるノードが余剰ノードか否かの判定方法の好適な実施例として、該ノードの負荷がある閾値以下であるか否かをチェックし、該閾値よりも負荷が小さいノードを余剰ノードとする方法を挙げることができる。
余剰ノードが存在しない場合(1703でNoが選択された場合)、クエリ処理を他ノードに委譲することができないので、ノード構成最適化処理は中止となる(1705)。余剰ノードが存在する場合(1703でYesが選択された場合)には、余剰ノードを含めた複数ノードでストリームデータ処理を実行するための、コスト計算に基づくノード決定処理(1704、以下単にノード決定処理と呼ぶ)を行う。該ノード決定処理に関しては後述する。ノード決定処理が終了したときには、クエリ処理のノードへの割り当てが決定している。例えば、図16は図15で単体のストリームデータ処理システム1201で処理していたストリームデータ処理を、ストリームデータ処理システム1(1306)、ストリームデータ処理システム2(1307)、およびストリームデータ処理システム3(1308)の3つのストリームデータ処理システムの連携によって処理する構成となっており、クエリ処理QP1はストリームデータ処理システム1に、クエリ処理QP2はストリームデータ処理システム2に、そしてクエリ処理QP3およびQP4はストリームデータ処理システム3に割り当てられている。次に、ノードへの処理割り当て変更に伴う、ストリーム処理入出力方向変更処理(1706)を実行する。
本処理では、ノード決定処理後の複数のストリームデータ処理システム間で実行するクエリ処理を、単体のクエリ処理エンジン内で行う場合の処理順序と合致させるようにストリーム通信の経路を設定し、必要に応じてストリームの複製処理を行う。好適な実施例を図15および図16を用いて説明する。図15のクエリ処理エンジン(1203)内に示されているクエリ処理QP1〜QP4では、QP1(1211)の出力はシステムの出力ストリーム1(1209)となると共に、QP2(1212)の入力となっている。また、QP4(1214)はQP2、およびQP3(1213)の出力を入力とし、その出力はシステムの出力ストリーム2(1210)となっている。そこで、図16に示すクエリ処理では、ストリームデータ処理システム1(1306)は、その内部で実行するクエリ処理QP1の出力を、システムの出力である出力ストリーム1(1304)として出力するように通信路を設定すると共に、ストリームデータ処理システム2(1307)で実行するクエリ処理QP2の入力とするために、複製したストリーム1309をストリームデータ処理システム2に出力するように通信路を設定する必要がある。同様に、ストリームデータ処理システム2は、その内部で実行するクエリ処理QP2の出力ストリーム(1310)を、ストリームデータ処理システム3(1308)に出力するように通信路を設定し、最後にストリームデータ処理システム3はその処理結果をシステムの出力である出力ストリーム2(1305)として出力するように通信路を設定する。
ストリーム入出力方向変更処理(1706)が終了した後、アーカイブストア、リレーショナルストアのデータ配置処理(1707)を行う。本データ配置処理とは、それぞれのクエリ処理が必要とするアーカイブストア中のデータ、リレーショナルストア中のデータをそれぞれのクエリ処理を実行するストリームデータ処理システムに移動する処理のことを表す。図16の例では、クエリ処理QP1が必要とするアーカイブデータ、リレーション(表)はそれぞれ、ストリームデータ処理システム1(1306)の管理下にあるアーカイブストア(1311)、およびリレーショナルストア(1312)に配置される。同様に、クエリ処理QP2が必要とするアーカイブデータ、リレーションはそれぞれ、アーカイブストア(1313)、およびリレーショナルストア(1314)に、クエリ処理QP3、およびQ4が必要とするアーカイブデータ、リレーションはそれぞれ、アーカイブストア(1315)、およびリレーショナルストア(1316)に配置される。
本データ配置処理(1707)を終了して、ノード構成最適化処理は終了となる(1708)。本ノード構成最適化処理を実行するソフトウェアモジュールであるノード構成最適化マネージャ(1317)は、処理ノード計算機にネットワークで接続された専用の計算機システム(1318)上で稼動させてもよいし、もしくは処理ノードのいずれかの計算機上で稼動させるのでも差し支えない。
最後に、コスト計算に基づくノード決定処理(1704、以下単にノード決定処理と呼ぶ)の説明を行う。ノード決定処理では、利用可能な計算機ノード、入力となるストリーム、必要なクエリ処理を入力として、計算機ノードへのクエリ処理の割り当てを行う。割り当て方法の好適な実施方法を説明する。最初に、処理の依存性を考慮してクエリ処理の順序付けを行う。図15に示した例では、クエリ処理QP2はQP1に依存しているので、QP1⇒QP2の順序をつけることができる。また、QP4はQP3、およびQP2に依存しているので、QP3⇒QP4,QP2⇒QP4の順序付けが可能である。よって、全体ではQP1⇒QP2⇒QP4,QP3⇒QP4の2つの順序関係を得る。次のステップでは、順序付けを行ったクエリ処理を、処理コストを計算しながらノードに割り付けていく。この時、ストリームデータ処理のクエリの処理コストは、ストリームの入力レートに基づいて計算するのが好ましい。
ストリームデータの入力レートに基づいたコスト計算の方法は、Stratis Viglas,Jeffrey F. Naughton著:“Rate−based query optimization for streaming information sources”,In Proc. of SIGMOD Conference 2002,pp. 37−48 (非特許文献5)に開示されており、本計算方法を用いることにより、あるノードにクエリ処理を割り付けた場合の処理コストを計算することができる。先のQP1とQP2のように、順番に処理する必要のあるクエリ処理を異なるノードに割り付けた場合には、各ノードでの処理コストに、QP1とQP2を割り付けたノード間の通信コストを加算する。このように、ノードへのクエリ処理の割り当ての組合せを作成し、クエリ処理コストと通信処理コストの総和を計算し、その総和が最小となる、クエリ処理のノード割り当て方法を選択すればよい。但し、処理ノードの数が多い、クエリ処理の数が多いなどの理由で、全ての組合せを考慮してコストを計算することが困難な場合には、まず個々のクエリ処理を別々のノードに割り当て、コスト計算が可能な範囲内で、連続する2つの処理ノードを同一ノードに割り付けた方が総処理コストが少なくなる場合には該2つの処理ノードを結合する等の簡易アルゴリズムを用いるのでも差し支えない。
本発明を用いることにより、高信頼・高可用のリアルタイムデータ処理が可能なストリームデータ処理システムが実現できる。
本発明の実施例のストリームデータ処理システムおよび関連システムの構成を示すブロック図である。 上記実施例のクエリ登録コマンドおよびクエリ削除コマンドを示す概念図である。 上記実施例におけるクエリ管理テーブルの構成を示すデータ構成図である。 上記実施例におけるストリーム定義コマンドを示す概念図である。 上記実施例におけるストリーム管理テーブルの構成を示すデータ構成図である。 上記実施例におけるアーカイブ指定コマンドを示す概念図である。 上記実施例におけるアーカイブ管理テーブルの構成を示すデータ構成図である。 上記実施例のテーブル(表)を対象とした場合のクエリの例を示す図である。 上記実施例におけるデータ処理手順を示すフローチャートである。 上記実施例におけるクエリ処理機構を示すブロック図である。 上記実施例におけるメモリ管理テーブルの構成を示すデータ構成図である。 上記実施例におけるクエリ書き換え例を示す概念図である。 上記実施例におけるクエリ処理方式手順を示すフローチャートである。 Stanford大学STREAMシステムにおけるクエリ記述例。 本発明の別の実施例における単体のストリームデータ処理システムでのクエリ処理を示すブロック図である。 上記実施例におけるノード構成最適化後の分散ストリームデータ処理の構成を示すブロック図である。 上記実施例におけるノード構成最適化手順を示すフローチャート。
符号の説明
807…クエリ処理オペレータ
1211、1212、1213、1214…クエリ処理
1311、1313、1315…アーカイブストア
1312、1314、1316…リレーショナルストア。

Claims (7)

  1. データ処理装置と、前記データ処理装置と接続する不揮発性記憶媒体と、を備え、ストリームデータに対し所望のデータ処理を実行するためのクエリを予め前記データ処理装置に登録しておき、前記データ処理装置が、少なくとも1つのストリームデータソースから受け付けたストリームデータに、前記登録したクエリ処理を実行するストリームデータ処理システム、のクエリ処理方法であり、
    前記データ処理装置によって、
    ストリームデータを受信し、
    前記ストリームデータの一部を、前記データ処理装置内のバッファに格納し、
    前記ストリームデータの一部を、前記不揮発性記憶媒体にアーカイブし、
    予め登録した第1のクエリに基づき前記バッファを用いるクエリ処理を行ない、
    前記クエリ処理において、前記バッファに前記第1のクエリの実行対象のストリームデータの少なくとも一部が格納されておらず、前記第1のクエリの実行対象であって前記バッファに格納されていないストリームデータが前記不揮発性記憶媒体に前記アーカイブされている場合に、前記不揮発性記憶媒体の前記アーカイブされたストリームデータを用いて前記クエリ処理を実行する、ことを特徴とする、ストリームデータ処理システムのクエリ処理方法。
  2. 前記アーカイブ実行時に、前記データ処理装置によって、アーカイブ対象データにサンプリングを実行することを特徴とする請求項1記載のストリームデータ処理システムのクエリ処理方法。
  3. 前記アーカイブ実行時に、前記データ処理装置によって、アーカイブ対象データに暗号化を実行することを特徴とする請求項1記載のストリームデータ処理システムのクエリ処理方法。
  4. 前記アーカイブ実行時に、前記データ処理装置によって、アーカイブを外部のデータ管理システムと連携して実行することを特徴とする請求項1記載のストリームデータ処理システムのクエリ処理方法。
  5. 前記データ処理装置によって、前記不揮発性記憶媒体の前記アーカイブされたデータを用いて前記クエリ処理を行う場合に、前記第1のクエリから前記不揮発性記録媒体のアーカイブデータを用いたデータ処理を示す第2のクエリに書き換え、前記書き換えた該第2のクエリを実行することにより前記不揮発性記憶媒体のアーカイブデータを用いたクエリ処理を行なう、
    こと、を特徴とする請求項1記載のストリームデータ処理システムのクエリ処理方法。
  6. 前記データ処理装置によって、前記クエリの登録時にクエリの実行開始時刻及び実行終了時刻を指定し、両時刻の間のみ該クエリを実行することを特徴とする請求項1記載のストリームデータ処理システムのクエリ処理方法。
  7. 前記アーカイブの動作は、予め指定されたアーカイブ対象のストリームデータについて、指定された開始時刻と終了時刻の間の期間にのみ行なわれることを特徴とする請求項1のストリームデータ処理方法。
JP2005163440A 2005-06-03 2005-06-03 ストリームデータ処理システムのクエリ処理方法 Expired - Fee Related JP4687253B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005163440A JP4687253B2 (ja) 2005-06-03 2005-06-03 ストリームデータ処理システムのクエリ処理方法
US11/195,664 US7403959B2 (en) 2005-06-03 2005-08-03 Query processing method for stream data processing systems
US12/213,042 US7958108B2 (en) 2005-06-03 2008-06-13 Query processing method for stream data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005163440A JP4687253B2 (ja) 2005-06-03 2005-06-03 ストリームデータ処理システムのクエリ処理方法

Publications (3)

Publication Number Publication Date
JP2006338432A JP2006338432A (ja) 2006-12-14
JP2006338432A5 JP2006338432A5 (ja) 2008-05-15
JP4687253B2 true JP4687253B2 (ja) 2011-05-25

Family

ID=37495385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005163440A Expired - Fee Related JP4687253B2 (ja) 2005-06-03 2005-06-03 ストリームデータ処理システムのクエリ処理方法

Country Status (2)

Country Link
US (2) US7403959B2 (ja)
JP (1) JP4687253B2 (ja)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4804233B2 (ja) * 2006-06-09 2011-11-02 株式会社日立製作所 ストリームデータ処理方法
US7496683B2 (en) * 2006-07-27 2009-02-24 International Business Machines Corporation Maximization of sustained throughput of distributed continuous queries
JP4933222B2 (ja) * 2006-11-15 2012-05-16 株式会社日立製作所 インデックス処理方法及び計算機システム
US20080120283A1 (en) * 2006-11-17 2008-05-22 Oracle International Corporation Processing XML data stream(s) using continuous queries in a data stream management system
JP5055039B2 (ja) * 2007-06-27 2012-10-24 株式会社日立製作所 ストリームデータ処理方法およびストリームデータ処理システム
US7979420B2 (en) * 2007-10-16 2011-07-12 Oracle International Corporation Handling silent relations in a data stream management system
US7996388B2 (en) * 2007-10-17 2011-08-09 Oracle International Corporation Adding new continuous queries to a data stream management system operating on existing queries
US8296316B2 (en) * 2007-10-17 2012-10-23 Oracle International Corporation Dynamically sharing a subtree of operators in a data stream management system operating on existing queries
US7739265B2 (en) * 2007-10-18 2010-06-15 Oracle International Corporation Deleting a continuous query from a data stream management system continuing to operate on other queries
US8073826B2 (en) * 2007-10-18 2011-12-06 Oracle International Corporation Support for user defined functions in a data stream management system
US7991766B2 (en) 2007-10-20 2011-08-02 Oracle International Corporation Support for user defined aggregations in a data stream management system
US8521867B2 (en) * 2007-10-20 2013-08-27 Oracle International Corporation Support for incrementally processing user defined aggregations in a data stream management system
US8335782B2 (en) 2007-10-29 2012-12-18 Hitachi, Ltd. Ranking query processing method for stream data and stream data processing system having ranking query processing mechanism
US8103655B2 (en) * 2007-10-30 2012-01-24 Oracle International Corporation Specifying a family of logics defining windows in data stream management systems
US8019747B2 (en) * 2007-10-30 2011-09-13 Oracle International Corporation Facilitating flexible windows in data stream management systems
JP5198929B2 (ja) * 2008-04-25 2013-05-15 株式会社日立製作所 ストリームデータ処理方法及び計算機システム
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
JP5337447B2 (ja) 2008-10-28 2013-11-06 株式会社日立製作所 ストリームデータ処理方法、及びシステム
JP4659877B2 (ja) 2008-12-03 2011-03-30 株式会社日立製作所 ストリームデータ処理制御方法、ストリームデータ処理装置及びストリームデータ処理制御プログラム
JP4727715B2 (ja) 2008-12-12 2011-07-20 株式会社日立製作所 ストリームデータ処理方法、及びシステム
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8352517B2 (en) * 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
JP5149840B2 (ja) 2009-03-03 2013-02-20 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理プログラム、および、ストリームデータ処理装置
JP4870183B2 (ja) * 2009-03-13 2012-02-08 株式会社日立製作所 ストリームデータ処理システムにおける障害回復方法、計算機システム及び障害回復プログラム
US8725707B2 (en) * 2009-03-26 2014-05-13 Hewlett-Packard Development Company, L.P. Data continuous SQL process
JP5439014B2 (ja) 2009-04-10 2014-03-12 株式会社日立製作所 データ処理システム、その処理方法、及び計算機
JP5058209B2 (ja) * 2009-05-22 2012-10-24 株式会社日立製作所 ストリームデータ処理において逆再生を行うデータ処理システム
US8180801B2 (en) * 2009-07-16 2012-05-15 Sap Ag Unified window support for event stream data management
US8321450B2 (en) 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8387076B2 (en) 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
JP5396184B2 (ja) * 2009-07-31 2014-01-22 株式会社日立製作所 計算機システム及び複数計算機によるストリームデータ分散処理方法
US8386466B2 (en) 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
JP4925143B2 (ja) * 2009-08-12 2012-04-25 株式会社日立製作所 ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ処理プログラム
JP5395565B2 (ja) * 2009-08-12 2014-01-22 株式会社日立製作所 ストリームデータ処理方法及び装置
JP4992945B2 (ja) * 2009-09-10 2012-08-08 株式会社日立製作所 ストリームデータ生成方法、ストリームデータ生成装置及びストリームデータ生成プログラム
JP4880025B2 (ja) * 2009-11-26 2012-02-22 株式会社日立製作所 ストリームデータ処理方法、ストリームデータ処理プログラム及びストリームデータ処理装置
JP4967014B2 (ja) 2009-12-16 2012-07-04 株式会社日立製作所 ストリームデータ処理装置及び方法
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US9305057B2 (en) 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US9405801B2 (en) * 2010-02-10 2016-08-02 Hewlett Packard Enterprise Development Lp Processing a data stream
JP5489025B2 (ja) * 2010-03-08 2014-05-14 株式会社日立製作所 ストリームデータ処理システム、ストリームデータ処理方法及びストリームデータ流量制御プログラム
JP5331737B2 (ja) 2010-03-15 2013-10-30 株式会社日立製作所 ストリームデータ処理障害回復方法および装置
JP5423553B2 (ja) * 2010-04-09 2014-02-19 株式会社日立製作所 データベース管理方法、計算機、センサネットワークシステム及びデータベース検索プログラム
JP5308403B2 (ja) 2010-06-15 2013-10-09 株式会社日立製作所 データ処理の障害回復方法、システムおよびプログラム
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US8260803B2 (en) 2010-09-23 2012-09-04 Hewlett-Packard Development Company, L.P. System and method for data stream processing
US8620945B2 (en) * 2010-09-23 2013-12-31 Hewlett-Packard Development Company, L.P. Query rewind mechanism for processing a continuous stream of data
US8260826B2 (en) 2010-09-23 2012-09-04 Hewlett-Packard Development Company, L.P. Data processing system and method
WO2012059976A1 (ja) * 2010-11-02 2012-05-10 株式会社日立製作所 プログラム、ストリームデータ処理方法及びストリームデータ処理計算機
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US9258248B2 (en) * 2011-04-01 2016-02-09 Alcatel Lucent Energy-efficient network device with coordinated scheduling and processor rate control
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
JP5634607B2 (ja) * 2011-07-20 2014-12-03 株式会社日立製作所 ストリームデータ処理サーバ及びストリームデータ処理プログラムを記録した記録媒体
US8990452B2 (en) 2011-07-26 2015-03-24 International Business Machines Corporation Dynamic reduction of stream backpressure
US9148495B2 (en) 2011-07-26 2015-09-29 International Business Machines Corporation Dynamic runtime choosing of processing communication methods
US8392434B1 (en) 2011-09-16 2013-03-05 International Business Machines Corporation Random sampling from distributed streams
US8880493B2 (en) 2011-09-28 2014-11-04 Hewlett-Packard Development Company, L.P. Multi-streams analytics
US9361342B2 (en) * 2011-10-10 2016-06-07 Hewlett Packard Enterprise Development Lp Query to streaming data
TW201322022A (zh) * 2011-11-24 2013-06-01 Alibaba Group Holding Ltd 分散式資料流處理方法及其系統
JP5862245B2 (ja) * 2011-11-30 2016-02-16 富士通株式会社 配置装置、配置プログラムおよび配置方法
US9405553B2 (en) 2012-01-30 2016-08-02 International Business Machines Corporation Processing element management in a streaming data system
KR101827369B1 (ko) 2012-02-21 2018-02-09 한국전자통신연구원 데이터 스트림 분산 병렬 처리 서비스 관리 장치 및 방법
JP5352691B2 (ja) * 2012-02-28 2013-11-27 株式会社日立製作所 計算機システム、ストリームデータ管理方法及びプログラム
US9146775B2 (en) 2012-04-26 2015-09-29 International Business Machines Corporation Operator graph changes in response to dynamic connections in stream computing applications
US20150120914A1 (en) * 2012-06-13 2015-04-30 Hitachi, Ltd. Service monitoring system and service monitoring method
US8825604B2 (en) 2012-09-28 2014-09-02 International Business Machines Corporation Archiving data in database management systems
US9805095B2 (en) 2012-09-28 2017-10-31 Oracle International Corporation State initialization for continuous queries over archived views
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9930081B2 (en) 2012-11-13 2018-03-27 International Business Machines Corporation Streams optional execution paths depending upon data rates
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
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9305031B2 (en) * 2013-04-17 2016-04-05 International Business Machines Corporation Exiting windowing early for stream computing
US11050820B2 (en) * 2013-04-29 2021-06-29 Sap Se Cloud sharing system
US9116953B2 (en) * 2013-05-17 2015-08-25 Sap Se Calculation engine with dynamic partitioning of intermediate results
US9116960B2 (en) * 2013-05-17 2015-08-25 Sap Se Calculation engine with optimized multi-part querying
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
JP6021741B2 (ja) 2013-06-05 2016-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 時空間データベースの処理方法、プログラム及びシステム
US9645877B2 (en) 2013-08-21 2017-05-09 Hitachi, Ltd. Monitoring apparatus, monitoring method, and recording medium
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
JP5939583B2 (ja) 2013-12-13 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 抽出装置、データ処理システム、抽出方法および抽出プログラム
JP5782143B2 (ja) * 2014-01-22 2015-09-24 株式会社日立製作所 処理方法、及びストリームデータ処理システム
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US9460235B2 (en) * 2014-06-30 2016-10-04 International Business Machines Corporation Supplementing a tuple with a derived value
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
US10296621B2 (en) 2014-09-30 2019-05-21 Hewlett Packard Enterprise Development Lp Database and data stream query
US10795876B2 (en) 2014-09-30 2020-10-06 Hewlett Packard Enterprise Development Lp Processing query of database and data stream
CN104408106B (zh) * 2014-11-20 2017-07-07 浙江大学 一种用于分布式文件系统中大数据查询的调度方法
TWI530808B (zh) * 2014-12-04 2016-04-21 知意圖股份有限公司 即時提供信息查詢的資訊系統與方法
US10452651B1 (en) * 2014-12-23 2019-10-22 Palantir Technologies Inc. Searching charts
US10628423B2 (en) 2015-02-02 2020-04-21 Microsoft Technology Licensing, Llc Stream processing in search data pipelines
US9952916B2 (en) 2015-04-10 2018-04-24 Microsoft Technology Licensing, Llc Event processing system paging
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
CN106452819B (zh) * 2015-08-13 2020-07-07 腾讯科技(深圳)有限公司 数据采集系统及数据采集方法
US20180046671A1 (en) * 2015-10-30 2018-02-15 Hitachi, Ltd. Computer scale-out method, computer system, and storage medium
CN108140047B (zh) * 2016-01-05 2021-06-29 华为技术有限公司 数据处理装置和方法以及数据容器结构
CN105808778B (zh) * 2016-03-30 2019-04-26 中国银行股份有限公司 一种海量数据抽取、转换、加载方法及装置
EP3513321B1 (en) 2016-09-15 2021-07-21 Oracle International Corporation Complex event processing for micro-batch streaming
US11573965B2 (en) 2016-09-15 2023-02-07 Oracle International Corporation Data partitioning and parallelism in a distributed event processing system
CN106407837B (zh) * 2016-09-18 2019-03-08 成都信息工程大学 一种具备隐私保护能力的时间数据加密处理方法
WO2018169430A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Integrating logic in micro batch based event processing systems
WO2018169429A1 (en) 2017-03-17 2018-09-20 Oracle International Corporation Framework for the deployment of event-based applications
JP6528807B2 (ja) * 2017-06-28 2019-06-12 オムロン株式会社 制御システム、制御装置、結合方法およびプログラム
EP3425602B1 (en) * 2017-07-06 2020-09-02 Wincor Nixdorf International GmbH Method and system of performing an authorization mechanism between a service terminal system and a helpdesk system
US10877971B2 (en) 2017-09-29 2020-12-29 Oracle International Corporation Logical queries in a distributed stream processing system
US11281726B2 (en) 2017-12-01 2022-03-22 Palantir Technologies Inc. System and methods for faster processor comparisons of visual graph features

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792775B2 (ja) * 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
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
US7277941B2 (en) * 1998-03-11 2007-10-02 Commvault Systems, Inc. System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device
US6993787B1 (en) * 1998-10-29 2006-01-31 Matsushita Electric Industrial Co., Ltd. Providing VCR functionality for data-centered video multicast
US6239793B1 (en) * 1999-05-20 2001-05-29 Rotor Communications Corporation Method and apparatus for synchronizing the broadcast content of interactive internet-based programs
US20020091761A1 (en) * 2001-01-10 2002-07-11 Lambert James P. Technique of generating a composite media stream
US20030065774A1 (en) * 2001-05-24 2003-04-03 Donald Steiner Peer-to-peer based distributed search architecture in a networked environment
US7047297B2 (en) * 2001-07-17 2006-05-16 Mcafee, Inc. Hierarchically organizing network data collected from full time recording machines and efficiently filtering the same
GB0226658D0 (en) * 2002-11-15 2002-12-24 Koninkl Philips Electronics Nv Archive system and method for copy controlled storage devices
US7428555B2 (en) * 2005-04-07 2008-09-23 Google Inc. Real-time, computer-generated modifications to an online advertising program

Also Published As

Publication number Publication date
US7958108B2 (en) 2011-06-07
US20080256146A1 (en) 2008-10-16
JP2006338432A (ja) 2006-12-14
US7403959B2 (en) 2008-07-22
US20060277230A1 (en) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4687253B2 (ja) ストリームデータ処理システムのクエリ処理方法
US20200210412A1 (en) Using databases for both transactions and analysis
US11481253B2 (en) Managing the processing of streamed data in a data streaming application using query information from a relational database
JP4552242B2 (ja) 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US7490265B2 (en) Recovery segment identification in a computing infrastructure
CN100596353C (zh) 提供日志服务的方法及系统
US7930432B2 (en) Systems and methods for distributing a workplan for data flow execution based on an arbitrary graph describing the desired data flow
US6728758B2 (en) Agent for performing process using service list, message distribution method using service list, and storage medium storing program for realizing agent
JP5589205B2 (ja) 計算機システム及びデータ管理方法
US10127283B2 (en) Projecting effect of in-flight streamed data on a relational database
WO2018130341A1 (en) Reducing flow delays in a data streaming application
US20040186915A1 (en) Systems and methods for scheduling data flow execution based on an arbitrary graph describing the desired data flow
US10885050B2 (en) Altering in-flight streamed data from a relational database
US20110307470A1 (en) Distributed database management system and distributed database management method
JP2006012146A (ja) 影響分析のためのシステムおよび方法
US20090198703A1 (en) Intelligent data storage system
US10025826B2 (en) Querying in-flight streamed data from a relational database
US9389913B2 (en) Resource assignment for jobs in a system having a processing pipeline that satisfies a data freshness query constraint
US20140040191A1 (en) Inventorying and copying file system folders and files
KR100983479B1 (ko) 분산 스페이스를 이용하여 분산 프로그래밍 환경을 제공하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP4947407B2 (ja) 高効率キャッシュシステム、高効率キャッシュ格納方法、及び高効率キャッシュ操作プログラム
Thanekar et al. A study on MapReduce: Challenges and Trends
JP2004005460A (ja) 情報システムにおけるデータアクセス方法および情報システム
JP6608544B2 (ja) データ処理システム
JP2004213680A (ja) データベース管理システムおよび問合せの処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080327

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees