JP6069503B2 - 系列データ並列分析基盤およびその並列分散処理方法 - Google Patents

系列データ並列分析基盤およびその並列分散処理方法 Download PDF

Info

Publication number
JP6069503B2
JP6069503B2 JP2015524916A JP2015524916A JP6069503B2 JP 6069503 B2 JP6069503 B2 JP 6069503B2 JP 2015524916 A JP2015524916 A JP 2015524916A JP 2015524916 A JP2015524916 A JP 2015524916A JP 6069503 B2 JP6069503 B2 JP 6069503B2
Authority
JP
Japan
Prior art keywords
data
processing
parallel
data block
distributed
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
JP2015524916A
Other languages
English (en)
Other versions
JPWO2015001596A1 (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
Application granted granted Critical
Publication of JP6069503B2 publication Critical patent/JP6069503B2/ja
Publication of JPWO2015001596A1 publication Critical patent/JPWO2015001596A1/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の分散した計算機を用いて大量の系列データを並列に処理する並列分散処理方法、及び、計算機システムに関する。
近年、大量のデータを分析・処理することで、これまで得られなかった知見を発見し活用していく、ビックデータ処理が注目されている。ビッグデータの内、例えば装置等のセンサデータなどは、所謂、系列データと呼ばれるデータの様態である。系列データとは、複数のデータ項目について各々値が設定された複数のデータが、所定の順序性ラベルの値に従って並べられたデータの集合である。
このように大量のデータを分析するニーズは存在するものの、既存の分散分析システムでは、処理内容毎にシステムを設計する必要があり、システム構成のコストが高かった。
これに対し、特許文献1及び非特許文献1に示すように分析処理を簡便に実装する基盤技術として、MapReduceフレームワークが知られている。MapReduceフレームワークとは、データの分析処理を、データストアから所望のデータを抽出する、抽出処理(Map処理)と抽出されたデータを利用しやすい形態や統計情報などに加工する集約処理(Reduce処理)との二段階で記述するプログラミングモデルである。これにより、MapReduceフレームワークの実行エンジンは分析アプリケーションの処理の分割単位を決定し、並列処理を制御することが可能となる。
しかしながら、これまで、MapReduceフレームワークは元来Webにおける検索システムなど、主に非構造・順序性のないデータに対しての処理を記述することを目的にしており、系列データに対してはMapReduceフレームワークによる処理能力向上が見込めなかった。例えば、抽出処理は、多くの基盤で同時に複数のタスクとして実施されるため、処理の高速化に大きく寄与するが、その結果出力は非順序で行われるため、移動平均やフーリエ変換など、系列データに一般的に適用される分析手法の適用が困難であった。
これらの処理をMapReduceフレームワークで記述する場合は、集約処理で実施することになるが、集約処理においては処理に係る基盤数を増大させることが困難であり、十分な高速化が得られなかった。
これに対し、例えば非特許文献2に示すように集約処理においてストリーム処理基盤を利用することで、高速化する手法が知られている。しかし、ストリーム処理基盤を用いた場合においても、抽出処理において全データが抽出されるまでの待ち時間が発生し、抽出したデータを直接ネットワーク等で別のサーバに送信するなど、通信の負荷が高くなるなどの問題があった。さらに、結果の書き出し処理においては、系列データの場合、集約処理の結果、十分にデータ量が削減できるとは限らず、大量のデータを再配置等する必要があり、通信や処理の負荷の増大や、速度の低下を招いていた。
米国特許出願公開第2008/0086442号明細書
「MapReduce: Simplified Data Processing on Large Clusters」 Jeffrey Dean, Sanjay Ghemawat, Google, Inc. OSDI'04: Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, December 6, 2004. 「SCOPE: parallel databases meet MapReduce」Jingren Zhou,Nicolas Bruno,Ming-Chuan Wu,Per-Ake Larson,Ronnie Chaiken,Darren Shakib,Microsoft Corp., The VLDB Journal
MapReduceフレームワークを使用しない分散分析システムでは、柔軟にデータ処理を記述できなかった。
一方、MapReduceフレームワークを活用した従来のシステム構成では、計算機器台数に応じた処理向上(スケーラビリティ)が得られていなかった。また、MapReduceフレームワークを活用した従来のシステム構成では、元データを1次加工し、2次加工する際、1次加工データを高速に保存できなかった。
本願において開示される発明の代表的な一例を示せば以下の通りである。
すなわち、順序性ラベルと前記順序性ラベルに一対一、もしくは一対多で対応付けされる少なくとも一つ以上の値と前記値の内一つずつを区別するための値名とで構成された系列データに対して並列分散処理を行う系列データ並列分析基盤あるいは分散処理システムであって、
一つ以上の計算機器と前記計算機器がデータ授受を行うためのネットワークで構成されるデータ処理を並列に行う並列処理基盤と、前記計算機器に分散されて配置された前記系列データを管理する分散系列データ管理部とを具備し、
前記並列処理基盤は、前記計算機器毎に前記系列データの内複数の順序性ラベルそれぞれに対応付けられた値を含むように構成された少なくとも一つ以上のデータブロックと、前記計算機器毎に前記データブロックに対して処理を行う、少なくとも一つ以上のデータブロック処理サーバと、前記計算機器毎に前記データブロック処理サーバの結果を処理する少なくとも一つ以上のブロック処理集約サーバとを具備し、
前記分散系列データ管理部は、前記系列データを前記系列データ並列分析基盤に保持するためのデータ読込部と、前記系列データを前記系列データ並列分析基盤にから取得するためのデータ選択部と、前記データブロックを管理するための分散情報管理データベースを具備し、前記分散情報管理データベースには、前記データブロックの前記順序性ラベルの範囲を指示す順序ラベル範囲と、前記データブロックの前記値名に対応する系列IDと、前記データブロックを配置した前記計算機器を特定するメタ情報と、で構成された管理データを保持することを特徴とする。
上記構成の系列データ並列分析基盤あるいは分散処理システムによれば、系列データに対しても柔軟に分散処理を記述可能となる。また、系列データに対してもスケーラビリティのあるデータストア及び処理基盤を実現可能となる。更に、
データストアに保存されている元データを加工し、新たにデータを生成する場合に、新たなデータを高速に保存することが可能となる。
本発明の第1の実施の形態の系列データ並列分析基盤の概要を示した説明図である。 本発明の第1の実施の形態の系列データの概要を示した説明図である。 本発明の第1の実施の形態の系列データ並列ストアの構成を示した説明図である。 本発明の第1の実施の形態の並列処理基盤の構成を示した説明図である。 本発明の第1の実施の形態の系列データ並列分析基盤の構成を示したブロック図である。 本発明の第1の実施の形態の系列データ並列分析処理の手順を示したフローチャートである。 本発明の第1の実施の形態の系列データ並列ストアのデータ選択の手順を示したフローチャートである。 本発明の第1の実施の形態の系列データ並列ストアのデータ登録の手順を示したフローチャートである。 本発明の実施の形態の系列データ並列ストアのデータ登録における分散先決定の手順を示したフローチャートである。 本発明の実施の形態の系列データ並列ストアのデータ登録における分散先決定の手順を示したフローチャートである。 本発明の実施の形態の系列データ並列ストアのデータ登録における分散先決定の手順を示したフローチャートである。 本発明の実施の形態の系列データ並列ストアのデータ登録における分散先決定の手順を示したフローチャートである。 本発明の第1の実施の形態の系列データ並列ストアのMap処理中におけるデータ登録の手順を示したフローチャートである。 本発明の第1の実施の形態の実施効果を示した説明図である。 本発明の第2の実施の形態を示したブロック図である。 本発明の第2の実施の形態の系列データ並列分析処理の手順を示したフローチャートである。 本発明の第2の実施の形態の系列データ並列ストアのデータ選択の手順を示したフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。
(第1の実施の形態)
図1には本発明における系列データ並列分析基盤102の概要を示す。系列データ並列分析基盤102は系列データ101を入力、蓄積する系列データ並列ストア103と系列データ並列ストア103のデータを利用して分散分析を行う並列処理基盤104とから構成される。並列処理基盤104にはユーザ106が処理指示を行い、その結果を系列データ並列ストア103か分析結果データ105として出力することができる。ユーザ106は、人間であってもよいし、別のシステムやプログラム等であってもよい。
このように構成することで、逐次的に系列データ101を蓄積することができ、さらに並列分析基盤を利用して蓄積された系列データ101に対して、ユーザ106の任意のタイミングで分析を行うことができる。
図2には系列データの構成を示す。系列データは、1つ以上のデータブロック203から構成され、一つのデータブロック203は順序を示す順序性ラベル201と1つ以上の値202とから構成される。順序性ラベルには、一般的には数値や日時が利用されるが、その他、順序性が定義可能な、例えばa、b、cなどの記号などでもよい。
図3には一般的な系列データカラムストア301の構成を示す。系列データカラムストア301系列データ101を読み込むデータ読込部30とデータを格納するデータベース302とデータを取得するデータ選択部とから構成されている。データベース302には系列データ101が順序ラベル範囲303と系列ID304と値ブロック305の所謂、カラムストアの形式で格納されている。データ選択部に対して、ユーザ106が指示・操作を与えることで、データを取得できる構成である。
このようにすることで、ユーザ106が所望の順序ラベル範囲303と系列ID304に対して、その順序性ラベルと値の集合を高速に取得することが可能となり、さらに値ブロックに圧縮技術を適用することで蓄積している系列データ101の容量を削減することが可能となる。
図4には一般的な並列処理基盤104の構成を示す。並列処理基盤104は、処理状況を監視・管理するジョブ・タスク管理サーバ401とデータを管理するデータブロック管理サーバ402とデータブロック203を処理するデータブロック処理サーバ403とデータブロック処理サーバの結果を集約処理するブロック処理集約サーバ404から構成されている。データブロック処理サーバ403及びブロック処理集約サーバ404は一つ以上存在し、データブロック処理サーバ403及びブロック処理集約サーバ404を同一の機器上に設置するようにしてもよい。ユーザ106は、ジョブ・タスク管理サーバ401に対して、指示・操作を行い、処理の結果を取得することができる。このようにすることで、様々なデータに対する分散分析処理を柔軟にかつ、少ない工数で記述することが可能となる。
図5には、本発明第一の実施例における系列データ並列分析基盤102の構成を示す。処理状況を監視・管理するジョブ・タスク管理サーバ401とデータブロック509とデータブロック509を処理するデータブロック処理サーバ403とデータブロック処理サーバの結果を集約処理するブロック処理集約サーバ404と分散系列データ管理部501から構成されている。
分散系列データ管理部501は、データ読込部502とデータ選択部503と分散先決定部504とデータ検索部505とデータ入出力部506と分散情報管理データベース507から構成されている。分散情報管理データベース507は順序ラベル範囲303と系列ID304とメタ情報508から構成されている。メタ情報508にはデータブロック509が実際に保持されているサーバの情報を格納しており、データブロック509は複数のサーバに重複してデータを設置してもよく、その場合にはメタ情報508に複数のデータ保持サーバの情報が格納されている。
本構成は、図3に示した系列データカラムストア301と図4に示した並列処理基盤104を組み合わせた構成を基本としているが、データブロックについては分散情報管理データベース507には保持せず、データブロック処理サーバ403と同一または、データブロック処理サーバ403が容易にデータ取得可能な機器にデータブロック509を保持している点が特徴である。データブロック509は図3における値ブロック305をファイル化したものを利用することができる。
このような構成とすることで、系列データ101を複数のサーバ・機器等に保持することができ、データ蓄積における保持容量の増大や、機器類等を増設することによる保持容量の拡大を容易にすることができると共に、データが増大した場合においても機器類を増大させることで分析処理能力も向上させることが可能となる。
以下、系列データ並列分析基盤102の基本動作を図6乃至図11のフローチャート図を用いて説明する。
図6には系列データ並列分析基盤102における分散分析の実行の方法を示す。最初に、ユーザ106からの処理実行要求が系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる順序ラベル範囲303と系列ID304と処理内容を記述したプログラムが含まれている(Step 1)。次に処理実行要求に含まれる、順序ラベル範囲303と系列ID304に対応するデータブロック509を示す情報を、データ検索部505を介して分散情報管理データベース507から取得する(Step 2)。
並列処理基盤104は、ジョブ・タスク管理サーバ401において、分散情報管理データベースから得られたデータブロック509の情報に基づいて、同時に抽出処理を行うデータブロックを選択し、一つのチャンクとする。この際、データブロックと抽出処理を行うサーバは同一の機器であることが望ましいが、異なる機器であってもよい。異なる機器である場合には、その機器から例えばssh, scpなどの手段でデータブロック509のデータを取得することができる(Step 3)。ジョブ・タスク管理サーバ401は、チャンク毎に抽出処理タスクを生成し、データブロック処理サーバ403に抽出処理タスクを指示する(Step 4)。
データブロック処理サーバ403は、チャンクから順序性ラベルにおける順序に従って、データを取得し、Step 1で指定された処理内容を記述したプログラムに従って、抽出処理を行う。抽出処理においては、処理結果のデータは、データブロック509における値に対応する順序性ラベルとは別の順序性ラベル(以下、keyと呼ぶ)が付与された、値(以下、valueと呼ぶ)の形式をとる。keyは前述のデータブロック509における順序性ラベルと同一であってもよく、keyに指定されるラベルは重複していてもよい(Step 5)。抽出処理の結果は、ブロック処理集約サーバ404に送信される(Step 6)。
送信されたデータは、ブロック処理集約サーバ404においてkeyによってソートされる(Step 7)。ブロック処理集約サーバ404では、同一のkeyを持つ値毎に集約処理が行われる(Step 8)。最後に集約処理の結果を出力して分析処理は終了である。この際、出力先として、任意のファイル(例えばタブ区切りテキストやXMLファイル)であってもよいし、分散系列データ管理部501にデータを登録してもよいし、系列データ並列分析基盤102外の別プログラムにメモリ上で受け渡しを行ってもよい(Step 9)
このようにすると、データブロックの順序ラベル範囲303を適切。に指定することで、Step 5における抽出処理で、データの順序性が保証されるため、例えば移動平均やフーリエ変換などの順序性に基づいて行われる処理が、抽出処理において記述できる。
一般的に、集約処理は抽出処理よりも少ないサーバ数、タスク数で実行されるため、抽出処理において順序性に基づいて行われる処理が記述可能となることは、処理の高速化やStep 6における処理結果の送信量を削減することが可能となり、低負荷で高速な分散分析が、系列データ101に対しても実現できる。
図7には系列データ並列分析基盤102におけるデータ選択の方法を示す。
最初に、ユーザ106からの処理実行要求が系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる順序ラベル範囲303と系列ID304とが含まれている(Step 11)。次に処理実行要求に含まれる、順序ラベル範囲303と系列ID304に対応するデータブロック509を示す情報を、データ検索部505を介して分散情報管理データベース507から取得する(Step 12)。データブロックの内のデータを、例えばssh、scpなどの通信手段でデータ入出力部506とデータ検索部505を介して分散系列データ選択部に送信する(Step 13)。データ選択部では、ユーザ106の所望の形式となるように、データを、ファイル(例えばタブ区切りテキストやXMLファイル)や、系列データ並列分析基盤102外の別プログラムにメモリ上で受け渡し可能な形式に変換したうえで出力を行って終了となる(Step 14)。このようにすることで、並列処理基盤104を介さずにデータを入手することが可能となる。
図8には系列データ並列分析基盤102におけるデータ登録の方法を示す。
最初に、ユーザ106からの処理実行要求がデータ読込部502を介して系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる系列データ101と登録に使用する系列ID304とが含まれている(Step 21)。次に、データ読込部では、例えば、バイナリ・タブ区切りテキスト・XMLなどの形式で入力された系列データ101を系列ID304とあらかじめ設定された順序ラベル範囲303で分割を行う(Step 22)。
Step 22で分割されたデータをブロック化する。例えば、圧縮技術を適用することでデータを削減したブロックを生成することができる(Step 23)。分散先決定部504に具備されている分散先決定方法に従って、どのサーバ・機器にデータブロック509を保持するかを決定する。この際、可用性を考慮して複数のサーバ・機器を選択することができる(Step 24)。Step 24までに得られた順序ラベル範囲303と系列ID304と分散先サーバ・機器の情報を含むメタ情報とを分散情報管理データベース507に登録を行う(Step 25)。最後に、データ入出力部506を介して、サーバ・機器等にデータブロック509を配置して終了となる(Step 26)。
このように構成することで、ユーザ106がカスタマイズ可能か形式で分散先を決定可能なデータ登録が可能となる。
図9には分散先決定方法の一例を示す。図9に示す方法は、一般的にラウンドロビンと呼ばれる決定手法である。本方法は、分散先サーバ・機器の情報を保持したリストと、リストの内一つの分散先を示す分散先リストポインタを具備している。
最初に、決定数を0とする(Step 31)。データブロック509毎に、分散先リストポインタが示しているサーバ・機器を分散先として指定する(Step 32)。Step 33にて分散先リストポインタがリスト上の最後の分散先でないと判明したときは、分散先リストポインタは一つリスト上で移動する(Step 34)。Step 33にて分散先リストポインタがリスト上で最後の分散先を指示している場合はリストの先頭に移動する(Step 35)。次に決定数を一つ増加させる(Step 36)。以上の処理(Step 32からStep 36まで)を、決定数があらかじめ設定された多重度となるまで繰り返し、処理を終了する(Step 37)。このようにすることで、特定のサーバ・機器に偏ることがなくデータブロック509を分散配置することが可能となる。
図10には分散先決定方法の一例を示す。図10に示す方法は、各サーバ・機器の使用記憶容量を均等化する決定手法である。本方法は、分散先リストと分散先リストの使用記憶容量を取得する手段を具備している。
最初に、決定数を0とする。(Step 41)。各サーバ・機器の使用記憶容量を取得し最も使用容量が少ないサーバ・機器を分散先に決定する(Step 42)。次に、決定数を一つ増加させる(Step 43)。以上の動作(Step 42からStep 43まで)を決定数があらかじめ設定された多重度となるまで繰り返し、終了する(Step 44)。このようにすることで、各サーバ・機器の使用記憶容量を均等化することが可能となる。
図11には分散先決定方法の一例を示す。図11に示す方法は、系列ID304毎に分散先を指定する決定手法である。本方法は、分散先リストと分散先リストと系列ID304の紐付けを行う関数fを具備している。
最初に、決定数を0とする(Step 51)。データブロック509毎に、関数fを実行する(Step 52)。関数fの値に対応する分散先リストが示しているサーバ・機器を分散先として指定する(Step 53)。決定数を一つ増加させる(Step 54)。以上の動作(Step 52からStep 54まで)を決定数があらかじめ設定された多重度となるまで繰り返し、終了する(Step 55)。関数fとしては、例えばハッシュ関数や、剰余算などが利用でき、引数には、系列ID304や系列ID304を数値化したものを使用することができる。この際、分散先リストにサーバ等が追加、削除された場合において、ある系列ID304に紐付くサーバ等が削除されていない場合においては、旧来と同じサーバ等が得られるような関数fとする。
このようにすることで、複数の系列ID304に対し、同じ順序ラベル範囲303での分散処理が行われる場合において、効率的に複数の基盤で分散処理タスクを実行することが可能となる。
図12には分散先決定方法の一例を示す。図12に示す方法は、順序ラベル範囲303毎に分散先を指定する決定手法である。本方法は、分散先リストと分散先リストと順序ラベル範囲303の紐付けを行う関数gを具備している。
最初に、決定数を0とする(Step 61)。データブロック509毎に、関数gを実行する(Step 62)。次に、関数gの値に対応する分散先リストが示しているサーバ・機器を分散先として指定する(Step 63)。次に、決定数を一つ増加させる(Step 64)。以上の動作(Step 62からStep 64まで)を決定数があらかじめ設定された多重度となるまで繰り返し、終了する。(Step 65)。関数gとしては、例えばハッシュ関数や、剰余算などが利用でき、引数には、順序ラベル範囲303や順序ラベル範囲303を数値化したものを使用することができる。この際、分散先リストにサーバ等が追加、削除された場合において、ある順序ラベル範囲303に紐付くサーバ等が削除されていない場合においては、旧来と同じサーバ等が得られるような関数gとする。
このようにすることで、複数の順序ラベル範囲303に対し、同じ系列ID304での分散処理が行われる場合において、効率的に複数の基盤で分散処理タスクを実行することが可能となる。
図13には系列データ並列分析基盤102における抽出処理中におけるデータブロックの登録の方法を示す。
最初に、ユーザ106からの処理実行要求が系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる順序ラベル範囲303と系列ID304とデータブロック登録時の系列ID304と分散配置先情報と処理内容を記述したプログラムが含まれている(Step 71)。次に処理実行要求に含まれる、処理対象の順序ラベル範囲303と系列ID304に対応するデータブロック509を示す情報を、データ検索部505を介して分散情報管理データベース507から取得すると共に、分散先決定部を介してあらかじめデータブロック509の登録先となるサーバ・機器等を決定し、その情報をデータ登録時の方法と同様に分散情報管理データベースに登録を行う(Step 72)。並列処理基盤104は、ジョブ・タスク管理サーバ401において、分散情報管理データベースから得られたデータブロック509の情報に基づいて、同時に抽出処理を行うデータブロックを選択し、一つのチャンクとする。この際、データブロックと抽出処理を行うサーバは同一の機器であることが望ましいが、異なる機器であってもよい。異なる機器である場合には、その機器から例えばssh, scpなどの手段でデータブロック509のデータを取得することができる(Step 73)。
ジョブ・タスク管理サーバ401は、チャンク毎に抽出処理タスクを生成し、データブロック処理サーバ403に抽出処理タスクを指示する(Step 74)。データブロック処理サーバ403は、チャンクから順序性ラベルにおける順序に従って、データを取得し、Step 71で指定された処理内容を記述したプログラムに従って、抽出処理を行う(Step75)。抽出処理においてデータブロックの登録を行う場合は、抽出処理タスクの対象となっているチャンクと同一の時間範囲と、Step 71で指定された系列ID304で抽出処理結果のデータをデータブロック509の形状に変換し、Step 72で決定されたサーバ・機器等に書き出しを行って終了となる(Step 76)。この際、データブロックの配置には、ssh、scpなどの通信手段を用いてもよいが、分散配置先のサーバ・機器等は、抽出処理となるべく同一のサーバ・機器等となるように設定することで、通信量を削減することができる。
このようにすると、一度集約処理をしてからデータ登録をする場合に対して、集約処理のためのデータ送信・書き出しや、集約処理後のデータ送信・書き出しを削減することができ、システムの負荷を軽減することが可能となり、システムの動作の高速化を実現することが可能となる。
図14には、系列データ並列分析基盤102と既存の分散分析基盤を使用した場合の、移動平均を計算した場合の処理時間比較を示す。システムの機器構成は同一のものを使用し、データブロック処理サーバとブロック処理集約サーバ はどちらも5台サーバを利用した。
どちらの場合も、計算時間のうち30秒程度は、並列処理基盤の初期設定に時間を要しており、その他が実際に分析処理に係る時間である。本実施例の場合、既存技術と比較しておよそ5倍程度高速化しており、これはデータブロック処理サーバ中で移動平均の計算を実施可能であるためである。以上のように、系列データ101に対する様々な分析処理を柔軟に記述可能であり、データ量の増大に合わせて、機器を増加させることで、データ蓄積可能な領域と、分析処理を行う計算機能力を向上させることが可能な、系列データ並列分析基盤を構成することができる。
(第二の実施例)
第二の実施例は、第一の実施例に対し、データブロックをファイルで直接保持するのではなく、データブロックサーバ1501に格納して保持する点が異なる。図15には、本発明第二の実施例における系列データ並列分析基盤102の構成を示す。
処理状況を監視・管理するジョブ・タスク管理サーバ401とデータブロックサーバ1501とデータブロックサーバ1501から提供されるデータブロック509を処理するデータブロック処理サーバ403と、データブロック処理サーバの結果を集約処理するブロック処理集約サーバ404と、分散系列データ管理部501から構成されている。
分散系列データ管理部501は、データ読込部502とデータ選択部503と分散先決定部504とデータ検索部505とデータ入出力部506と分散情報管理データベース507から構成されている。分散情報管理データベース507は順序ラベル範囲303と系列ID304とメタ情報508から構成されている。メタ情報508にはデータブロック509が実際に保持されているデータブロックサーバ1501の情報を格納しており、データブロック509は複数のデータブロックサーバ1501に重複してデータを設置してもよく、その場合にはメタ情報508に複数のデータブロックサーバ1501の情報が格納されている。
本構成は、図3に示した系列データカラムストア301と図4に示した並列処理基盤104を組み合わせた構成を基本としているが、データブロック509については分散情報管理データベース507には保持せず、データブロック処理サーバ403と同一または、データブロック処理サーバ403が容易にデータ取得可能な機器にデータブロックサーバ1501を保持している点が特徴である。データブロック509は図3における値ブロック305をファイル化したものを利用することができ、データブロック509はデータブロックサーバ1501に保持されている。
このような構成とすることで、系列データ101を複数のサーバ・機器等に保持することができ、データ蓄積における保持容量の増大や、機器類等を増設することによる保持容量の拡大を容易にすることができると共に、データが増大した場合においても機器類を増大させることで分析処理能力も向上させることが可能となる。
以下、系列データ並列分析基盤102の基本動作を図6乃至図11のフローチャート図を用いて説明する。
図16には系列データ並列分析基盤102における分散分析の実行の方法を示す。
最初に、ユーザ106からの処理実行要求が系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる順序ラベル範囲303と系列ID304と処理内容を記述したプログラムが含まれている(Step 81)。次に処理実行要求に含まれる、順序ラベル範囲303と系列ID304に対応するデータブロック509を示す情報を、データ検索部505を介して分散情報管理データベース507から取得する(Step 82)。
並列処理基盤104は、ジョブ・タスク管理サーバ401において、分散情報管理データベースから得られたデータブロック509の情報に基づいて、同時に抽出処理を行うデータブロックを選択し、一つのチャンクとする(Step 83)。この際、データブロックサーバ1501が存在する機器と抽出処理を行う機器は同一の機器であることが望ましいが、異なる機器であってもよい。異なる機器である場合には、その機器から例えばssh, scpなどの手段でデータブロック509のデータを取得することができる。
次に、ジョブ・タスク管理サーバ401は、チャンク毎に抽出処理タスクを生成し、データブロック処理サーバ403に抽出処理タスクを指示する(Step 84)。データブロック処理サーバ403は、チャンクから順序性ラベルにおける順序に従って、データを取得し、Step 81で指定された処理内容を記述したプログラムに従って、抽出処理を行う。抽出処理においては、処理結果のデータは、データブロック509における値に対応する順序性ラベルとは別の順序性ラベル(以下、keyと呼ぶ)が付与された、値(以下、valueと呼ぶ)の形式をとる。keyは前述のデータブロック509における順序性ラベルと同一であってもよく、keyに指定されるラベルは重複していてもよい(Step 85)。
次に、抽出処理の結果は、ブロック処理集約サーバ404に送信される(Step 86)。送信されたデータは、ブロック処理集約サーバ404においてkeyによってソートされる(Step 87)。ブロック処理集約サーバ404では、同一のkeyを持つ値毎に集約処理が行われる(Step 8)。
最後に集約処理の結果を出力して分析処理は終了である。この際、出力先として、任意のファイル(例えばタブ区切りテキストやXMLファイル)であってもよいし、分散系列データ管理部501にデータを登録してもよいし、系列データ並列分析基盤102外の別プログラムにメモリ上で受け渡しを行ってもよい(Step 89)。
このようにすると、データブロックの順序ラベル範囲303を適切に指定することで、Step 85における抽出処理で、データの順序性が保証されるため、例えば移動平均やフーリエ変換などの順序性に基づいて行われる処理が、抽出処理において記述できる。
一般的に、集約処理は抽出処理よりも少ないサーバ数、タスク数で実行されるため、抽出処理において順序性に基づいて行われる処理が記述可能となることは、処理の高速化やStep 6における処理結果の送信量を削減することが可能となり、低負荷で高速な分散分析が、系列データ101に対しても実現できる。
図17には系列データ並列分析基盤102におけるデータ選択の方法を示す。
最初に、ユーザ106からの処理実行要求が系列データ並列分析基盤102に指示される。処理実行要求には、処理に用いる順序ラベル範囲303と系列ID304とが含まれている(Step 91)。次に処理実行要求に含まれる、順序ラベル範囲303と系列ID304に対応するデータブロック509を示す情報を、データ検索部505を介して分散情報管理データベース507から取得する(Step 92)。データブロックの内のデータを、例えばssh、scpなどの通信手段でデータブロックサーバ1501とデータ入出力部506とデータ検索部505を介して分散系列データ選択部に送信する(Step 93)。データ選択部では、ユーザ106の所望の形式となるように、データを、ファイル(例えばタブ区切りテキストやXMLファイル)や、系列データ並列分析基盤102外の別プログラムにメモリ上で受け渡し可能な形式に変換したうえで出力を行って終了となる(Step 94)。このようにすることで、並列処理基盤104を介さずにデータを入手することが可能となる。
101 系列データ
102 系列データ並列分析基盤
103 系列データ並列ストア
104 並列処理基盤
105 分析結果データ
106 ユーザ
201 順序性ラベル
202 値
203 データブロック
301 系列データカラムストア
302 データベース
303 順序性ラベル範囲
304 系列ID
305 値ブロック
306 データ選択部
307 データ読込部
401 ジョブ・タスク管理サーバ
402 データブロック管理サーバ
403 データブロック処理サーバ
404 ブロック処理集約サーバ
501 分散系列データ管理部
502 データ読込部
503 データ選択部
504 分散先決定部
505 データ検索部
506 データ入出力部
507 分散情報管理データベース
508 メタ情報
509 データブロック
1501 データブロックサーバ

Claims (8)

  1. 順序性ラベルと前記順序性ラベルに一対一、もしくは一対多で対応付けされる少なくとも一つ以上の値と、前記値の内一つずつを区別するための値名とで構成された系列データに対して並列分散処理を行う系列データ並列分析基盤であって、
    一つ以上の計算機器と前記計算機器がデータ授受を行うためのネットワークで構成されるデータ処理を並列に行う並列処理基盤と、
    前記計算機器に分散されて配置された前記系列データを管理する分散系列データ管理部を具備し、
    前記並列処理基盤は、
    前記計算機器毎に前記系列データの内複数の順序性ラベルそれぞれに対応付けられた値を含むように構成された少なくとも一つ以上のデータブロックと、
    前記計算機器毎に前記データブロックに対して処理を行う、少なくとも一つ以上のデータブロック処理サーバと、
    前記計算機器毎に前記データブロック処理サーバの結果を処理する少なくとも一つ以上のブロック処理集約サーバとを具備し、
    前記分散系列データ管理部は、
    前記系列データを前記系列データ並列分析基盤に保持するためのデータ読込部と、
    前記系列データを前記系列データ並列分析基盤にから取得するためのデータ選択部と、
    前記データブロックを管理するための分散情報管理データベースを具備し、
    前記分散情報管理データベースには、前記データブロックの前記順序性ラベルの範囲を指示す順序ラベル範囲と、前記データブロックの前記値名に対応する系列IDと、前記データブロックを配置した前記計算機器を特定するメタ情報とで構成された管理データを保持すること
    を特徴とする系列データ並列分析基盤。
  2. 前記分散系列データ管理部には、前記データブロックを保持する前記計算機器を決定する分散先決定部を具備することを特徴とする請求項1記載の系列データ並列分析基盤。
  3. 前記分散先決定部は、前記順序ラベル範囲が同一前記データブロックを、前記計算機器のうち同一の前記計算機器に保持するように決定することを特徴とする請求項記載の系列データ並列分析基盤。
  4. 前記分散先決定部は、前記系列IDが同一前記データブロックを、
    前記計算機器のうち同一の前記計算機器に保持するように決定することを特徴とする請求項記載の系列データ並列分析基盤。
  5. 前記分散先決定部は、前記計算機器の記録装置の占有容量が最も少ない前記計算機器に決定することを特徴とする請求項記載の系列データ並列分析基盤。
  6. 前記分散先決定部は、前記データブロックを保持する前記計算機器を周期的に決定することを特徴とする請求項記載の系列データ並列分析基盤。
  7. 前記データブロックがファイル形式であることを特徴とする請求項1記載の系列データ並列分析基盤。
  8. 一つ以上の計算機器と前記計算機器がデータ授受を行うためのネットワークで構成される並列処理基盤を用い、順序性ラベルと前記順序性ラベルに一対一、もしくは一対多で対応付けされる少なくとも一つ以上の値と、前記値の内一つずつを区別するための値名とで構成された系列データに対して並列分散処理を行う並列分散処理方法であって、
    前記並列処理基盤の前記計算機器毎に、前記系列データの内複数の順序性ラベルそれぞれに対応付けられた値を含むように構成された少なくとも一つ以上のデータブロックと、前記データブロックに対して処理を行う少なくとも一つ以上のデータブロック処理サーバと、前記データブロック処理サーバの結果を処理する少なくとも一つ以上のブロック処理集約サーバとを準備し、
    前記計算機器に分散されて配置された前記系列データを管理する分散系列データ管理部に、前記データブロックを管理するための分散情報管理データベースとして、前記データブロックの前記順序性ラベルの範囲を指示す順序ラベル範囲と、前記データブロックの前記値名に対応する系列IDと、前記データブロックを配置した前記計算機器を特定するメタ情報とを保持管理することを特徴とする系列データの並列分散処理方法。
JP2015524916A 2013-07-01 2013-07-01 系列データ並列分析基盤およびその並列分散処理方法 Expired - Fee Related JP6069503B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/067972 WO2015001596A1 (ja) 2013-07-01 2013-07-01 系列データ並列分析基盤およびその並列分散処理方法

Publications (2)

Publication Number Publication Date
JP6069503B2 true JP6069503B2 (ja) 2017-02-01
JPWO2015001596A1 JPWO2015001596A1 (ja) 2017-02-23

Family

ID=52143219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015524916A Expired - Fee Related JP6069503B2 (ja) 2013-07-01 2013-07-01 系列データ並列分析基盤およびその並列分散処理方法

Country Status (4)

Country Link
US (1) US10048991B2 (ja)
JP (1) JP6069503B2 (ja)
CN (1) CN105308579B (ja)
WO (1) WO2015001596A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6364727B2 (ja) * 2013-09-24 2018-08-01 日本電気株式会社 情報処理システム、分散処理方法、及び、プログラム
US10496630B2 (en) * 2015-10-01 2019-12-03 Microsoft Technology Licensing, Llc Read-write protocol for append-only distributed databases
US10394620B2 (en) * 2016-11-21 2019-08-27 International Business Machines Corporation Method for changing allocation of data using synchronization token
JP6940325B2 (ja) * 2017-08-10 2021-09-29 株式会社日立製作所 分散処理システム、分散処理方法、及び分散処理プログラム
CN108172268A (zh) * 2017-12-27 2018-06-15 苏州麦迪斯顿医疗科技股份有限公司 一种批量数据处理方法、装置、终端和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252394A (ja) * 2005-03-14 2006-09-21 Sony Corp 情報処理システム、情報処理装置および方法、並びにプログラム
JP2008310634A (ja) * 2007-06-15 2008-12-25 Mitsubishi Electric Corp データベース検索装置及びデータベース検索プログラム
JP2011150503A (ja) * 2010-01-21 2011-08-04 Hitachi Ltd 並列分散処理方法、及び、計算機システム
WO2012020456A1 (ja) * 2010-08-11 2012-02-16 株式会社日立製作所 時系列データ処理装置及びその方法
JP2012117987A (ja) * 2010-12-03 2012-06-21 Hitachi Ltd データ処理方法、データ処理システム、及びデータ処理装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408359B1 (en) * 1996-04-30 2002-06-18 Matsushita Electric Industrial Co., Ltd. Storage device management system and method for distributively storing data in a plurality of storage devices
US7315877B2 (en) * 2001-02-24 2008-01-01 International Business Machines Corporation Efficient implementation of a multidimensional fast fourier transform on a distributed-memory parallel multi-node computer
US7257716B2 (en) * 2002-08-27 2007-08-14 Apple Inc. Method and apparatus for uploading mass-distributed content to a server
EP1716505B1 (en) * 2004-02-21 2018-01-10 Microsoft Technology Licensing, LLC Ultra-shared-nothing parallel database
JP4398777B2 (ja) * 2004-04-28 2010-01-13 株式会社東芝 時系列データ分析装置および方法
JP4502375B2 (ja) * 2004-05-27 2010-07-14 キヤノン株式会社 ファイルシステムおよびその制御方法
US7756919B1 (en) * 2004-06-18 2010-07-13 Google Inc. Large-scale data processing in a distributed and parallel processing enviornment
US7590620B1 (en) * 2004-06-18 2009-09-15 Google Inc. System and method for analyzing data records
US20080022343A1 (en) * 2006-07-24 2008-01-24 Vvond, Inc. Multiple audio streams
JP4854309B2 (ja) * 2006-01-23 2012-01-18 シャープ株式会社 データ格納制御装置
US8190610B2 (en) * 2006-10-05 2012-05-29 Yahoo! Inc. MapReduce for distributed database processing
US7870114B2 (en) * 2007-06-15 2011-01-11 Microsoft Corporation Efficient data infrastructure for high dimensional data analysis
US9195700B1 (en) * 2007-10-10 2015-11-24 United Services Automobile Association (Usaa) Systems and methods for storing time-series data
CN101183368B (zh) * 2007-12-06 2010-05-19 华南理工大学 联机分析处理中分布式计算及查询海量数据的方法和***
US8566382B2 (en) * 2008-09-22 2013-10-22 Advanced Micro Devices, Inc. Method and apparatus for improved calculation of multiple dimension fast fourier transforms
US10002019B2 (en) * 2009-05-11 2018-06-19 International Business Machines Corporation System and method for assigning a transaction to a serialized execution group based on an execution group limit for parallel processing with other execution groups
JP5898409B2 (ja) * 2011-03-24 2016-04-06 オリンパス株式会社 データ処理装置およびデータ処理方法
US9798831B2 (en) * 2011-04-01 2017-10-24 Google Inc. Processing data in a MapReduce framework
US8924426B2 (en) * 2011-04-29 2014-12-30 Google Inc. Joining tables in a mapreduce procedure
US8806588B2 (en) * 2011-06-30 2014-08-12 Amazon Technologies, Inc. Storage gateway activation process
US9239871B2 (en) * 2011-07-06 2016-01-19 Ca, Inc. System and method for analyzing sequential data access efficiency
US20130091266A1 (en) * 2011-10-05 2013-04-11 Ajit Bhave System for organizing and fast searching of massive amounts of data
JP5522155B2 (ja) * 2011-12-09 2014-06-18 株式会社デンソー プログラム書換方法及びプログラム書換装置,電子制御装置
US9304858B2 (en) * 2011-12-12 2016-04-05 International Business Machines Corporation Analyzing found data in a distributed storage and task network
US8938416B1 (en) * 2012-01-13 2015-01-20 Amazon Technologies, Inc. Distributed storage of aggregated data
US9229657B1 (en) * 2012-11-01 2016-01-05 Quantcast Corporation Redistributing data in a distributed storage system based on attributes of the data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006252394A (ja) * 2005-03-14 2006-09-21 Sony Corp 情報処理システム、情報処理装置および方法、並びにプログラム
JP2008310634A (ja) * 2007-06-15 2008-12-25 Mitsubishi Electric Corp データベース検索装置及びデータベース検索プログラム
JP2011150503A (ja) * 2010-01-21 2011-08-04 Hitachi Ltd 並列分散処理方法、及び、計算機システム
WO2012020456A1 (ja) * 2010-08-11 2012-02-16 株式会社日立製作所 時系列データ処理装置及びその方法
JP2012117987A (ja) * 2010-12-03 2012-06-21 Hitachi Ltd データ処理方法、データ処理システム、及びデータ処理装置

Also Published As

Publication number Publication date
WO2015001596A1 (ja) 2015-01-08
CN105308579A (zh) 2016-02-03
US20160203032A1 (en) 2016-07-14
JPWO2015001596A1 (ja) 2017-02-23
CN105308579B (zh) 2018-06-08
US10048991B2 (en) 2018-08-14

Similar Documents

Publication Publication Date Title
US9135071B2 (en) Selecting processing techniques for a data flow task
JP6069503B2 (ja) 系列データ並列分析基盤およびその並列分散処理方法
JP5203733B2 (ja) コーディネータサーバ、データ割当方法及びプログラム
US20180248934A1 (en) Method and System for a Scheduled Map Executor
US10095699B2 (en) Computer-readable recording medium, execution control method, and information processing apparatus
US9535743B2 (en) Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process
US20160154867A1 (en) Data Stream Processing Using a Distributed Cache
CN105205154B (zh) 数据迁移方法以及装置
US11151141B2 (en) Data processing device and data processing method
US20140215003A1 (en) Data processing method, distributed processing system, and program
JPWO2012137347A1 (ja) 計算機システム及び並列分散処理方法
US10326824B2 (en) Method and system for iterative pipeline
US10334028B2 (en) Apparatus and method for processing data
JP6262505B2 (ja) 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム
WO2013145310A1 (ja) データストリームの並列処理プログラム、方法、及びシステム
Salehian et al. Comparison of spark resource managers and distributed file systems
US20150269086A1 (en) Storage System and Storage Method
KR20160145250A (ko) 가상 머지를 지원하는 셔플 내장형 분산 스토리지 시스템 및 그 방법
RU2679546C2 (ru) Устройство и способ прогона множества потоков
US10915373B2 (en) Enabling rewire-aware MapReduce cluster in disaggregated systems
Bhushan et al. Cost based model for big data processing with hadoop architecture
US11985213B1 (en) Stateless triggering and execution of interactive computing kernels
El Handri et al. Top KWS Algorithm in the Map-Reduce Paradigm for Cloud Computing QoS Recommendation System
Rhine et al. Locality aware mapreduce
JP6790552B2 (ja) データ特定プログラム、データ特定方法、及びデータ特定装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161226

R150 Certificate of patent or registration of utility model

Ref document number: 6069503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees