JP2009026292A - データ分配方法、データ分配プログラム、及び並列データベースシステム - Google Patents

データ分配方法、データ分配プログラム、及び並列データベースシステム Download PDF

Info

Publication number
JP2009026292A
JP2009026292A JP2007321768A JP2007321768A JP2009026292A JP 2009026292 A JP2009026292 A JP 2009026292A JP 2007321768 A JP2007321768 A JP 2007321768A JP 2007321768 A JP2007321768 A JP 2007321768A JP 2009026292 A JP2009026292 A JP 2009026292A
Authority
JP
Japan
Prior art keywords
data
server
data server
storage area
processor
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
Application number
JP2007321768A
Other languages
English (en)
Other versions
JP5031538B2 (ja
Inventor
Giyu Iijima
岐勇 飯島
Yukio Nakano
幸生 中野
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 JP2007321768A priority Critical patent/JP5031538B2/ja
Priority to US12/041,299 priority patent/US20080320053A1/en
Publication of JP2009026292A publication Critical patent/JP2009026292A/ja
Application granted granted Critical
Publication of JP5031538B2 publication Critical patent/JP5031538B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数のデータサーバを備える並列データベースシステムにおいて、データの分配に必要な時間を短縮する。
【解決手段】分配元のデータが格納される第1の記憶装置と、複数のデータサーバによってアクセスされ、第1の記憶装置から分配されたデータが格納される第2の記憶装置とを含む並列データベースシステムにおいて、第2の記憶装置は、第1の記憶装置から分配されたデータを格納する記憶領域をデータサーバごとに提供し、各記憶領域にデータサーバに対応するデータ格納領域をデータサーバごとに作成し、第1の記憶装置から送信されたデータの特性に基づいて、受信したデータが管理されるデータサーバを特定し、特定されたデータサーバに対応するデータ格納領域に受信したデータを格納し、データサーバに対応するデータ格納領域を当該データサーバによってアクセス可能となるように設定する。
【選択図】図1

Description

本発明は、データを分散して管理する並列データベースシステムにおいて、データを分配する技術に関する。
並列データベースは、大容量のデータを管理する際に、データの格納先(以降、「データサーバ」)を複数に分割することができる。そして、データを各データサーバに分配し、各データサーバで管理されるデータ量を減らすことによって、並列データベース全体としての性能を向上させることができる。
データベース管理者は、データを各データサーバに分配する際、管理対象のデータを所定の条件に基づいて分類し、データサーバごとに格納することによって並列データベースの運用を容易にすることができる。例えば、データサーバA、データサーバB、データサーバC、及びデータサーバDの4つのデータサーバがある場合に、データサーバAには部署Aが作成したデータを、データサーバBには部署Bが作成したデータを、データサーバCには部署Cが作成したデータを、データサーバDには部署Dが作成したデータを格納する。このように構成することによって、部署Aで作成されたデータをバックアップする場合にはデータサーバAのみに限定することができる。
一方、各データサーバにランダムにデータを格納した場合には、部署Aで作成されたデータをバックアップする場合であっても、システム全体の静止化又はレスポンス低下などの影響が生じてしまう。
このように、管理対象のデータが各データサーバに分類されて配置されるシステム形態では、データを確実に保管するためのシステム(原本管理システム)と、保管されたデータを業務で活用するためのシステムに分けることによって、運用性を向上させることができる。
このような運用では、ディザスタリカバリなどの高度なバックアップ処理は原本管理システムに対して実行される。また、災害、大規模停電、又はシステムのリプレースの際など、システムの再構築が必要な場合には、原本管理システムからデータをデータ活用システムに分配してシステムを再構築する。
また、並列データベースにおいてデータサーバごとに管理されるデータを分類する場合には、データを各データサーバに分配する際に対象のデータの特性又は内容を把握する必要がある。そこで、分配前に対象のデータを解析して対象のデータの特性を把握し、把握された特性に基づいて各データサーバに対象のデータを分配する。例えば、分配対象データの先頭5バイト目から4バイトの情報を切り出して4バイトの整数値とし、1ならば部署Aが作成したデータであるものとしてデータサーバAに分配し、同様に、2ならばデータサーバB、3ならばデータサーバC、4ならばデータサーバDに分配する。
さらに、各データサーバは、それぞれ別のデータ格納領域を持ち、それぞれの領域を占有することによって排他処理などを実行することなく、高速な格納処理を実現することができる。このようなシステム構成において、各データサーバが占有する領域の大きさを決定する方法として、共有ディスク格納領域自動設定方式が開示されている(特許文献1参照)。
従来の並列データベースは、このように予め定められた形式のデータのみを格納する仕様であったため、高速に処理することが可能であった。例えば、登録データの形式は、先頭4バイトがデータの識別子、次の4バイトがアクセスレベルに関する情報、次の256バイトがデータ名、次の4バイトがポインタ情報などのように厳密に定義されていた。そして、格納時には、定義されたフォーマットに基づいてデータを解析し、各項目の値を取得する。したがって、分配する前に対象のデータを解析してその特性又は内容を把握することは、分配から格納までの処理において、対象のデータを二回解析する必要がある。
ただし、分配自体にかかる時間に比べ、対象のデータが定型で解析にかかる時間が十分に小さい場合は実用上問題がない。例えば、オーバヘッドとして見込まれた転送速度は100メガバイト/秒であれば、解析に必要な時間はこれよりも小さく、スループットのネックが転送速度であるとすれば、4テラバイトのデータの分配は、約11時間(半日)で完了する。
特開2006−11786号公報
一方、分配対象のデータが構造化文書となる場合には、同様に処理することはできない。構造化文書とは、例えば、XML(Extensible Markup Language)で記述された文書(以下、「XML文書」)などである。
構造化文書では、文書内に分類するための項目の配置が固定されていない場合があり、文書そのものを解析する必要がある。したがって、構造化文書の解析は、定型データからのデータの切り出しと比較して、大きな処理コストを必要とする。例えば、1つのXML文書の解析を9ミリ秒とすると、4テラバイト(10キロバイトのXML文書が4億件)のデータを分配するためには、1,000時間(約42日)必要とする。
解析に必要な時間は、分配前に分配対象のデータを解析する専用のサーバ(パースサーバ)を複数台用意し、並列に処理することで短縮することが可能である。しかし、パースサーバは一度データベースを構築した後は使用されないため、パースサーバを複数台確保することは、コスト面の問題から現実的ではない。
また、このような問題はデータの解析処理の時間に関する問題であるため、特許文献1に開示された共有ディスク格納領域自動設定方式では解決することはできない。
本発明は、複数の格納先(データサーバ)を有する並列データベースにおいて、解析処理の負荷が大きいデータを特性又は内容に基づいて特定のデータサーバで管理する場合に、解析専用サーバ(パースサーバ)を必要とせずに大容量のデータ量を実用上問題のない時間でデータベースを構築することを可能とする技術を提供することを目的とする。
本発明の代表的な一形態では、複数のデータサーバによってデータが管理される並列データベースシステムにおいて、データを分配するデータ分配方法であって、前記並列データベースシステムは、前記データの特性と前記データが管理されるデータサーバとの対応情報、及び、前記データの特性に対応したデータ格納領域を有し、前記データ分配方法は、前記データ格納領域に格納するデータから前記データの特性を抽出し、前記抽出されたデータの特性に基づいて、対応する前記データ格納領域に前記データを格納し、前記各データサーバは、前記対応情報及び前記データ格納領域に格納されたデータの特性に基づいて、該当する各データ格納領域にアクセスする。
以下、課題を解決するための手段を、図面を参照して説明する。
本発明によるデータの分配は、データを格納する段階(格納フェーズ)及び管理する段階(管理フェーズ)に分けられる。
図27は、本発明が適用される並列データベースシステムの格納フェーズの概念を示す図である。
並列データベースシステムは、データロード制御サーバ2715、原本管理サーバ2717、格納媒体2719、複数のデータサーバ、及び、格納媒体2720を有する。
データロード制御サーバ2715は、原本となるデータを各データサーバに分配する制御を実行する。データロード制御サーバ2715は、データの分配を制御するデータロード制御プログラム2716を有する。
原本管理サーバ2717は、各データサーバに登録するデータを管理する。原本管理サーバ2717は、登録対象のデータを格納媒体2719から読み出すデータ読み出しプログラム2718を有する。
格納媒体2719は、各データサーバに登録するデータを格納する。格納媒体2720は、各データサーバが参照するデータ格納領域を制御する参照パスコントローラ2721を有する。
複数のデータサーバには、図27では、データサーバ2701、データサーバ2702、及び、データサーバ2703が含まれている。ここで、データサーバについて、データサーバ2701を例として説明する。データサーバ2702又はデータサーバ2703といった他のデータサーバについても、データサーバ2701と同等の構成を有し、同等の処理を実行することが可能である。
データサーバ2701は、データ格納管理プログラム2713、データの特性と当該データの特性を管理するデータサーバとの対応情報、及び、対応管理リスト2714を有する。
データ格納管理プログラム2713は、登録対象のデータからデータ特性を抽出する機能を有する。対応管理リスト2714は、格納フェーズにおいて各データ格納領域にデータを格納するデータサーバ(格納サーバ)と、管理フェーズにおいて各データ格納領域に格納されたデータを管理するデータサーバ(管理サーバ)との対応関係を含む。
図27に示す格納媒体2720には、データ格納領域2704、データ格納領域2705、データ格納領域2706、データ格納領域2707、データ格納領域2708、データ格納領域2709、データ格納領域2710、データ格納領域2711、及び、データ格納領域2712が含まれている。
以下、格納フェーズで実施される処理の概要を説明する。
データロード制御サーバ2715のCPU(図示せず)は、データロード制御プログラム2716を実行することによって、すべてのデータ格納領域について、すべてのデータサーバがもれなく管理サーバとして対応管理リスト2714に設定される。さらに、同一のデータサーバを管理サーバとするデータ格納領域の格納サーバに、すべてのデータサーバがもれなく含まれるように、各データ格納領域の格納サーバ及び管理サーバを対応管理リスト2714に設定する。データロード制御サーバ2715のCPUは、データ格納管理プログラム2713を実行することによって、各データサーバが格納サーバとして設定されたデータ格納領域を参照可能となるように、参照パスコントローラ2721に指示する。
データサーバ2701は、データ格納領域2704、データ格納領域2707、及び、データ格納領域2710の管理サーバである。また、これらの3つのデータ格納領域の格納サーバは、それぞれデータサーバ2701、データサーバ2702、データサーバ2703である。
データサーバ2702は、データ格納領域2705、データ格納領域2708、及び、データ格納領域2711の管理サーバである。また、これらの3つのデータ格納領域の格納サーバは、それぞれデータサーバ2701、データサーバ2702、データサーバ2703である。
データサーバ2703は、データ格納領域2706、データ格納領域2709、及び、データ格納領域2712の管理サーバである。また、これらの3つのデータ格納領域の格納サーバは、それぞれデータサーバ2701、データサーバ2702、データサーバ2703である。
ここで、格納フェーズにおける全体の処理の流れについて説明すると、まず、データサーバ2701のCPU(図示せず)は、データ格納管理プログラム2713を実行することによって、データ格納領域2704、データ格納領域2705、及び、データ格納領域2706を参照するように制御する。
データロード制御サーバ2715のCPUは、データロード制御プログラム2716を実行することによって、原本管理サーバ2717にデータの読み出しを指示する。
原本管理サーバ2717のCPU(図示せず)は、データ読み出しプログラム2718を実行することによって、登録する対象となるデータを取得し、任意のデータサーバ2701に取得されたデータを送信すると共に、各データサーバにデータの格納を指示する。
データサーバ2701のCPUは、データ格納管理プログラム2713を実行することによって、原本管理サーバ2717から送信されたデータの特性を抽出し、対応管理リスト2714を参照し、当該データの特性に応じたデータ格納領域に格納する。
例えば、データサーバ2701のCPUは、データサーバ2701に送信された、データサーバ2703に管理される特性を有するデータを、格納サーバがデータロード2701であって、かつ、管理サーバがデータサーバ2703であるデータ格納領域2706に格納する。
以上のように、登録する対象となるすべてのデータを、データ格納領域に格納すると、並列データベースシステムは管理フェーズに移行する。
図28は、本発明が適用される並列データベースシステムの管理フェーズの概念を示す図である。
管理フェーズでは、データロード制御サーバ2715のCPUがデータロード制御プログラム2716を実行することによって、各データサーバに管理サーバとして設定されたデータ格納領域を参照可能となるように指示する。各データサーバは、データ格納管理プログラム2713を実行し、参照パスコントローラ2721に各データサーバが参照するデータ格納領域の変更を指示する。
本発明の一形態によれば、各データサーバにおいて分配されたデータの特性を解析し、当該データの特性に基づいて、当該データサーバの記憶領域にデータを格納することによって、データの分配に必要な時間を短縮することができる。
以下、本発明の実施の形態を、図面を参照して説明する。
(第1の実施の形態)
本発明の第1の実施の形態の並列データベースシステムでは、データベースに格納されたデータを格納する段階(格納フェーズ)及び管理する段階(管理フェーズ)において、各データサーバがアクセスされる領域が切り替えられる。そこで、データサーバに分配されたデータの特性が当該データサーバの管理対象のデータの特性と異なる場合であっても、管理フェーズにおいて各データサーバが管理対象の特性を有するデータを管理することができる。以下、本発明の第1の実施の形態の並列データベースシステムについて、説明する。
図1は、本発明の第1の実施の形態の並列データベースを含むシステムの構成を示す図である。
本システムは、データロード制御サーバ1001、原本管理制御サーバ1002、データ格納媒体1003、及びデータサーバ1005を含む。なお、本発明の第1の実施の形態では、データサーバ1005には、第1データサーバ1005A及び第2データサーバ1005Bが含まれる。本発明の第1の実施の形態では、2台のデータサーバが含まれているが、システム構成に応じて変更してもよい。
データロード制御サーバ1001は、CPU1009、主記憶1010、ネットワークポート1011、表示装置1007及び入力装置1008を含む。CPU1009、主記憶1010、ネットワークポート1011、表示装置1007及び入力装置1008は、バス1012よって接続される。
CPU1009は、主記憶1010に記憶されたプログラムを実行し、所定の処理を実行する。主記憶1010は、CPU1009によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。
主記憶1010は、システム制御プログラム1013及びデータロード制御プログラム1104を記憶する。また、主記憶1010は、作業領域1018を含む。システム制御プログラム1013及びデータロード制御プログラム1104は、磁気ディスク、フラッシュメモリ又はCD−ROMなどの記録媒体に記録され、主記憶1010にロードされてから実行される。
システム制御プログラム1013は、CPU1019に実行されることによって、外部から受信した制御信号又はデータロード制御サーバ1001の状態に基づいて、所定の処理を実行する。
データロード制御プログラム1104は、CPU1009に実行されることによって、複数のデータサーバに分散されたデータを1つの並列データベースとして機能させる。データロード制御プログラム1104は、パス作成プログラム1015、データ分配プログラム1016及び参照切替プログラム1017を含む。
パス作成プログラム1015は、CPU1009に実行されることによって、データ格納媒体1003に格納されたデータサーバ数に応じた小領域とデータサーバとを接続するパス(通信路)情報と、分配時と管理時のデータサーバと小領域の対応関係を設定する。
データ分配プログラム1016は、CPU1009に実行されることによって、分配対象データ5101を分配する分配先データサーバ8101を選択する。
参照切替プログラム1017は、CPU1009に実行されることによって、データサーバと小領域のパスに関する情報に基づいて、格納フェーズと管理フェーズでデータサーバと小領域のパスの参照許可を切り替える。
作業領域1018は、各プログラムの実行時に一時的に必要なデータを格納する。
ネットワークポート1011は、ネットワーク1004を介して他のサーバとデータ及び信号をやり取りする。表示装置1007は、各種処理の結果などを表示する。入力装置1008は、実行する処理の命令及び必要な情報などを入力する。
原本管理制御サーバ1002は、CPU1019、主記憶1020、ネットワークポート1021及びストレージポート1022を含む。CPU1019、主記憶1020、ネットワークポート1021及びストレージポート1022は、バス1023よって接続される。
CPU1019は、主記憶1020に記憶されたプログラムを実行し、所定の処理を実行する。主記憶1020は、CPU1019によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。
主記憶1020は、システム制御プログラム1026及びデータ読み出しプログラム1027を記憶する。また、主記憶1020は、作業領域1018を含む。
システム制御プログラム1026は、CPU1019に実行されることによって、外部から受信した制御信号又は原本管理制御サーバ1002の状態に基づいて、所定の処理を実行する。
データ読み出しプログラム1027は、CPU1019に実行されることによって、原本格納媒体1025に格納された分配対象データ5101を取得し、分配先データサーバ8101に分配データ実体9101を送付する処理部である。分配データ実体9101は、例えば、XML文書などである。XML文書については、一例を図11にて後述する。
作業領域1028は、各プログラムの実行に必要なデータを一時的に格納する。
ネットワークポート1021は、ネットワーク1004を介して他のサーバとデータ及び信号をやり取りする。ストレージポート1022は、原本格納媒体1025の通信路となるファイバーチャネル1024に接続される。
原本格納媒体1025は、分配データ実体9101を実際に格納する記憶媒体である。原本格納媒体1025は、ファイバーチャネル1024を介して、原本管理制御サーバ1002に接続される。
データサーバ1005は、CPU1029、主記憶1030、ネットワークポート1031、ストレージポート1032を備える。CPU1029、主記憶1030、ネットワークポート1031、ストレージポート1032は、バス1033によって接続される。データサーバ1005は、並列データベースシステムに複数含まれるデータサーバの総称であり、本発明の第1の実施の形態では、二台のデータサーバ1005、第1データサーバ1005A及び第2データサーバ1005Bを含む。なお、第1データサーバ1005A及び第2データサーバ1005Bは同じ構成である。
データサーバ1005は、ストレージポート1032とデータ格納媒体1003の通信路となるファイバーチャネル1034によって、データの格納先であるデータ格納媒体1003に接続されている。
主記憶1030は、システム制御プログラム1035及びデータ格納管理プログラム1036を記憶する。主記憶1030は、設定格納領域1037及び作業領域1039を含む。主記憶1030に格納されたプログラムは、CPU1029に実行されることによって、所定の処理が実行される。
システム制御プログラム1035は、CPU1029に実行されることによって、外部から受信した制御信号又はデータサーバ1005の状態に基づいて、所定の処理を実行する。
データ格納管理プログラム1036は、CPU1029に実行されることによって、分配データ実体9101を解析し、解析結果、及び、データサーバと小領域との対応関係に基づいて当該データを管理するデータサーバ1005を決定する。データ格納管理プログラム1036は、管理フェーズにおいて、当該データサーバが管理する小領域に当該データを格納する。
設定格納領域1037は、対応管理リスト1038が格納される。対応管理リスト1038は、データサーバ1005とデータ格納媒体1003に確保された小領域との対応関係を格納する。なお、本発明の第1の実施の形態では、設定格納領域1037が主記憶1030に確保されているが、磁気ディスク又は他の記憶媒体であってもよい。
データ格納媒体1003は、1つ以上の小領域及び設定格納領域1044を含む。本発明の第1の実施の形態では、1つ以上の小領域には、第1小領域1040、第2小領域1041、第3小領域1042、及び第4小領域1043が含まれる。また、データ格納媒体1003は、データサーバ1005と各小領域とのパスと参照許可を制御する参照パスコントローラ1046が接続されている。設定格納領域1044には、パス管理情報1045が格納される。
参照パスコントローラ1046は、ネットワーク1004を介して他のサーバとデータ及び信号をやり取りするためのネットワークポート1047を備える。
次に、本発明の第1の実施の形態の処理について説明する。
図2は、本発明の第1の実施の形態のデータロード処理の手順を示す図である。図2に示す処理の流れは、PAD(Problem Analysis Diagram)によって表記されている。
データロード制御サーバ1001のCPU1009は、データロード制御プログラム1014を処理することによって、データロード処理を実行する。
CPU1009は、入力装置1008からデータロード対象データリスト1048及び格納先データサーバリスト1049の入力を受け付ける(ステップ2001)。入力されたデータロード対象データリスト1048及び格納先データサーバリスト1049は、作業領域1018に格納される。なお、データロード対象データリスト1048と格納先データサーバリスト1049の詳細は、図3及び図4にて後述する。
CPU1009は、パス作成プログラム1015を起動し、パス作成処理によって対応管理リスト1038及びパス管理情報1045を生成する(ステップ2002)。生成された対応管理リスト1038及びパス管理情報1045は、作業領域1018に格納される。なお、パス作成処理の手順については、図5にて説明する。また、対応管理リスト1038及びパス管理情報1045の詳細は、図6及び図7にて後述する。
CPU1009は、データロード対象データリスト1048に格納されたデータロード対象データ3001の数だけデータ分配処理を実行する(ステップ2003)。データ分配処理では、未分配のデータロード対象データのうち一つを分配対象データ5101とし、データ分配プログラム1016を実行することによってデータ分配処理を実行する(ステップ2004)。なお、データ分配処理の手順は図8にて後述する。
CPU1009は、データ分配プログラム1016を処理することによって、データロード対象データリスト1048に記載されたデータの分配の指示が終了すると、データロード対象データリスト1048の分配状況3003がすべて「分配済み」の状態になるまで待機する(ステップ2005)。
CPU1009は、データロード対象データリスト1048の分配状況3003がすべて「分配済み」の状態になると、参照切替プログラム1017を処理し、参照切り替え処理を実行する(ステップ2006)。参照切り替え処理では、データ格納媒体1003の参照パスコントローラ1046にフェーズ変更信号13101を送信し、パス管理情報1045に基づいて、参照可能なパスを格納フェーズから管理フェーズに変更する。さらに、データサーバ1005にフェーズ変更信号13101を送信する。参照切り替え処理の手順については、図9にて後述する。
CPU1009は、データ格納媒体1003の参照パスコントローラ1046及び各データサーバから送信された変更終了信号2101を受信するまで待機する(ステップ2007)。
CPU1009は、すべてのデータサーバからの変更終了信号2101を受信すると、表示装置1007に分配完了の通知を表示する(ステップ2008)。ステップ2008の処理の終了後、データロード処理は終了する。
図3は、本発明の第1の実施の形態のデータロード処理実行時に入力を受け付けるデータロード対象データリスト1048の一例を示す図である。データロード対象データリスト1048は、データロード処理が開始されてから終了するまで、データロード制御サーバ1001の作業領域1018に保持される。
データロード対象データリスト1048は、データロード対象データ3001、分配先3002及び分配状況3003を含む。
データロード対象データ3001は、分配対象データ5101の実体(分配データ実体9101)が格納されている場所である。データロード対象データ3001は、図2のステップ2001の処理において、入力装置1008から入力される。
分配先3002は、分配対象データ5101を送付するデータサーバを表す識別子である。分配先3002は、初期値として「null」が設定され、データ分配処理における分配対象データ5101の解析結果に基づいて分配先のデータサーバ1005が設定される。
分配状況3003は、データ分配処理の過程における分配対象データ5101の状態である。具体的には、分配先3002が初期値の「null」であるとき、データ分配プログラム1016が実行されることによって分配先3002が設定されると、分配状況3003の値は「未分配」に設定される。そして、データ格納管理プログラム1036が実行されることによって、分配対象データ5101が小領域に格納されると「分配済み」に設定される。
ここで、図3に示すデータロード対象データリスト1048を参照すると、レコード3011から3014が格納されている。
レコード3011は、データロード対象データ3001に「¥¥原本管理制御サーバ¥DOC¥DOC0000.xml」が設定され、分配先3002が「第1データサーバ」であって、既に小領域に格納済みの状態である。
また、レコード3012は、データロード対象データ3001に「¥¥原本管理制御サーバ¥DOC¥DOC0001.xml」が設定され、分配先3002が「第2データサーバ」であるが、現時点ではデータロード対象データ3001が小領域に格納されていない。同様に、レコード3013は、「¥¥原本管理制御サーバ¥DOC¥DOC0002.xml」が設定され、分配先3002が「第1データサーバ」であるが、データロード対象データ3001が小領域に格納されていない。
さらに、レコード3014は、「¥¥原本管理制御サーバ¥DOC¥DOC0003.xml」が設定され、分配先3002が未設定であり、分配状況も「null」が設定されている。
図4は、本発明の第1の実施の形態のデータロード処理実行時に入力を受け付ける格納先データサーバリスト1049の一例を示す図である。格納先データサーバリスト1049は、図2のステップ2001で入力装置1008から入力されてからデータロード処理が終了するまで、データロード制御サーバ1001の作業領域1018に保持される。
格納先データサーバリスト1049は、データサーバ4001、アドレス4002及び格納データの条件4003を含む。
データサーバ4001は、データサーバ1005の名称である。アドレス4002は、データサーバのネットワーク1004の位置を特定する情報である。アドレス4002は、例えば、IPアドレスが格納される。格納データの条件4003は、データサーバで管理されるデータを格納する条件である。
ここで、図4に示す格納先データサーバリスト1049を参照すると、第1データサーバ1005A及び第2データサーバ1005Bに関する情報が格納されている。
第1データサーバ1005Aは、アドレス「1.1.1.1」に存在し、「/DOC/DATA/AUTHORの値がA department」であるデータが分配される。そして、第2データサーバ1005Bは、アドレス「1.1.1.2」に存在し、「/DOC/DATA/AUTHORの値がB department」であるデータが分配される。
続いて、パス作成処理について説明する。パス作成処理は、図2のステップ2002の処理において、パス作成プログラム1015がCPU1009によって処理されて実行される。
図5は、本発明の第1の実施の形態のパス作成処理の手順を示すPADである。
CPU1009は、まず、作業領域1018に格納された格納先データサーバリスト1049を参照し、データサーバ数5102を取得する。さらに、データが格納されていない状態の対応管理リスト1038及びパス管理情報1045を作業領域1018に作成する(ステップ5001)。なお、対応管理リスト1038の詳細については、図6にて後述する。また、パス管理情報1045の詳細については、図7にて後述する。
CPU1009は、データ格納媒体1003の参照パスコントローラ1046に対し、データサーバ数5102の2乗個の小領域の作成を指示する。さらに、作成された小領域の名称を対応管理リスト1038に設定する(ステップ5002)。
CPU1009は、分配データサーバ設定カウンタ5103及び管理データサーバ設定カウンタ5104を0に設定する(ステップ5003)。分配データサーバ設定カウンタ5103及び管理データサーバ設定カウンタ5104は、主記憶1010に一時的に記憶される変数である。
CPU1009は、データサーバ数5102の数だけ分配データサーバ決定ループ処理(ステップ5005〜ステップ5014)を実行する(ステップ5004)。
分配データサーバ決定ループ処理では、CPU1009は、まず、格納先データサーバリスト1049の[分配データサーバ設定カウンタ5103]番目のデータサーバを設定分配データサーバ5105に設定する(ステップ5005)。
CPU1009は、さらに、データサーバ数5102の数だけ格納データサーバ決定ループ処理(ステップ5007〜ステップ5013)を実行する(ステップ5006)。
格納データサーバ決定ループ処理では、CPU1009は、まず、格納先データサーバリスト1049の[管理データサーバ設定カウンタ5104]番目のデータサーバを設定管理データサーバ5106に設定する(ステップ5007)。
CPU1009は、さらに、対応管理リスト1038において分配データサーバ6002と管理データサーバ6003が未設定である小領域を設定対象小領域5107に設定する(ステップ5008)。
CPU1009は、設定対象の小領域6001に対応する対応管理リスト1038のレコードを更新する。具体的には、分配データサーバ6002に設定分配データサーバ5105を設定し、管理データサーバ6003に設定管理データサーバ5106を設定する。さらに、格納先データサーバリスト1049を参照して設定管理データサーバ5106に対応する格納データの条件4003を取得し、格納データの条件6004に設定する(ステップ5009)。
CPU1009は、分配パス5109及び管理パス5108の作成と、分配パス5109の参照を許可するように、データ格納媒体1003の参照パスコントローラ1046に指示する(ステップ5010)。分配パス5109は、設定対象小領域5107と分配データサーバ6002とを接続するパスである。また、管理パス5108は、設定対象小領域5107と管理データサーバ6003とを接続するパスである。
CPU1009は、パス管理情報1045の分配パス5109の格納フェーズの参照7002に「true」(許可状態)を設定し、該当するパスの参照を許可する(ステップ5011)。
CPU1009は、パス管理情報1045の管理パス5108の管理フェーズの参照7003に「true」(許可状態)を設定する(ステップ5012)。そして、分配データサーバ設定カウンタ5103を加算し(ステップ5013)、格納データサーバ決定ループ処理を終了する。
CPU1009は、さらに、管理データサーバ設定カウンタ5104を加算し(ステップ5014)、分配データサーバ決定ループ処理を終了する。
CPU1009は、データ格納媒体1003の設定格納領域1044にパス管理情報1045を格納する。さらに、各データサーバの設定格納領域1037に対応管理リスト1038を格納する(ステップ5015)。以上の処理が終了すると、パス作成処理は終了する。
図6は、本発明の第1の実施の形態の対応管理リスト1038の一例を示す図である。図6に示した対応管理リスト1038は、パス作成処理終了時の状態である。対応管理リスト1038は、データを格納する小領域にアクセスするサーバ及びデータの格納条件を保持する。
対応管理リスト1038は、小領域6001、分配データサーバ6002、管理データサーバ6003及び格納データの条件6004を含む。
小領域6001は、各データサーバに作成された小領域の名称である。小領域6001は、図5のステップ5002の処理によって設定される。
分配データサーバ6002は、小領域6001に対して実際にデータを格納するデータサーバの名称である。分配データサーバ6002は、図5のステップ5010の処理によって設定される。
管理データサーバ6003は、小領域に格納されたデータを管理するデータサーバの名称である。小領域6001は、図5のステップ5009の処理によって設定される。
格納データの条件6004は、小領域に格納されるデータの条件である。格納データの条件6004は、格納先データサーバリスト1049の情報に基づいて、分配データサーバ6002で指定されたデータサーバに対応する格納データの条件4003が設定される。
小領域6001に新しい小領域の名称が設定されると、分配データサーバ6002、管理データサーバ6003及び格納データの条件6004には、初期値として「null」が設定される。
図6に示した対応管理リスト1038によると、格納フェーズでは「/DOC/DATA/AUTHORの値がA department」であるデータが第1データサーバ1005Aによって第1小領域1040に格納される。同様に、「/DOC/DATA/AUTHORの値がB department」であるデータが第2小領域1041に格納される。さらに、「/DOC/DATA/AUTHORの値がA department」であるデータが第2データサーバによって第3小領域1042に格納される。同様に、「/DOC/DATA/AUTHORの値がB department」であるデータが第2データサーバによって第4小領域1043に格納される。
また、管理フェーズでは、「/DOC/DATA/AUTHORの値がA department」であるデータが格納された第1小領域及び第3小領域が第1データサーバによって管理される。同様に、「/DOC/DATA/AUTHORの値がB department」であるデータが格納された第2小領域及び第4小領域が第2データサーバによって管理される。
図7は、本発明の第1の実施の形態のパス管理情報1045の一例を示す図である。図7に示したパス管理情報1045は、パス作成処理終了時の状態である。パス管理情報1045は、小領域とデータサーバとの接続関係を保持する。
パス7001は、パスによって接続される1対の小領域とデータサーバである。パス7001は、図5のステップ5011又はステップ5012の処理によって設定される。例えば、「第1小領域−第1データサーバ」は第1小領域と第1データサーバとを接続するパスを表している。
格納フェーズの参照7002は、格納フェーズにおける当該パスの参照の可否である。格納フェーズの参照7002は、図5のステップ5011の処理によって設定される。管理フェーズの参照7003は管理フェーズにおける当該パスの参照の可否である。管理フェーズの参照7003は、図5のステップ5012の処理によって設定される。
格納フェーズの参照7002及び管理フェーズの参照7003の初期値は「null」である。また、格納フェーズの参照7002及び管理フェーズの参照7003に設定された値が「null」である場合には、パスの使用を許可せず、「true」に設定されている場合にはパスの使用を許可する。
図7に示したパス管理情報1045によると、格納フェーズでは、レコード7004からレコード7007に対応するパスが使用可能となっている。具体的には、「第1小領域−第1データサーバ」、「第2小領域−第1データサーバ」、「第3小領域−第2データサーバ」及び「第4小領域−第2データサーバ」の4つのパスが使用可能である。
管理フェーズでは、レコード7004、7007から7009に対応するパスが使用可能となっている。具体的には、「第1小領域−第1データサーバ」、「第2小領域−第2データサーバ」、「第3小領域−第1データサーバ」及び「第4小領域−第2データサーバ」の4つのパスが使用可能である。
続いて、データ分配処理について説明する。データ分配処理は、図2のステップ2004の処理において、データ分配プログラム1016がCPU1009によって処理されて実行される。
図8は、本発明の第1の実施の形態のデータ分配処理の手順を示すPADである。
データロード制御サーバ1001のCPU1009は、まず、格納先データサーバリスト1049からデータロード対象データリスト1048の分配先3002に設定された回数が最小であるデータサーバを1つ分配先データサーバ8101として選択する。そして、選択された分配先データサーバ8101を分配対象データ5101の分配先3002としてデータロード対象データリスト1048に設定する(ステップ8001)。このように、分配先3002に設定された回数が最小のデータサーバを優先してデータを割り当てることによって、各データサーバにデータを均等に分配することができる。また、データロード対象データリスト1048の分配状況3003の値を「未分配」に設定する。
CPU1009は、分配対象データ5101を格納する原本管理制御サーバ1002に、分配対象データ5101及び分配先データサーバ8101をデータ読み出し信号8102と共に送信する(ステップ8002)。
CPU1009は、さらに、分配先データサーバ8101から送信された分配対象データ5101に関するデータ格納完了信号10104を受信するまで待機する(ステップ8003)。
CPU1009は、分配対象データ5101の分配状況3003を「分配済み」としてデータロード対象データリスト1048に設定する(ステップ8004)。ステップ8004の処理が完了すると、データ分配処理は終了する。
続いて、実データ取得処理について説明する。実データ取得処理は、図8のステップ8002の処理において、データロード制御サーバ1001から送信されたデータ読み出し信号8102を原本管理制御サーバ1002が受信したときに、データ読み出しプログラム1027が処理されることによって実行される。
図9は、本発明の第1の実施の形態の実データ取得処理の手順を示すPADである。
原本管理制御サーバ1002のCPU1019は、分配対象データ5101と分配先データサーバ8101を受信し、作業領域1028に格納する(ステップ9001)。
CPU1019は、分配対象データ5101に指定された分配データ実体9101(例えば、XML文書)を原本格納媒体1025から取得し、作業領域1028に格納する(ステップ9002)。
CPU1019は、作業領域1028に格納された分配対象データ5101及び分配データ実体9101を、格納依頼信号9102と共に分配先データサーバ8101に指定されたデータサーバにネットワーク1004を介して送信する(ステップ9003)。ステップ9003の処理が終了すると、実データ取得処理は終了する。
続いて、格納管理処理について説明する。格納管理処理は、図9のステップ9003の処理において、原本管理制御サーバ1002から送信された格納依頼信号9102をデータサーバ1005が受信したときに、データ格納管理プログラム1036が処理されることによって実行される。また、図2のステップ2006の処理において、データロード制御サーバ1001から送信されたフェーズ変更信号13101をデータサーバ1005が受信したときにも格納管理処理は実行される。
図10は、本発明の第1の実施の形態の格納管理処理の手順を示すPADである。
データサーバ1005のCPU1029は、受信した信号に基づいて、処理を分岐させる(ステップ10001)。具体的には、受信した信号が格納依頼信号9102ならばデータ格納処理を実行する。また、受信した信号がフェーズ変更信号13101ならばフェーズ切り替え処理を実行する。
まず、データ格納処理について説明する。データ格納処理は、ステップ10002からステップ10006までの処理である。
CPU1029は、データ格納処理において、まず、受信した分配対象データ5101と分配データ実体9101を作業領域1039に格納する(ステップ10002)。
CPU1029は、作業領域1039の分配データ実体9101を解析し、解析済みデータ10101及び分配キー値10102を取得し、作業領域1039に格納する(ステップ10003)。解析済みデータ10101の詳細については、図12にて後述する。
CPU1029は、解析済みデータ10101に基づいて、分配データサーバ6002が本処理実行中のデータサーバ1005と一致し、取得された分配キー値10102が格納データの条件6004を満たす小領域を格納先小領域10103として設定格納領域1037に格納された対応管理リスト1038から取得し、作業領域1039に格納する(ステップ10004)。
CPU1029は、データ格納媒体1003の格納先小領域10103に分配データ実体9101を格納する(ステップ10005)。
CPU1029は、データロード制御サーバ1001に、分配対象データ5101に関するデータ格納完了信号10104を送信する(ステップ10006)。ステップ10006の処理が終了すると、データ格納処理は終了する。
次に、フェーズ切り替え処理について説明する。フェーズ切り替え処理は、ステップ1007からステップ10009までの処理である。
CPU1029は、まず、設定格納領域1037の対応管理リスト1038において、管理データサーバ6003と本処理が実行されているデータサーバとが一致する小領域6001が、すべて参照可能な状態になるまで待機する(ステップ10007)。
CPU1029は、本処理を実行しているデータサーバから参照可能な小領域に格納されたデータを抽出し、インデクスを生成する(ステップ10008)。
CPU1029は、本処理が実行されているデータサーバの変更終了信号2101をデータロード制御サーバ1001に送信する(ステップ10009)。ステップ10009の処理が終了すると、フェーズ切り替え処理は終了する。
ここで、分配データ実体9101の詳細について説明する。本発明の第1の実施の形態では、分配データ実体9101はXML文書である。
図11は、本発明の第1の実施の形態の分配データ実体9101の一例であるXML文書11001を示す図である。
まず、XML文書について簡単に説明する。XML文書を記述するXMLでは、タグと呼ばれる要素の位置を明示し、属性を収納するために記述される文字列が記述される。図11では、11002の「<AUTHOR>」及び「</AUTHOR>」がタグに該当する。
タグには、開始タグ(タグ11002では「<AUTHOR>」)と終了タグ(タグ11002では「</AUTHOR>」)がある。開始タグと終了タグとは対応する。タグは、要素名が記号で囲まれて表記される。例えば、開始タグ「<AUTHOR>」と終了タグ「</AUTHOR>」とは対応し、要素名は「AUTHOR」となる。
また、XML文書は、タグによって階層的な構造を有することができる。XML文書は、開始タグと終了タグの間に要素と呼ばれるデータを保持する。「<AUTHOR>A department</AUTHOR>」における要素は「A department」となる。このように記述することによって、XML文書は単体でデータ及び当該データの意味を記述することができる。図11では、タグ11002の要素として、要素11003「A department」が記述されている。本発明の第1の実施の形態では、分配キー値10102となる。 さらに、XMLではタグには属性を付加することができる。属性は、属性名と値の組となっている。図11を参照すると、「<AUTHOR DATE_OF_ISSUE=“2007/03/31”>A DEPARTMENT</AUTHOR>」における属性名は「DATE_OF_ISSUE」であって、値は「2007/03/31」である。
なお、開始タグと終了タグの対となっており、かつ、同じ階層に含まれていれば、正しいフォーマットとみなされるため、各タグがXML文書に記述される位置を予め特定することはできない。すなわち、XML文書から要素名「AUTHOR」の要素を取得するためには、当該XML文書を解析するまでタグの出現位置を把握することができず、要素名「AUTHOR」の要素「A department」を取り出すことはできない。XML文書の解析処理は、図10のステップ10003の処理が該当する。
なお、図6の対応管理リスト1038を参照し、格納データの条件6004と比較すると、XML文書11001は、第1データサーバに分配されれば第1小領域に、第2データサーバに分配されれば第3小領域に格納される。また、第1小領域又は第3小領域のいずれかに格納された場合であっても、管理フェーズでは第1データサーバによって管理される。
続いて、解析済みデータ10101の詳細について説明する。
図12は、本発明の第1の実施の形態の分配データ実体9101を解析した結果である解析済みデータ10101の一例を示す図である。図12に示す解析済みデータ10101は、図11に示されたXML文書11001を図10のステップ10003の処理によって解析されて得られた結果である。
解析済みデータ10101は、文書構造のパス12001及び要素12002を含む。文書構造のパス12001は、分配データ実体9101を解析して得られた文書構造のパスである。要素12002は、対応する文書構造のパス12001によって分配データ実体9101から取得した要素の実体である。
このように、解析済みデータ10101を用いることによって、文書構造のパス12001から要素12002を取得することが可能となる。
続いて、参照切り替え処理について説明する。参照切り替え処理は、図2のステップ2006の処理において、参照切替プログラム1017がCPU1009によって処理されて実行される。
図13は、本発明の第1の実施の形態の参照切り替え処理の手順を示すPADである。
データロード制御サーバ1001のCPU1009は、データ格納媒体1003の参照パスコントローラ1046に設定された各パスの参照状態に関する設定を、設定格納領域13102に格納されたパス管理情報1045の管理フェーズの参照7003に変更する(ステップ13001)。
CPU1009は、格納先データサーバリスト1049に設定されたデータサーバ数5102に対応する数だけ変更信号送信処理を繰り返し実行する(ステップ13002)。
CPU1009は、変更信号送信処理において、フェーズ変更信号13101が送信されていないデータサーバ1005にフェーズ変更信号13101を送信する(ステップ13003)。ステップ13003の処理が終了すると、データ変更信号送信処理は終了し、すべてのデータサーバ1005に対してデータ変更信号送信処理が終了すると、参照切り替え処理は終了する。
ここで、参照切替処理の開始前及び終了後の各データサーバと各小領域との関係を、具体例を参照しながら説明する。
図14は、本発明の第1の実施の形態の参照切り替え処理の開始前の状態(格納フェーズ)を説明する図である。
各データサーバ(第1データサーバ1005A、第2データサーバ1005B)と各小領域(第1小領域1040、第2小領域1041、第3小領域1042、第4小領域1043)とは、参照パスコントローラ1046を介して接続されている。
参照パスコントローラ1046は、パス作成処理によって、「第1小領域−第1データサーバ」、「第2小領域−第1データサーバ」、「第3小領域−第2データサーバ」、「第4小領域−第2データサーバ」、「第2小領域−第2データサーバ」、及び「第3小領域−第1データサーバ」の6つのパスを生成する。作成された6つのパスは、対応管理リスト1038のレコード7004からレコード7009に対応している。
参照切り替え処理の開始前の格納フェーズにおいては、第1データサーバ1005Aは、「第1小領域−第1データサーバ」7004、「第2小領域−第1データサーバ」7005の使用が許可されている。また、「/DOC/DATA/AUTHORの値がA department」であるデータが第1小領域1040に格納され、「/DOC/DATA/AUTHORの値がB department」であるデータが第2小領域1041に格納される。
第2データサーバ1005Bは、「第3小領域−第2データサーバ」、「第4小領域−第2データサーバ」のパスの使用が許可されている。また、「/DOC/DATA/AUTHORの値がA department」であるデータが第3小領域1042に格納され、「/DOC/DATA/AUTHORの値がB department」であるデータが第4小領域1043に格納される。
なお、「第2小領域−第2データサーバ」及び「第3小領域−第1データサーバ」の2つのパスは使用を許可されず、各小領域は1つのデータサーバからのみ参照され、競合などは発生しない。
図15は、本発明の第1の実施の形態の参照切り替え処理の終了後の状態(管理フェーズ)を説明する図である。以下、参照切り替え処理の開始前の格納フェーズとの変更点のみを説明する。
管理フェーズにおいては、第1データサーバ1005Aは、「第1小領域−第1データサーバ」及び「第3小領域−第1データサーバ」のパスの使用が許可されている。そして、第1データサーバ1005Aは、第1小領域1040及び第3小領域1042に格納された「/DOC/DATA/AUTHORの値がA department」であるデータを管理する。
第2データサーバ1005Bは、「第2小領域−第2データサーバ」及び「第4小領域−第2データサーバ」のパスの使用が許可されている。そして、第2データサーバ1005Bは、第2小領域1041及び第4小領域1043に格納された「/DOC/DATA/AUTHORの値がB department」であるデータを管理する。
「第2小領域−第1データサーバ」及び「第3小領域−第2データサーバ」の2つのパスは、使用を許可されず、各小領域は1つのデータサーバからのみ参照され、競合などは発生しない。
このように、各小領域が参照されるデータサーバを常に1つにするように構成することによって、競合の発生を防止し、スケーラブルな並列処理を実現することができる。
本発明の第1の実施の形態は、並列データベースによるサービスを停止させ、データロードを短時間で終了させたい場合に特に有用である。
本発明の第1の実施の形態によれば、格納フェーズ及び管理フェーズにおいて、各データサーバ1005によって参照される小領域を切り替えることによって、データロードに要する時間を短縮することができる。
具体的には、格納フェーズ及び管理フェーズにおいて、各データサーバ1005によって参照される小領域を切り替えることによって、各小領域は1つのデータサーバからのみ参照されるため、競合を発生させずに並列実行性能の確保が容易になる。さらに、格納フェーズ及び管理フェーズで格納されたデータを移動させる必要がないため、データ移動コストを必要とせずに、分配時のデータ解析と格納時のデータ解析とを同時に実行することができる。したがって、解析コストを少なくすることが可能となり、分配時のデータ解析を各データサーバで実行可能なため、解析に必要な時間を短縮することができる。
なお、本発明の第1の実施の形態では、データ分配処理における分配先データサーバ8101の決定を各データサーバに均等に配置する方法について説明したが、各データサーバにランダムに配置してもよいし、ファイルの作成時期又はファイル名などに基づいて配置してもよい。
また、本発明の第1の実施の形態では、データベースにデータが格納されていない状態からの初期構築の例を説明したが、既にデータが登録された運用中のデータベースに対しても適用することができる。具体的には、データベースのサービスを停止し、各パスの参照設定を格納フェーズの設定にすることによって、データを追加することができる。
さらに、本発明の第1の実施の形態では、格納フェーズから管理フェーズに切り替えるタイミングで、各データサーバに登録されたデータのインデクスを生成する例を説明したが、インデクスを生成しなくてもよいし、インデクス以外の検索補助情報を生成してもよい。
(第2の実施の形態)
本発明の第1の実施の形態では、データベースのサービスを停止し、格納フェーズ及び管理フェーズにおいて、各データサーバ1005によって参照される小領域を変更する方式を説明したが、本発明の第2の実施の形態ではデータベースのサービスを停止せずにデータを分配する方式について説明する。
第2の実施の形態の計算機システムの構成は、第1の実施の形態の計算機システムと同じである。また、データロード制御サーバ1001に格納されたデータロード制御プログラム1014及びデータサーバ1005に格納されたデータ格納管理プログラムの処理が第1の実施の形態と相違する。なお、同一の構成及び同一の処理については説明を省略する。
図16は、本発明の第2の実施の形態のデータロード処理の手順を示すPADである。
第2の実施の形態のデータロード処理は、図2で説明した第1の実施の形態のデータロード処理と比較すると、ステップ2006からステップ2008までの処理を実行しない点が相違する。第2の実施の形態では、格納フェーズ及び管理フェーズを切り替えないためである。その他の処理については、第1の実施の形態と同じであるため、説明を省略する。
続いて、第2の実施の形態の格納管理処理について説明する。格納管理処理は、第1の実施の形態と同様に、図9のステップ9003の処理において、原本管理制御サーバ1002から送信された格納依頼信号9102をデータサーバ1005が受信したときに、データ格納管理プログラム1036が処理されることによって実行される。
また、本発明の第2の実施の形態では、さらに、管理対象でないデータを受信したデータサーバ1005からデータサーバ間格納依頼信号18101を受信した場合に格納管理処理が実行される。
図17は、本発明の第2の実施の形態の格納管理処理の手順を示すPADである。
データサーバ1005のCPU1029は、受信した信号に基づいて、処理を分岐させる(ステップ18001)。具体的には、受信した信号が格納依頼信号9102ならばデータ格納処理を実行する。また、受信した信号がデータサーバ間格納依頼信号18101ならばデータサーバ間格納依頼処理を実行する。
データ格納処理では、図10にて説明した第1の実施の形態の格納管理処理と同じく、データサーバ1005のCPU1029は、受信した情報を作業領域1039に格納し、受信した分配データ実体9101を解析する(ステップ10002、ステップ10003)。
CPU1029は、解析済みデータ10101に基づいて、分配データサーバ6002と本処理が実行されているデータサーバ1005とが一致し、取得された分配キー値10102が格納データの条件6004を満たす小領域6001を格納先小領域10103として設定格納領域1037に格納された対応管理リスト1038から取得する(ステップ18002)。
CPU1029は、格納先小領域10103の管理データサーバ6003が分配データサーバ6002と同じであるか否かによって処理を分岐させる(ステップ18003)。格納先小領域10103の管理データサーバ6003が分配データサーバ6002と同じ場合には(ステップ18003の結果が「Yes」)、第1の実施の形態の格納管理処理のステップ10005及びステップ10006と同じ処理を実行する。
一方、CPU1029は、格納先小領域10103の管理データサーバ6003が分配データサーバ6002と異なる場合には(ステップ18003の結果が「No」)、管理フェーズで格納先小領域10103に分配対象データ5101を格納することはできない。そこで、格納先小領域10103のデータサーバ間格納依頼信号18101とともに、解析済みデータ10101及び分配対象データ5101を管理データサーバ6003に送信する(ステップ18004)。
データサーバ間格納依頼信号18101を受信したデータサーバ1005のCPU1029は、受信した解析済みデータ10101に基づいて、データ格納媒体1003の格納先小領域10103に受信した分配対象データ5101を格納する(ステップ18005)。
そして、CPU1029は、データロード制御サーバ1001に、分配対象データ5101に関するデータ格納完了信号10104を送信する(ステップ18006)。
本発明の第2の実施の形態では、本発明の第1の実施の形態と比較して、データサーバ間のデータの移動が伴うため、データの移動コストを必要とするが、サービスを継続しながらデータロードを実行することができる。
本発明の第2の実施の形態によれば、各データサーバで並列して解析処理を実行することによってデータロードに必要な時間を短縮することができる。具体的には、各データサーバで並列に解析処理をすることによって、分配時のデータ解析と格納時のデータ解析を、分配時に同時に実行できるため、解析に必要な時間を短縮することができる。
また、システムの初期構築時には、本発明の第1の実施の形態を適用し、システムの運用が開始された後には、本発明の第2の実施の形態を適用してもよい。
(第3の実施の形態)
本発明の第1の実施の形態及び第2の実施の形態においては、データロード処理の主たる制御をデータロード制御サーバ1001にて実行される方式について説明したが、データロード処理の主たる制御は他のサーバによって実行されてもよい。
第3の実施の形態では、データロード処理の主たる制御が原本管理制御サーバ1002によって実行される形態について説明する。
図18は、本発明の第3の実施の形態の並列データベースを含むシステムの構成を示す図である。本発明の第3の実施の形態のシステム構成では、図18に示すようにデータロード制御サーバ1001が含まれない。
原本管理制御サーバ1002は、第1の実施の形態の構成に加えて、表示装置19001及び入力装置19002を備える。
表示装置19001は、本発明の第1の実施の形態における図1の表示装置1007と同じく、各種処理の結果などを表示する。入力装置19002は、本発明の第1の実施の形態における図1の入力装置1008と同じく、実行する処理の命令及び必要な情報などを入力する。
また、原本管理制御サーバ1002の主記憶1020には、データロード制御プログラム19003、パス作成プログラム19004、データ分配・読み出しプログラム19005、及び参照切替プログラム19006が記憶される。
本発明の第3の実施の形態における各プログラムの処理は、対応する第1の実施の形態の処理と同じである。データロード制御サーバ1001で実行されていた情報の入力及び表示、データロード制御が原本管理制御サーバで実行される点が異なる。
続いて、本発明の第3の実施の形態のデータ分配・読み出しプログラム19005を処理することによって実行されるデータ取得分配処理について説明する。
本発明の第1の実施の形態では、データロード制御サーバ1001と原本管理制御サーバ1002とが別のサーバであるため、サーバ間でデータのやり取りが必要となる。第3の実施の形態では、データロード制御サーバ1001で実行された処理が原本管理制御サーバ1002で実行されるため、データロード制御サーバ1001と原本管理制御サーバ1002との間で通信する必要がない。そこで、第1の実施の形態におけるデータ分配処理(図8)と実データ取得処理(図9)とを一連の処理にすることができる。
図19は、本発明の第3の実施の形態のデータ取得分配処理の手順を示すPADである。
原本管理制御サーバ1002のCPU1019は、まず、格納先データサーバリスト1049からデータロード対象データリスト1048の分配先3002に設定された回数が最小であるデータサーバを1つ分配先データサーバ8101として選択する。そして、選択された分配先データサーバ8101を分配対象データ5101の分配先3002としてデータロード対象データリスト1048に設定する(ステップ8001)。また、データロード対象データリスト1048の分配状況3003の値を「未分配」に設定する。
CPU1019は、分配対象データ5101に指定された分配データ実体9101を原本格納媒体1025から取得し、作業領域1028に格納する(ステップ9002)。
CPU1019は、作業領域1028に格納された分配対象データ5101及び分配データ実体9101を、格納依頼信号9102と共に分配先データサーバ8101に指定されたデータサーバにネットワーク1004を介して送信する(ステップ9003)。
CPU1019は、分配対象データ5101の分配状況3003を「分配済み」としてデータロード対象データリスト1048に設定する(ステップ8004)。ステップ8004の処理が完了すると、データ分配取得処理は終了する。
続いて、実データ取得処理について説明する。実データ取得処理は、図8のステップ8002の処理において、データロード制御サーバ1001から送信されたデータ読み出し信号8102を原本管理制御サーバ1002が受信したときに、データ読み出しプログラム1027が処理されることによって実行される。
続いて、格納管理処理が実行される。格納管理処理は、本発明の第1の実施の形態と同じく、原本管理制御サーバ1002から送信された格納依頼信号9102をデータサーバ1005が受信したときに、データ格納管理プログラム1036が処理されることによって実行される。また、データロード制御サーバ1001から送信されたフェーズ変更信号13101をデータサーバ1005が受信したときにも格納管理処理は実行される。
データ格納管理プログラム19007による格納管理処理は、図10のステップ10006及びステップ10009で信号を送信する相手サーバがデータロード制御サーバ1001ではなく、原本管理制御サーバ1002である点が相違する以外は同じ処理である。
また、参照切替プログラム19006による参照切り替え処理は、データロード制御サーバ1001ではなく、原本管理制御サーバ1002で実行される点を除いて、図13にて説明した参照切り替え処理と同じである。
本発明の第3の実施の形態は、並列データベースによるサービスを停止させ、データロード制御サーバ1001を使用せずにデータロードを短時間で終了させたい場合に有用である。
本発明の第3の実施の形態によれば、データロード制御サーバ1001を使用せずに、本発明の第1の実施の形態と同様に、格納フェーズ及び管理フェーズにおいて、各データサーバによって参照される小領域を切り替えることによって、データロードに要する時間を短縮することができる。
さらに、本発明の第3の実施の形態によれば、データロード制御サーバを使用しないことによって、必要なサーバ数を少なくすることができ、設備投資を少なくすることができる。
また、本発明の第3の実施の形態ではデータロード処理の主たる制御が原本管理制御サーバ1002で実行される方式について説明したが、データロード処理の主たる制御がデータサーバの1つで実行される方式であってもよい。
(第4の実施の形態)
本発明の第1から第3の実施の形態では、データ格納媒体の機能を利用して、各データサーバと小領域のパスの許可又は不許可といった状態を管理する方式を説明したが、各データサーバによって小領域への参照を制御する方式であってもよい。
第4の実施の形態の計算機システムの構成は、第1の実施の形態の計算機システムと同じである。データロード制御サーバ1001に格納されたデータロード制御プログラム1014及びデータサーバ1005に格納されたデータ格納管理プログラムの処理が相違する。
図20は、本発明の第4の実施の形態のデータロード処理の手順を示すPADである。
データロード制御サーバ1001のCPU1009は、第1の実施の形態のデータロード処理と同じく、入力装置1008からデータロード対象データリスト1048及び格納先データサーバリスト1049の入力を受け付ける(ステップ2001)。
CPU1009は、第1の実施の形態と同様に、パス作成プログラム1015を起動し、パス作成処理によって対応管理リスト1038及びパス管理情報1045を生成する(ステップ2002)。
CPU1009は、第1の実施の形態と同様に、データロード対象データリスト1048に格納されたデータに対してデータ分配処理を実行する(ステップ2003、ステップ2004)。そして、各データサーバでデータが格納されるまで待機する(ステップ2005)。
CPU1009は、参照切替プログラム1017を起動し、各データサーバにフェーズ変更信号13101を送信する(ステップ22001)。第1の実施の形態では、参照パスコントローラ1046にフェーズ変更信号13101を送信してフェーズを切り替えていたが(図2のステップ2006)、第4の実施の形態では、各データサーバで各小領域への参照を制御するため、各データサーバにフェーズ変更信号13101を送信すればよいためである。
CPU1009は、データサーバ1005から変更終了信号2008を受信するまで待機し(ステップ22002)、表示装置1007に分配完了の通知を表示する(ステップ2008)。
図21は、本発明の第4の実施の形態のパス作成処理の手順を示すPADである。処理の概要は、第1の実施の形態とほぼ同じである。
第4の実施の形態では、各データサーバによって各小領域への参照が制御されるため、参照パスコントローラ1046では、データ格納媒体1003の各小領域へのすべてのパスの使用が許可される。一方、第1の実施の形態では、データサーバ1005の管理対象の小領域に対してのみ参照可能にパス管理情報1045が設定されていたが(図5のステップ5012)、第4の実施の形態では、管理フェーズにおいて、すべての小領域が参照可能となるように設定される(ステップ23001)。
図22は、本発明の第4の実施の形態の格納管理処理の手順を示すPADである。
データサーバ1005のCPU1029は、第1の実施の形態と同様に、受信した信号に基づいて、データ格納処理又はフェーズ切り替え処理を実行する(ステップ10001)。
CPU1029は、データ格納処理又はフェーズ切り替え処理の最初に、本処理が実行されているデータサーバ1005が分配データサーバ6002に設定されている小領域6001について、対応管理リスト1038を参照可能な領域として設定する(ステップ24001、ステップ24002)。なお、ステップ24001又はステップ24002の処理が実行された後の各処理は、第1の実施の形態と同じデータ格納処理又はフェーズ切り替え処理を実行する。
第4の実施の形態では、各データサーバによって各小領域への参照が制御されるため、ステップ24001及びステップ24002の処理が実行される。
図23は、本発明の第4の実施の形態の参照切り替え処理の手順を示すPADである。
第4の実施の形態の参照切り替え処理では、各データサーバによって各小領域への参照が制御されるため、参照パスコントローラ1046にフェーズ変更信号13101を送信する必要がない。したがって、本発明の第4の実施の形態の参照切り替え処理は、図13に示された第1の実施の形態の参照切り替え処理と比較すると、ステップ13001の処理が存在しない点が相違している。
本発明の第4の実施の形態は、データ格納媒体1003の機能に依存せず、データロードを短時間に終了させたい場合に有用である。
本発明の第4の実施の形態では、データ格納先として参照パスコントローラ1046を備えたデータ格納媒体1003を用いて説明しているが、参照パスコントローラ1046を持たないネットワーク接続ストレージ(Network Attached Storage)などのように、複数のサーバから参照が可能な参照パスコントローラ1046を備えないデータ格納媒体を用いてもよい。なお、この場合には、参照パスコントローラ1046に指示することによって実行されていた処理をデータサーバ1005などが実行する必要がある。
本発明の第4の実施の形態によれば、データ格納媒体1003の機能に依存せずに格納フェーズと管理フェーズで各データサーバが参照する小領域を変更し、データロードに要する時間を短縮することができる。
具体的には、各データサーバが各小領域への参照を制御することによって、データ格納媒体1003の機能に依存することなく、格納フェーズ及び管理フェーズで各データサーバによって参照される小領域を切り替えることが可能となり、第1の実施の形態と同じ効果を得ることができる。
(第5の実施の形態)
本発明の第1から第4の実施の形態では、データサーバが物理的に独立したハードウェア上で動作する方式を説明したが、データサーバが仮想化機能によって実現された仮想サーバであってもよい。
図24は、本発明の第5の実施の形態の並列データベースを含むシステムの構成を示す図である。
本システムは、データロード制御サーバ1001、原本管理制御サーバ1002、データ格納媒体1003、及び仮想化サーバ1053を含む。原本管理制御サーバ1002及びデータ格納媒体1003は、第1の実施の形態の計算機システムと同じである。
仮想化サーバ1053は、CPU1〜CPU6(1029A〜1029F)、主記憶1030、ネットワークポート1(1031A)、ネットワークポート2(1031B)及びストレージポート1(1032A)、ストレージポート2(1032B)を含む。
CPU1〜CPU6(1029A〜1029F)、主記憶1030、ネットワークポート1(1031A)、ネットワークポート2(1031B)及びストレージポート1(1032A)、ストレージポート2(1032B)は、バス1033によって接続される。
CPU1〜CPU6(1029A〜1029F)は、主記憶1030に記憶されたプログラムを実行し、所定の処理を実行する。主記憶1030は、CPU1〜CPU6(1029A〜1029F)によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。
主記憶1030は、仮想化機構プログラム1051及び仮想サーバ定義1052を記憶する。
仮想化機構プログラム1051は、CPUに実行されることによって、仮想化サーバ1053の計算機資源を論理的な単位で分割し、一以上の仮想サーバを実現する。仮想化サーバ1053の計算機資源は、具体的には、CPU1〜CPU6(1029A〜1029F)、主記憶1030、ネットワークポート1(1031A)、ネットワークポート2(1031B)、ストレージポート1(1032A)、ストレージポート2(1032B)、及び主記憶1030である。さらに、仮想化機構プログラム1051は、仮想サーバに割り当てる計算機資源の配分を制御する。
仮想サーバ定義1052は、仮想化機構プログラム1051によって実現された仮想サーバと、当該仮想サーバに割り当てられる計算機資源との対応を含む。仮想化機構プログラム1051は、仮想サーバ定義1052に基づいて、仮想サーバを実現する。
仮想化機構プログラム1051によって実現された仮想サーバは、1つの独立したハードウェアとして動作する。図24の仮想化サーバ1053では、仮想サーバとして、第1データサーバ1005A及び第2データサーバ1005Bが実現される。第1データサーバ1005Aは、ネットワークポート1(1031A)、ストレージポート1(1032A)、CPU1〜CPU3(1029A〜1029C)によって構成される。第2データサーバ1005Bは、ネットワークポート2(1031B)、ストレージポート2(1032B)、CPU4〜CPU6(1029D〜1029F)によって構成される。
第1データサーバ1005Aの主記憶には、システム制御プログラム1035A及びデータ格納管理プログラム1036Aが記憶される。第1データサーバ1005Aの主記憶は、設定格納領域1037A及び作業領域1039Aを含む。第1データサーバ1005Aの主記憶に格納されたプログラムは、CPU1〜CPU3(1029A〜1029C)に実行されることによって、所定の処理が実行される。
システム制御プログラム1035Aは、外部から受信した制御信号又は第1データサーバ1005Aの状態に基づいて、所定の処理を実行する。
データ格納管理プログラム1036Aは、分配データ実体9101を解析し、解析結果、及び、データサーバと小領域との対応関係に基づいて、当該データを管理するデータサーバ(仮想サーバ)を決定する。データ格納管理プログラム1036Aは、管理フェーズにおいて、当該データサーバが管理する小領域に当該データを格納する。
設定格納領域1037Aは、対応管理リスト1038Aが格納される。対応管理リスト1038Aは、データサーバとデータ格納媒体1003に確保された小領域との対応関係を格納する。
第2データサーバ1005Bの主記憶には、システム制御プログラム1035B及びデータ格納管理プログラム1036Bが記憶される。第2データサーバ1005Bの主記憶は、設定格納領域1037B及び作業領域1039Bを含む。第2データサーバ1005Bの主記憶に格納されたプログラムは、CPU4〜CPU6(1029D〜1029F)に実行されることによって、所定の処理が実行される。
システム制御プログラム1035Bは、外部から受信した制御信号又は第2データサーバ1005Bの状態に基づいて、所定の処理を実行する。
データ格納管理プログラム1036Bは、分配データ実体9101を解析し、解析結果、及び、データサーバと小領域との対応関係に基づいて、当該データを管理するデータサーバ(仮想サーバ)を決定する。データ格納管理プログラム1036Bは、管理フェーズにおいて、当該データサーバが管理する小領域に当該データを格納する。
設定格納領域1037Bは、対応管理リスト1038Bが格納される。対応管理リスト1038Bは、データサーバとデータ格納媒体1003に確保された小領域との対応関係を格納する。
なお、本発明の第5の実施の形態では、第1データサーバ1005A及び第2データサーバ1005Bの二台のデータサーバを実現されているが、システム構成に応じて変更してもよい。
また、本発明の第5の実施の形態では、仮想サーバにCPUを固定的に割り当てる形式としているが、仮想サーバに固有のCPUを割り当てるのではなく、所定の比率で動的にCPUを割り当てる方式としてもよい。
データロード制御サーバ1001の主記憶1010に格納されたデータロード制御プログラム1104には、さらに、配分変更プログラム1050が含まれる。
配分変更プログラム1050は、CPU1009に実行されることによって、仮想化サーバ1053上で実行される処理又はデータサーバ(仮想サーバ)によって参照されるデータ量に基づいて、各データサーバ(仮想サーバ)の計算機資源の配分を決定し、仮想化サーバ1053に配分の変更を指示する。仮想化サーバ1053は、仮想化機構プログラム1051の処理によって、受け付けた指示にしたがって各仮想サーバの計算機資源の配分を変更する。
次に、本発明の第5の実施の形態の処理について説明する。
図25は、本発明の第5の実施の形態のデータロード処理の手順を示す図である。
データロード制御サーバ1001のCPU1009は、データロード制御プログラム1014を処理することによって、データロード処理を実行する。
ステップ2001〜2005の処理については、図2に示した第1の実施の形態のデータロード処理で説明した内容と同じである。
CPU1009は、データロード対象データリスト1048の分配状況3003がすべて「分配済み」の状態になると、参照切替プログラム1017を処理し、参照切り替え処理を実行する(ステップ2011)。参照切り替え処理では、データ格納媒体1003の参照パスコントローラ1046にフェーズ変更信号13101を送信し、パス管理情報1045に基づいて、参照可能なパスを格納フェーズから管理フェーズに変更する。参照切り替え処理の手順については、図13に示した第1の実施の形態と同じである。
CPU1009は、配分変更プログラム1050を実行し、各データサーバの参照範囲の領域に格納されたデータ量の比率に応じた計算機資源の配分への変更を、仮想化機構プログラム1051に指示する。計算機資源の配分変更処理の手順については、図26にて後述する。
CPU1009は、各データサーバにフェーズ変更信号13101を送信する(ステップ2013)。
CPU1009は、データ格納媒体1003の参照パスコントローラ1046及び各データサーバから送信された変更終了信号2101を受信するまで待機する(ステップ2007)。
CPU1009は、すべてのデータサーバからの変更終了信号2101を受信すると、表示装置1007に分配完了の通知を表示する(ステップ2008)。ステップ2008の処理が終了すると、データロード処理は終了する。
図26は、本発明の第5の実施の形態の仮想化サーバ1053における計算機資源の配分変更処理の手順を示すPADである。
CPU1009は、各データサーバの参照範囲の領域に格納されたデータ量を取得する(ステップ26001、26002)。
CPU1009は、データ分配処理によって各データサーバに分配されたデータ量を取得し、各データサーバの参照範囲であるそれぞれの小領域に格納されたデータ量を取得する。例えば、図15に示す格納フェーズから管理フェーズに切り替えられた後の状態では、第1データサーバ1005Aについては第1小領域及び第3小領域に格納されたデータ量となり、第2データサーバ1005Bについては第2小領域及び第4小領域に格納されたデータ量となる。
CPU1009は、取得されたデータ量を比較し、各データサーバへの計算機資源の配分を計算する(ステップ26003)。
計算機資源を配分する対象は、仮想サーバに割り当てられるCPUの数及び主記憶1030の容量である。これらの値を取得したデータ量に比率により配分を計算する。
例えば、データ量がほぼ同じであるならば、比率を変更せず同じ数のCPUとメモリ容量をそれぞれの仮想サーバに割り当てる。第1データサーバ1005Aのデータ量と第2データサーバ1005Bのデータ量が異なる場合には、データ量の比率に基づいてCPU数及びメモリ容量を変更する。例えば、データ量の比率が4:2であった場合、3個ずつ割り当てられていた6個のCPUの割当を4個と2個に変更する。
CPU1009は、各仮想サーバの計算機資源の配分を、ステップ26003の処理で計算された計算機資源の配分に変更するように仮想化サーバ1053に指示する(ステップ26004)。
仮想化サーバ1053は、データロード制御サーバ1001からの指示を受け付けると、仮想化機構プログラム1051を処理することによって、仮想サーバへの計算機資源の割当を変更する。前述したように、CPUの割当を4個と2個に変更する指示を受け付けた場合、第1データサーバ1005AにCPU1〜CPU4(1029A〜1029D)を割り当て、第2データサーバ1005BにCPU5〜CPU6(1029E〜1029F)を割り当てる。
本発明の第5の実施の形態によれば、仮想化サーバ上にデータサーバ(仮想サーバ)を実現し、フェーズごとに計算機資源の配分を変更することによって、計算機資源の負荷を擬似的に均等化させることができる。具体的には、データ分配処理実行時には各データサーバに計算機資源を均等に近くなるよう割り当て、データ分配処理以降にはデータ格納フェーズで各データサーバに分配されたデータ量に基づいて各データサーバに計算機資源を割り当てることによって、データ格納フェーズで分配されたデータ量が各データサーバで偏りが生じた場合であっても、データ量あたりのシステム全体の計算機資源の負荷を均等化することができる。
なお、本発明の第5の実施の形態では、各データサーバの計算機資源の配分をデータ量の比率に基づいて変更したが、データロードが完了し、データベースのサービスを開始した後に、各データサーバの負荷量に基づいて、各データサーバの計算機資源の配分を変更してもよい。
本発明の第1の実施の形態の並列データベースを含むシステムの構成を示す図である。 本発明の第1の実施の形態のデータロード処理の手順を示す図である。 本発明の第1の実施の形態のデータロード処理実行時に入力を受け付けるデータロード対象データリストの一例を示す図である。 本発明の第1の実施の形態のデータロード処理実行時に入力を受け付ける格納先データサーバリストの一例を示す図である。 本発明の第1の実施の形態のパス作成処理の手順を示す図である。 本発明の第1の実施の形態の対応管理リストの一例を示す図である。 本発明の第1の実施の形態のパス管理情報の一例を示す図である。 本発明の第1の実施の形態のデータ分配処理の手順を示す図である。 本発明の第1の実施の形態の実データ取得処理の手順を示す図である。 本発明の第1の実施の形態の格納管理処理の手順を示す図である。 本発明の第1の実施の形態の分配データ実体の一例であるXML文書を示す図である。 本発明の第1の実施の形態の分配データ実体を解析した結果である解析済みデータの一例を示す図である。 本発明の第1の実施の形態の参照切り替え処理の手順を示す図である。 本発明の第1の実施の形態の参照切り替え処理の開始前の状態(格納フェーズ)を説明する図である。 本発明の第1の実施の形態の参照切り替え処理の終了後の状態(管理フェーズ)を説明する図である。 本発明の第2の実施の形態のデータロード処理の手順を示す図である。 本発明の第2の実施の形態の格納管理処理の手順を示す図である。 本発明の第3の実施の形態の並列データベースを含むシステムの構成を示す図である。 本発明の第3の実施の形態のデータ取得分配処理の手順を示す図である。 本発明の第4の実施の形態のデータロード処理の手順を示す図である。 本発明の第4の実施の形態のパス作成処理の手順を示す図である。 本発明の第4の実施の形態の格納管理処理の手順を示す図である。 本発明の第4の実施の形態の参照切り替え処理の手順を示す図である。 本発明の第5の実施の形態の並列データベースを含むシステムの構成を示す図である。 本発明の第5の実施の形態のデータロード処理の手順を示す図である。 本発明の第5の実施の形態の配分変更処理の手順を示す図である。 本発明の格納フェーズの概要を示す図である。 本発明の管理フェーズの概要を示す図である。
符号の説明
1001 データロード制御サーバ
1002 原本管理制御サーバ
1003 データ格納媒体
1004 ネットワーク
1005 データサーバ
1005A 第1データサーバ
1005B 第2データサーバ
1007 表示装置
1008 入力装置
1009 CPU
1010 主記憶
1011 ネットワークポート
1013 システム制御プログラム
1014 データロード制御プログラム
1015 パス作成プログラム
1016 データ分配プログラム
1017 参照切替プログラム
1019 CPU
1020 主記憶
1021 ネットワークポート
1022 ストレージポート
1025 原本格納媒体
1026 システム制御プログラム
1027 データ読み出しプログラム
1029 CPU
1030 主記憶
1031 ネットワークポート
1032 ストレージポート
1034 ファイバーチャネル
1035 システム制御プログラム
1036 データ格納管理プログラム
1038 対応管理リスト
1040 第1小領域
1041 第2小領域
1042 第3小領域
1043 第4小領域
1045 パス管理情報
1046 参照パスコントローラ
1047 ネットワークポート
1048 データロード対象データリスト
1049 格納先データサーバリスト
1104 データロード制御プログラム
1050 配分変更プログラム
1051 仮想化機構プログラム
1052 仮想サーバ定義
1053 仮想化サーバ

Claims (16)

  1. 複数のデータサーバによってデータが管理される並列データベースシステムにおいて、データを分配するデータ分配方法であって、
    前記並列データベースシステムは、前記データの特性と前記データが管理されるデータサーバとの対応情報、及び、前記データの特性に対応したデータ格納領域を有し、
    前記データ分配方法は、
    前記データ格納領域に格納するデータから前記データの特性を抽出し、
    前記抽出されたデータの特性に基づいて、対応する前記データ格納領域に前記データを格納し、
    前記各データサーバは、前記対応情報及び前記データ格納領域に格納されたデータの特性に基づいて、該当する各データ格納領域にアクセスすることを特徴とするデータ分配方法。
  2. 前記データ分配方法は、前記データ格納領域に前記データを格納した後、さらに、
    前記データサーバに対応する前記データ格納領域が当該データサーバによってアクセス可能となるように設定し、
    取得されるデータの特性に対応するデータサーバが、前記アクセス可能に設定されたデータ格納領域から当該データを取得することを特徴とする請求項1に記載のデータ分配方法。
  3. 前記並列データベースシステムは、プロセッサを含む計算機資源を論理的に分割して、複数の仮想計算機を提供する仮想化サーバを有し、
    前記データサーバは、前記仮想化サーバによって提供される仮想計算機上で稼働し、
    前記データ分配方法は、さらに、前記データサーバが稼働する仮想計算機に前記計算機資源を割り当てるように、前記仮想化サーバに指示することを特徴とする請求項1に記載のデータ分配方法。
  4. 複数のデータサーバによってデータが管理される並列データベースシステムにおいて、前記複数のデータサーバによって管理される記憶装置にデータを分配するデータ分配方法であって、
    前記並列データベースシステムは、分配元のデータが格納される第1の記憶装置と、前記複数のデータサーバによってアクセスされ、前記第1の記憶装置から分配されたデータが格納される第2の記憶装置と、前記複数のデータサーバと、前記複数のデータサーバにネットワークを介して接続される管理サーバとを含み、
    前記管理サーバは、前記ネットワークに接続される第1のインタフェース、前記第1のインタフェースに接続される第1のプロセッサ、及び前記第1のプロセッサにアクセスされる第1のメモリを備え、
    前記データサーバは、前記ネットワークに接続される第2のインタフェース、前記第2のインタフェースに接続される第2のプロセッサ、及び前記第2のプロセッサにアクセスされる第2のメモリを備え、
    前記第2のメモリには、前記データの特性と前記データが管理されるデータサーバとの対応情報が記憶され、
    前記第2の記憶装置は、前記第1の記憶装置から分配されたデータを格納する記憶領域を前記データサーバごとに提供し、
    前記データ分配方法は、
    前記第2のプロセッサが、前記記憶領域のそれぞれに、前記データサーバに対応するデータ格納領域を前記データサーバごとに作成し、
    前記第1のプロセッサが、前記分配元のデータを前記第1の記憶装置から前記データサーバに送信し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信し、
    前記第2のプロセッサが、前記受信したデータを解析することによって、前記受信したデータの特性を抽出し、
    前記第2のプロセッサが、前記抽出されたデータの特性及び前記対応情報に基づいて、前記受信したデータが管理されるデータサーバを特定し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信したデータサーバによってアクセス可能な前記データ格納領域であって、前記特定されたデータサーバに対応する前記データ格納領域に、前記受信したデータを格納し、
    前記第1のプロセッサが、前記データサーバに対応する前記データ格納領域を当該データサーバによってアクセス可能となるように、設定することを特徴とするデータ分配方法。
  5. 前記データは、要素が定義された構造化言語によって記述された文書であって、
    前記データ分配方法は、前記第2のプロセッサが、前記受信したデータを解析することによって、前記対応情報に含まれる前記データの特性に該当する要素を前記受信したデータから抽出することを特徴とする請求項4に記載のデータ分配方法。
  6. 前記データ分配方法は、前記データサーバに対応する前記データ格納領域が当該データサーバによってアクセス可能となるように設定された後、さらにデータを分配する場合には、
    前記第1のプロセッサが、前記分配元のデータを前記第1の記憶装置から前記データサーバに送信し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信し、
    前記第2のプロセッサが、前記受信したデータを解析することによって、前記受信したデータの特性を抽出し、
    前記第2のプロセッサが、前記抽出されたデータの特性及び前記対応情報に基づいて、前記受信したデータが管理されるデータサーバを特定し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致するか否かを判定し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致する場合には、前記受信したデータを前記データ格納領域に格納し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致しない場合には、前記特定されたデータサーバに前記受信したデータを送信することを特徴とする請求項4に記載のデータ分配方法。
  7. 前記データ分配方法は、前記データサーバに対応する前記データ格納領域が当該データサーバによってアクセス可能となるように設定された後、前記第2のプロセッサが、前記データ格納領域に格納されたデータの索引を作成することを特徴とする請求項4に記載のデータ分配方法。
  8. 複数のデータサーバによってデータが管理される並列データベースシステムであって、 分配元のデータが格納される第1の記憶装置と、前記複数のデータサーバによってアクセスされ、前記第1の記憶装置から分配されたデータが格納される第2の記憶装置と、前記複数のデータサーバと、前記複数のデータサーバにネットワークを介して接続される管理サーバとを含み、
    前記管理サーバは、前記ネットワークに接続される第1のインタフェース、前記第1のインタフェースに接続される第1のプロセッサ、及び前記第1のプロセッサにアクセスされる第1のメモリを備え、
    前記データサーバは、前記ネットワークに接続される第2のインタフェース、前記第2のインタフェースに接続される第2のプロセッサ、及び前記第2のプロセッサにアクセスされる第2のメモリを備え、
    前記第2のメモリは、前記データの特性と前記データが管理されるデータサーバとの対応情報が記憶され、
    前記第2の記憶装置は、前記第1の記憶装置から分配されたデータを格納する記憶領域を前記データサーバごとに提供し、
    前記データサーバは、前記記憶領域のそれぞれに、前記データサーバに対応するデータ格納領域を前記データサーバごとに作成し、
    前記管理サーバは、前記分配元のデータを前記第1の記憶装置から前記データサーバに送信し、
    前記データサーバは、
    前記第1の記憶装置から送信されたデータを受信し、
    前記受信したデータを解析することによって、前記受信したデータの特性を抽出し、
    前記抽出されたデータの特性及び前記対応情報に基づいて、前記受信したデータが管理されるデータサーバを特定し、
    前記第1の記憶装置から送信されたデータを受信したデータサーバによってアクセス可能な前記データ格納領域であって、前記特定されたデータサーバに対応する前記データ格納領域に、前記受信したデータを格納し、
    前記管理サーバは、前記データサーバに対応する前記データ格納領域を前記データサーバによってアクセス可能となるように設定することを特徴とする並列データベースシステム。
  9. 前記データは、要素が定義された構造化言語によって記述された文書であって、
    前記データサーバは、前記第2のプロセッサが、前記受信したデータを解析することによって、前記対応情報に含まれる前記データの特性に該当する要素を前記受信したデータから抽出することを特徴とする請求項8に記載の並列データベースシステム。
  10. 前記データサーバに対応する前記データ格納領域が当該データサーバによってアクセス可能となるように設定された後、さらにデータを分配する場合には、
    前記管理サーバは、前記分配元のデータを前記第1の記憶装置から前記データサーバに送信し、
    前記データサーバは、
    前記第1の記憶装置から送信されたデータを受信し、
    前記受信したデータを解析することによって、前記受信したデータの特性を抽出し、
    前記抽出されたデータの特性及び前記対応情報に基づいて、前記受信したデータが管理されるデータサーバを特定し、
    前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致するか否かを判定し、
    前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致する場合には、前記受信したデータを前記データ格納領域に格納し、
    前記第1の記憶装置から送信されたデータを受信したデータサーバと、前記特定されたデータサーバとが一致しない場合には、前記特定されたデータサーバに前記受信したデータを送信することを特徴とする請求項8に記載の並列データベースシステム。
  11. 前記データサーバに対応する前記データ格納領域が当該データサーバによってアクセス可能となるように設定された後、前記データサーバは、前記データ格納領域に格納されたデータの索引を作成することを特徴とする請求項8に記載の並列データベースシステム。
  12. 前記第2の記憶装置は、前記データサーバからのアクセスを制御する参照コントローラを備え、
    前記参照コントローラは、前記管理サーバからの指示を受け付けて、前記データサーバによってアクセスされる記憶領域を設定することを特徴とする請求項8に記載の並列データベースシステム。
  13. 前記データサーバは、前記管理サーバからの指示を受け付けて、前記データサーバによってアクセスされる記憶領域を設定することを特徴とする請求項8に記載の並列データベースシステム。
  14. 複数のデータサーバによってデータが管理される並列データベースシステムにおいて、前記複数のデータサーバによって管理される記憶装置にデータを分配するデータ分配方法であって、
    前記並列データベースシステムは、分配元のデータが格納される第1の記憶装置と、前記複数のデータサーバによってアクセスされ、前記第1の記憶装置から分配されたデータが格納される第2の記憶装置と、前記複数のデータサーバにネットワークを介して接続される管理サーバと、複数の仮想計算機を提供する仮想化サーバと、を含み、
    前記管理サーバは、前記ネットワークに接続される第1のインタフェース、前記第1のインタフェースに接続される第1のプロセッサ、及び前記第1のプロセッサにアクセスされる第1のメモリを備え、
    前記仮想化サーバは、
    前記ネットワークに接続される第2のインタフェース、前記第2のインタフェースに接続される第2のプロセッサ、及び前記第2のプロセッサにアクセスされる第2のメモリを含む計算機資源を備え、
    前記計算機資源を論理的に分割して、前記複数の仮想計算機を提供し、
    前記データサーバは、前記仮想化サーバによって提供される仮想計算機上で稼働し、
    前記仮想計算機には、前記データの特性と前記データが管理されるデータサーバとの対応情報が記憶され、
    前記第2の記憶装置は、前記第1の記憶装置から分配されたデータを格納する記憶領域を前記データサーバごとに提供し、
    前記データ分配方法は、
    前記第2のプロセッサが、前記記憶領域のそれぞれに、前記データサーバに対応するデータ格納領域を前記データサーバごとに作成し、
    前記データサーバが稼働する仮想計算機に前記計算機資源を割り当てるように、前記仮想化サーバに指示し、
    前記第1のプロセッサが、前記分配元のデータを前記第1の記憶装置から前記データサーバに送信し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信し、
    前記第2のプロセッサが、前記受信したデータを解析することによって、前記受信したデータの特性を抽出し、
    前記第2のプロセッサが、前記抽出されたデータの特性及び前記対応情報に基づいて、前記受信したデータが管理されるデータサーバを特定し、
    前記第2のプロセッサが、前記第1の記憶装置から送信されたデータを受信したデータサーバによってアクセス可能な前記データ格納領域であって、前記特定されたデータサーバに対応する前記データ格納領域に、前記受信したデータを格納し、
    前記第1のプロセッサが、前記データサーバに対応する前記データ格納領域を当該データサーバによってアクセス可能となるように、設定することを特徴とするデータ分配方法。
  15. 前記データ分配方法は、前記データの分配が終了した後、さらに、前記データサーバによって処理されるデータの容量に基づいて、前記計算機資源を前記データサーバが稼働する仮想計算機に割り当てるように、前記第1のプロセッサが、前記仮想化サーバに指示することを特徴とする請求項14に記載のデータ分配方法。
  16. 前記データ分配方法は、前記データの分配が終了した後、さらに、前記データ格納領域に格納されたデータ量に基づいて、前記計算機資源を前記データサーバが稼働する仮想計算機に割り当てるように、前記第1のプロセッサが、前記仮想化サーバに指示することを特徴とする請求項14に記載のデータ分配方法。
JP2007321768A 2007-06-21 2007-12-13 データ分配方法、データ分配プログラム、及び並列データベースシステム Expired - Fee Related JP5031538B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007321768A JP5031538B2 (ja) 2007-06-21 2007-12-13 データ分配方法、データ分配プログラム、及び並列データベースシステム
US12/041,299 US20080320053A1 (en) 2007-06-21 2008-03-03 Data management method for accessing data storage area based on characteristic of stored data

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007163675 2007-06-21
JP2007163675 2007-06-21
JP2007321768A JP5031538B2 (ja) 2007-06-21 2007-12-13 データ分配方法、データ分配プログラム、及び並列データベースシステム

Publications (2)

Publication Number Publication Date
JP2009026292A true JP2009026292A (ja) 2009-02-05
JP5031538B2 JP5031538B2 (ja) 2012-09-19

Family

ID=40398012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007321768A Expired - Fee Related JP5031538B2 (ja) 2007-06-21 2007-12-13 データ分配方法、データ分配プログラム、及び並列データベースシステム

Country Status (1)

Country Link
JP (1) JP5031538B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531935A (ja) * 2012-08-31 2015-11-05 マイクロン テクノロジー, インク. 状態機械エンジンのための結果生成

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676976B2 (en) 2009-02-25 2014-03-18 International Business Machines Corporation Microprocessor with software control over allocation of shared resources among multiple virtual servers

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330783A (ja) * 2002-05-15 2003-11-21 Secom Co Ltd 文書保管システム、文書保管方法および情報記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003330783A (ja) * 2002-05-15 2003-11-21 Secom Co Ltd 文書保管システム、文書保管方法および情報記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015531935A (ja) * 2012-08-31 2015-11-05 マイクロン テクノロジー, インク. 状態機械エンジンのための結果生成

Also Published As

Publication number Publication date
JP5031538B2 (ja) 2012-09-19

Similar Documents

Publication Publication Date Title
US11182196B2 (en) Unified resource management for containers and virtual machines
US20080320053A1 (en) Data management method for accessing data storage area based on characteristic of stored data
US11169706B2 (en) Rebalancing storage I/O workloads by storage controller selection and redirection
Sammer Hadoop operations
US9594637B2 (en) Deploying parallel data integration applications to distributed computing environments
JP5387757B2 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
CN102981929B (zh) 磁盘镜像的管理方法和系统
JP2005056077A (ja) データベース制御方法
JPH0954754A (ja) 疎結合並列処理環境における顧客情報制御システム及び方法
US9854037B2 (en) Identifying workload and sizing of buffers for the purpose of volume replication
JP5881025B2 (ja) 並列データ処理システム、計算機および並列データ処理方法
CN112596762A (zh) 一种滚动升级方法及装置
JPH11338804A (ja) ネットワーク構成管理対象アクセスシステム及び方法
Li et al. Pagurus: Eliminating cold startup in serverless computing with inter-action container sharing
US9971613B2 (en) Tag based permission system and method for virtualized environments
CN107528871A (zh) 存储系统中的数据分析
KR101989074B1 (ko) 데이터베이스 샤딩 환경에서의 복제 로그 기반의 마이그레이션
JP5031538B2 (ja) データ分配方法、データ分配プログラム、及び並列データベースシステム
US20210067599A1 (en) Cloud resource marketplace
KR101378348B1 (ko) 프라이빗 클라우드 인프라 기반 하둡 클러스터의 기본 프로토타입
US11960488B2 (en) Join queries in data virtualization-based architecture
Avilés-González et al. Scalable metadata management through OSD+ devices
US20140040191A1 (en) Inventorying and copying file system folders and files
US10824640B1 (en) Framework for scheduling concurrent replication cycles
JP6757708B2 (ja) 情報処理装置及び構成要素の管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120514

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees