データベースへのレコードの入出力処理を実行する1又は複数のデータベースサーバと、前記入出力処理を含むジョブを各々実行する1又は複数のジョブ実行サーバと、前記1又は複数のジョブ実行サーバが実行するジョブをスケジューリングするスケジュールサーバと、を備えた計算機システムであって、前記1又は複数のデータベースサーバ、前記1又は複数のジョブ実行サーバ、及び前記スケジュールサーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、前記1又は複数のデータベースサーバの各々は、当該データベースサーバの管理下のデータベース内のレコードに含まれるキー値の範囲を複数の区間に分割し、前記分割された各区間のレコードの分布情報を取得し、前記スケジュールサーバは、前記1又は複数のデータベースサーバの各々の管理下のデータベース内のレコードに含まれるキー値の範囲を示すデータベースサーバ構成情報を保持し、取得された前記レコードの分布情報と、当該スケジュールサーバが保持する前記データベースサーバ構成情報とに基づいて、同一のキー値の範囲に含まれる複数の前記区間を組み合わせて複数の分割範囲を生成し、生成された分割範囲毎に、当該分割範囲のレコードを取得すべきレコードとして示すレコード取得範囲パラメータを生成することを特徴とする計算機システム。前記スケジュールサーバは、生成された前記レコード取得範囲パラメータと、当該レコード取得範囲パラメータによって指定されるレコードの入出力処理を実行可能なデータベースサーバとの対応関係を示す管理情報を出力することを特徴とする請求項1に記載の計算機システム。前記管理情報は、さらに、前記データベースサーバが前記指定されるレコードの入出力処理を実行中か否かの情報を含み、前記スケジュールサーバは、所定のレコード取得範囲パラメータによって指定されるレコードの入出力処理を実行中のデータベースサーバが存在する場合に、当該実行中のデータベースサーバによる他のレコードの入出力処理を含むジョブの実行を規制することを特徴とする請求項2に記載の計算機システム。前記スケジュールサーバは、生成された前記レコード取得範囲パラメータを、当該レコード取得範囲パラメータによって指定されるレコードの入出力処理を含むジョブを実行するジョブ実行サーバに送信し、送信された前記レコード取得範囲パラメータを受信したジョブ実行サーバは、受信した前記レコード取得範囲パラメータによって指定されるレコードの入出力処理を実行するデータベースサーバに、当該指定されるレコードの取得を要求することを特徴とする請求項1に記載の計算機システム。前記1又は複数のデータベースサーバの各々は、当該データベースサーバの管理下のデータベース内のレコードに含まれるキー値の範囲を、前記1又は複数のジョブ実行サーバが実行するジョブの数より多数の区間に分割することを特徴とする請求項1に記載の計算機システム。前記スケジュールサーバは、同一のキー値の範囲に含まれる複数の前記区間を、組み合わせて生成される各分割範囲のレコード数が所定数より小さくなるよう組み合わせることを特徴とする請求項1に記載の計算機システム。データベースへのレコードの入出力処理を実行する1又は複数のデータベースサーバと、前記入出力処理を含むジョブを各々実行する1又は複数のジョブ実行サーバと、前記1又は複数のジョブ実行サーバが実行するジョブをスケジューリングするスケジュールサーバと、を備えた計算機システムであって、前記1又は複数のデータベースサーバ、前記1又は複数のジョブ実行サーバ、及び前記スケジュールサーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、前記スケジュールサーバは、前記1又は複数のデータベースサーバの各々の管理下のデータベース内のレコードに含まれるキー値の範囲を示すデータベースサーバ構成情報を保持し、所定のレコード群を前記1又は複数のデータベースサーバの各々の管理下のデータベースに格納する場合に、当該スケジュールサーバが保持する前記データベースサーバ構成情報に基づいて、当該所定のレコード群に含まれるレコードのうちの同一のキー値の範囲に含まれるレコードを組み合わせて、複数の分割レコード群を生成することを特徴とする計算機システム。前記スケジュールサーバは、生成された前記分割レコード群と、当該分割レコード群に含まれるレコードの入出力処理を実行可能なデータベースサーバとの対応関係を示す管理情報を出力することを特徴とする請求項7に記載の計算機システム。前記管理情報は、さらに、前記データベースサーバが前記分割レコード群に含まれるレコードの入出力処理を実行中か否かの情報を含み、前記スケジュールサーバは、所定の分割レコード群に含まれるレコードの入出力処理を実行中のデータベースサーバが存在する場合、当該実行中のデータベースサーバによる他の分割レコード群に含まれるレコードの入出力処理を含むジョブの実行を規制することを特徴とする請求項8に記載の計算機システム。前記スケジュールサーバは、生成された前記分割レコード群を、当該分割レコード群に含まれるレコードの入出力処理を含むジョブを実行するジョブ実行サーバに送信し、送信された前記分割レコード群を受信したジョブ実行サーバは、受信した前記分割レコード群に含まれるレコードの入出力処理を実行するデータベースサーバに、当該分割レコード群に含まれるレコードの格納を要求することを特徴とする請求項7に記載の計算機システム。前記スケジュールサーバは、前記所定のレコード群に含まれるレコードのうちの同一のキー値の範囲に含まれるレコードを、組み合わせて生成される分割レコード群のレコード数が所定数より小さくなるよう組み合わせることを特徴とする請求項7に記載の計算機システム。データベースへのレコードの入出力処理を実行する1又は複数のデータベースサーバと、前記入出力処理を含むジョブを各々実行する1又は複数のジョブ実行サーバと、前記1又は複数のジョブ実行サーバが実行するジョブをスケジューリングするスケジュールサーバと、を備えた計算機システムにおける並列分散処理方法であって、前記1又は複数のデータベースサーバ、前記1又は複数のジョブ実行サーバ、及び前記スケジュールサーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、前記スケジュールサーバは、前記1又は複数のデータベースサーバの各々の管理下のデータベース内のレコードに含まれるキー値の範囲を示すデータベースサーバ構成情報を前記メモリに保持し、前記方法は、前記1又は複数のデータベースサーバの各々が、当該データベースサーバの管理下のデータベース内のレコードに含まれるキー値の範囲を複数の区間に分割し、前記分割された各区間のレコードの分布情報を取得する手順と、前記スケジュールサーバが、取得された前記レコードの分布情報と、当該スケジュールサーバが保持する前記データベースサーバ構成情報とに基づいて、同一のキー値の範囲に含まれる複数の前記区間を組み合わせて複数の分割範囲を生成し、生成された分割範囲毎に、当該分割範囲のレコードを取得すべきレコードとして示すレコード取得範囲パラメータを生成する手順と、を含むことを特徴とする並列分散処理方法。ところで、上記バッチジョブには、データベースへの大量のデータの入出力を伴うジョブも存在する。例えば、データベースに格納されたデータを抽出して、抽出されたデータの加工集計帳票作成などを実行するジョブである。また例えば、データベースにデータを格納する前に、格納すべきデータの重複チェックや加工を実行するジョブなどである。しかしながら、このようなデータベースへのデータの入出力を伴うジョブは、上記特許文献1や特許文献2に開示された手法では、十分に高速化できないという問題があった。これは、DBサーバへのアクセス競合が発生するためである。DBサーバとは、データベースへのデータの入出力を実行する計算機である。すなわち、バッチジョブとデータベースへのデータの入出力処理の負荷比や、障害対応を考慮して、バッチジョブを実行するジョブ実行サーバとDBサーバの関係を固定化せずに、且つ、両サーバを異なる個数設けた場合、DBサーバへのアクセス競合や特定のDBサーバへの処理の集中が発生し、システム性能が低下する。また、入力されるデータがデータベースへ入力されるデータであるため、最適分割数の判断や分割後の各データの平準化が困難である。なお、DBサーバへのアクセス競合を回避する方法として、例えば、地域や複数の店舗等の集合を論理単位として、DBサーバ及びジョブ実行サーバを分離するパーティショニングと呼ばれる手法がある。このパーティショニング手法では、DBサーバ及びジョブ実行サーバの関係を1対1に固定し、両サーバを同じ個数設ける。これにより、複数のジョブ実行サーバから同一のDBサーバへのアクセスの発生、すなわちアクセス競合を回避する。しかしながら、DBサーバ又はジョブ実行サーバに障害が発生し、且つ、予備サーバが存在しない場合、DBサーバとジョブ実行サーバの1対1の関係が失われ、特定のDBサーバへのアクセス競合が発生してしまう。また、予備サーバを用意する場合、予備サーバのコストがかかってしまう。また、パーティション毎のデータ量のばらつきが大きい場合、パーティション間のデータ移動が困難であるので、特定のジョブ実行サーバの負荷が増加してしまう。また、バッチジョブの負荷とデータベースへのデータの入出力処理の負荷のバランスが取れていない場合は、負荷の高いジョブ実行サーバ又はDBサーバがボトルネックとなってしまう。本発明は、上述した課題を考慮したものであって、データベース入出力を伴うジョブの並列分散処理において、データベースへのデータの入出力を実行するDBサーバへのアクセス競合を回避するとともに、ジョブを高速実行することが可能な計算機システム及び並列分散処理方法を提供することを主な目的とする。本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データベースへのレコードの入出力処理を実行する1又は複数のデータベースサーバと、前記入出力処理を含むジョブを各々実行する1又は複数のジョブ実行サーバと、前記1又は複数のジョブ実行サーバが実行するジョブをスケジューリングするスケジュールサーバと、を備えた計算機システムであって、前記1又は複数のデータベースサーバ、前記1又は複数のジョブ実行サーバ、及び前記スケジュールサーバの各々は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を備え、前記1又は複数のデータベースサーバの各々は、当該データベースサーバの管理下のデータベース内のレコードに含まれるキー値の範囲を複数の区間に分割し、前記分割された各区間のレコードの分布情報を取得し、前記スケジュールサーバは、前記1又は複数のデータベースサーバの各々の管理下のデータベース内のレコードに含まれるキー値の範囲を示すデータベースサーバ構成情報を保持し、取得された前記レコードの分布情報と、当該スケジュールサーバが保持する前記データベースサーバ構成情報とに基づいて、同一のキー値の範囲に含まれる複数の前記区間を組み合わせて複数の分割範囲を生成し、生成された分割範囲毎に、当該分割範囲のレコードを取得すべきレコードとして示すレコード取得範囲パラメータを生成することを特徴とする。本発明によれば、データベース入出力を伴うジョブの並列分散処理において、データベースへのデータの入出力を実行するDBサーバへのアクセス競合を回避するとともに、ジョブを高速実行することができる。以下、本発明の各実施形態について、図面を参照して説明する。第一実施形態まず、本発明の第一実施形態について説明する。図1は、本発明の第一実施形態の計算機システム1のハードウェア構成例を示す図である。計算機システム1は、スケジュールサーバ10と、1つ又は複数のジョブ実行サーバ20と、1つ又は複数のDBサーバ30とを備える。DBサーバ30には、記憶装置15cが接続されている。記憶装置15cは、データベース100を格納する。データベース100はレコードの集合である。なお、レコードとは、ジョブプログラム部2100が取得入力し、処理するデータベース100内のデータの単位である。また、レコード内の特定フィールドの数値又は文字列をキーと呼ぶ。並列実行による処理の高速化のため、データベース100内のデータの部分集合レコードセットである分割データ毎に、複数のプロセスやタスク等の実行単位に分けて処理される。スケジュールサーバ10は、主記憶装置11aと、CPUCentralProcessingUnit12aと、通信I/F13aとを備える。このスケジュールサーバ10は、各ジョブ実行サーバ20が実行するジョブをスケジューリングする。本発明の第一実施形態でいうジョブとは、データベース100に格納されたレコードの取得を伴うジョブである。主記憶装置11aは、レコード取得範囲パラメータ生成部1000及びジョブスケジュール部1100の機能を実現する命令コードを含むプログラムを記憶するRAMRandomAccessMemory等の記憶装置である。この主記憶装置11aは、DBサーバ構成情報200、レコード分布管理テーブル400及び分割データ管理テーブル500などのプログラムの実行に必要なファイル、データも記憶する。CPU12aは、主記憶装置11aに格納されたプログラムをロードして解釈実行する演算処理装置である。通信I/F13aは、通信路2を介して、ジョブ実行サーバ20及びDBサーバ30との間で実行要求や実行結果を送受信するインタフェース部である。レコード取得範囲パラメータ生成部1000は、データベース100から取得すべきレコードの範囲を決定するパラメータを生成する。また、生成されたパラメータに基づいて、分割データ管理テーブル500を生成する。このレコード取得範囲パラメータ生成部1000の動作については、詳細に後述する。ジョブスケジュール部1100は、レコード取得範囲パラメータ生成部1000によって生成されたパラメータ分割データ管理テーブル500に基づいて、ジョブ実行サーバ20が実行するジョブをスケジューリングする。また、ジョブ実行サーバ20に、ジョブプログラム部2100の実行を要求する。このジョブスケジュール部1100の動作については、詳細に後述する。DBサーバ構成情報200は、各DBサーバ30の構成情報、すなわち各DBサーバ30とデータベース100内のレコードとの対応関係を示す情報を管理する。このDBサーバ構成情報200は、任意のDBサーバ30又はジョブ実行サーバ20によって収集される。また、このDBサーバ構成情報200は、スケジュールサーバ10、ジョブ実行サーバ20及びDBサーバ30の全てにおいて、同一の内容で格納される。このDBサーバ構成情報200については、詳細に後述する。レコード分布管理テーブル400は、データベース100内のレコードの分布を示す情報を管理するテーブルである。レコードの分布を示す情報とは、例えばキーレンジキー値の範囲毎のレコード数である。このレコード分布管理テーブル400については、詳細に後述する。分割データ管理テーブル500は、分割データの範囲や処理状態などの分割データに関する情報を管理するテーブルである。この分割データ管理テーブル500については、詳細に後述する。ジョブ実行サーバ20は、主記憶装置11bと、CPU12bと、通信I/F13bとを備える。主記憶装置11bは、ジョブプログラム起動部2000、ジョブプログラム部2100及びDB要求受付部2200の機能を実現する命令コードを含むプログラムを記憶するRAM等の記憶装置である。この主記憶装置11bは、DBサーバ構成情報200などのプログラムの実行に必要なファイル、データも記憶する。CPU12bは、主記憶装置11bに格納されたプログラムをロードして解釈実行する演算処理装置である。通信I/F13bは、通信路2を介して、スケジュールサーバ10及びDBサーバ30との間で、実行要求やレコード取得要求やレコードを送受信するインタフェース部である。ジョブプログラム起動部2000は、スケジュールサーバ10による要求を受け付けて、ジョブプログラム部2100を起動する。このジョブプログラム起動部2000の動作については、詳細に後述する。ジョブプログラム部2100は、ジョブプログラム起動部2000によって起動され、データベース100内のレコードを処理する。ここでいう処理は、データベース100からのレコードの取得を伴う処理である。このジョブプログラム部2100の動作については、詳細に後述する。DB要求受付部2200は、ジョブプログラム部2100による要求を受け付けて、DBアクセス部3100に対して、レコード取得などの要求を送信する。このDB要求受付部2200の動作については、詳細に後述する。DBサーバ30は、主記憶装置11cと、CPU12cと、通信I/F13cと、入出力I/F14cとを備える。このDBサーバ30は、入出力I/F14cを介して記憶装置15cに接続されている。主記憶装置11cは、レコード分布取得部3000及びDBアクセス部3100の機能を実現する命令コードを含むプログラムを記憶するRAM等の記憶装置である。この主記憶装置11cは、DBサーバ構成情報200、レコード分布情報300などのプログラムの実行に必要なファイル、データも記憶する。CPU12cは、主記憶装置11cに格納されたプログラムをロードして解釈実行する演算処理装置である。通信I/F13cは、通信路2を介して、ジョブ実行サーバ20とレコード取得要求やレコードを送受信する通信インタフェースである。入出力I/F13dは、データベース100を格納した記憶装置15cを接続するためのインタフェース部である。レコード分布取得部3000は、レコード分布取得方法指示パラメータ110に従って、レコード分布情報300を生成する。このレコード分布取得部3000の動作については、詳細に後述する。DBアクセス部3100は、DB要求受付部2200によるレコード取得などの要求を受け付けて、データベース100内のレコードにアクセスする。このDBアクセス部3100の動作については、詳細に後述する。レコード分布情報300は、DBサーバ30が管理するデータベース100内のレコードの分布を示す情報である。レコードの分布を示す情報とは、例えばキーレンジ毎のレコード数である。このレコード分布情報300は、DBサーバ30毎に異なる内容となる。このレコード分布情報300については、詳細に後述する。記憶装置15cは、データベース100、レコード分布取得方法指示パラメータ110を格納する。データベース100は前述の通りである。レコード分布取得方法指示パラメータ110は、レコード分布取得部3000に対し、レコードの分布の取得方法を指示するパラメータである。このレコード分布取得方法指示パラメータ110については、詳細に後述する。図2は、本発明の第一実施形態の計算機システム1のブロックダイアグラムを示す図である。図2を用いて計算機システム1の動作の概要を説明する。レコード分布取得部3000は、レコード分布取得方法指示パラメータ110に従って、データベース100内のレコードの分布を示す情報を取得し、レコード分布情報300として出力する。レコード取得範囲パラメータ生成部1000は、各DBサーバ30からレコード分布情報300を収集し、収集されたレコード分布情報300に基づいて、レコード分布管理テーブル400を作成する。また、DBサーバ構成情報200とレコード分布管理テーブル400とに基づいて、分割データ管理テーブル500を生成する。そうすると、ジョブスケジュール部1100が、分割データ管理テーブル500に基づいて、各ジョブ実行サーバ20が実行するジョブをスケジューリングし、各ジョブ実行サーバ20のジョブプログラム起動部2000に、ジョブプログラム部2100の実行を要求する。ジョブプログラム起動部2000は、ジョブプログラム部2100を起動する。そうすると、起動されたジョブプログラム部2100は、DB要求受付部2200にデータベース100内のレコードの取得を要求する。レコードの取得要求を受け付けたDB要求受付部2200は、DBサーバ30のDBアクセス部3100に、データベース100内のレコード取得要求を送信する。DBアクセス部3100は、DB要求受付部2200からの要求に応じて、データベース100内のレコードを取得し、DB要求受付部2200に回答する。図3は、本発明の第一実施形態のDBサーバ構成情報200の一例を示す図である。DBサーバ構成情報200では、各DBサーバ30が管理するデータベース100内のレコードを示す情報が格納される。DBサーバ名201は、DBサーバ30を一意に識別する識別子である。管理レコード識別情報202は、DBサーバ名201に示すDBサーバ30が管理するデータベース100内のレコードを識別するための情報図3では、キー銘柄のキー値の範囲である。なお、DBサーバ30において複数のプロセスが実行され、レコードの管理がプロセス単位に細分化されている場合、DBサーバ名201は、DBサーバ30を一意に識別する識別子と、プロセスを一意に識別する識別子との組み合わせた識別子であってもよい。図6のDBサーバ名403、図7のDBサーバ名503も同様である。以上のように、DBサーバ構成情報200では、各DBサーバ30の管理下のデータベース100内のレコードに含まれるキー値の範囲を示す情報が格納される。図4は、本発明の第一実施形態のレコード分布情報300の一例を示す図である。レコード分布情報300では、データベース100内のレコードの分布を示す情報として、キーレンジ毎のレコード数が格納される。キーレンジ301は、レコードのキー値の範囲である。レコード数302は、キー値がキーレンジ301の範囲内であるレコードの数である。なお、DBサーバ30において複数のプロセスが実行され、レコードの管理がプロセス単位に細分化されている場合、レコード分布情報300のエントリは、プロセスの識別子を含んでもよい。図5は、本発明の第一実施形態のレコード分布取得方法指示パラメータ110の一例を示す図である。レコード分布取得方法指示パラメータ110は、レコード分布取得部3000に対し、データベース100内のレコードの分布の取得方法を指示するためのパラメータである。図5に示すレコード分布取得方法指示パラメータ110では、データベース100内のレコードの分布の取得方法として、データベース100内のレコードの第一キーのレコード内オフセット位置取得開始位置-取得終了位置、すなわち各分布区間におけるキーの位置が定義されている。図5に示す例では、第一キーのレコード内取得開始位置、取得終了位置として、それぞれ11番目のカラム、20番目のカラムが定義されている。なお、データベース100内に第一キーが同じレコードが多数存在することが予想される場合は、データベース100内のレコードの第二キーのレコード内オフセット位置を定義してもよい。図5に示す例では、第二キーのレコード内取得開始位置、取得終了位置として、それぞれ21番目のカラム、30番目のカラムが定義されている。また、レコード分布取得方法指示パラメータ110では、分割データのレコード数上限値が定義されている。分割データのレコード数上限値とは、取得されたレコードの分布に基づいて分割データを生成する場合に、1つの分割データに格納するレコード数の上限値である。すなわち、1つの分割データは、このレコード数上限値以下のレコード数を保持することになる。図5に示す例では、分割データのレコード数上限値として200が定義されている。また、レコード分布取得方法指示パラメータ110では、分割データのキーレンジ幅が定義されている。この分割データのキーレンジ幅は、レコードの分布を取得する場合における各分布各区間のキーレンジ幅を決定するための情報である。この分割データのキーレンジ幅を予め定めた整数定数値nで除算した値を、各区間のキーレンジ幅とする。図5に示す例では、分割データのキーレンジ幅として100が定義されている。このキーレンジ幅=100を整数定数値=5で除算した値=20を、各区間のキーレンジ幅とした場合、図4に示すように、各区間のキーレンジ幅は20となる。なお、分割データのキーレンジ幅の代わりに、各区間のキーレンジ幅を定義してもよい。すなわち、キー値の最小値からキー値の幅毎に1区間として、各区間のキーレンジ幅を求めてもよい。また、分割数を定義してもよい。すなわち、データベース100全体のキーレンジを分割数で除算し、さらに整数定数値nで除算した値を、各区間のキーレンジ幅としてもよい。分割数とは、例えばジョブの分割数であって、各ジョブ実行サーバ20が実行するサブジョブの数である。その他、このレコード分布取得方法指示パラメータ110には、データベース100を識別する情報が定義されてもよい。図6は、本発明の第一実施形態のレコード分布管理テーブル400の一例を示す図である。レコード分布管理テーブル400は、レコード取得範囲パラメータ生成部1000によって、各DBサーバ30のレコード分布情報300図4参照に基づいて生成される。キーレンジ401は、レコードのキー値の範囲である。このキーレンジ401には、レコード分布情報300のキーレンジ301が格納される。レコード数402は、キー値がキーレンジ401の範囲内であるレコードの数である。このレコード数402には、レコード分布情報300のレコード数302が格納される。DBサーバ名403には、レコード分布情報300の管理元のDBサーバ30の名前が格納される。出力済フラグ404は、後述する分割データ管理テーブル500図7参照に、キーレンジ401の値のキーレンジを含むキーレンジセットのエントリを出力したか否かを識別するためのフラグである。この出力済フラグ404には、初期値としてNoが格納される。図7は、本発明の第一実施形態の分割データ管理テーブル500の一例を示す図である。分割データ管理テーブル500は、レコード取得範囲パラメータ生成部1000によって、レコード分布管理テーブル400及びDBサーバ構成情報200に基づいて生成される。分割データ識別子501は、分割データを一意に識別するシーケンス番号などの識別子である。キーレンジセット502は、分割データ内のレコードのキー値の範囲を組み合わせたセットである。DBサーバ名503は、分割データ内のレコードを取得するために接続するレコードの管理元のDBサーバ30の名前である。レコード数504は、分割データ内のレコード数を示す。実行状態505は、分割データの処理の実行状態として、実行済、実行中、未実行のいずれかが格納される。ジョブ実行サーバ名506は、分割データの処理を実行中のジョブ実行サーバ20を一意に識別する文字列である。なお、実行状態505が実行済の場合は、ジョブプログラム部2100による分割データの処理が完了したことを示す。実行状態505が実行中の場合は、ジョブスケジュール部1100がジョブプログラム起動部2000に分割データの処理を要求したが、ジョブプログラム部2100による分割データの処理が完了していないことを示す。実行状態505が未実行の場合は、ジョブスケジュール部1100からジョブプログラム起動部2000に分割データの処理を要求していないことを示す。図8は、本発明の第一実施形態のレコード分布取得部3000の制御ロジックを示すフローチャートである。まず、レコード分布取得部3000は、レコード分布取得方法指示パラメータ110を読み込むステップ3001。ここでは、レコード分布取得方法指示パラメータ110を読み込むことによって、レコード分布取得方法指示パラメータ110に定義されている各区間におけるキーの位置、分割データのレコード数上限値及び各区間のキーレンジ幅を決定するための分割データのキーレンジ幅などの情報を取得する。次に、レコード分布取得部3000は、各区間のキーレンジ最小値及び最大値を決定するステップ3002。ここでは、レコード分布取得方法指示パラメータ110において指定された分割データのキーレンジ幅を予め定めた整数定数値nで除算した値を、各区間のキーレンジ幅とする。その後、レコードのキー値の最小値からキーレンジ幅毎に各区間のキーレンジを設定する。なお、1つの分割データのキーレンジセット502図7参照は、複数の区間のキーレンジを組み合わせることによって生成される。そのため、このステップ3002では、指定された分割データのキーレンジ幅を整数定数値n5~10程度で除算することによって、各区間のキーレンジ幅を、分割データのキーレンジ幅よりも小さく設定している。また、ステップ3002では、レコード分布取得方法指示パラメータ110において分割データのキーレンジ幅の代わりに分割数が指定されている場合は、データベース100内の全レコードのキー値の最大値-最小値を{分割数×整数定数値n}によって除算した値を、各区間のキーレンジ幅としてもよい。次に、レコード分布取得部3000は、初期化状態のレコード分布情報300を生成するステップ3003。キーレンジ301には、ステップ3002で決定された各区間のキーレンジ最小値及び最大値を代入する。レコード数302には、初期値0を代入する。次に、レコード分布取得部3000は、ステップ3002で決定された各区間に含まれるレコード数を求め、レコード数302に登録するステップ3004。例えば、データベース100内の全レコードの各々について、当該レコードのキー値を含むキーレンジ301のエントリのレコード数302を1加算する。また、データベース100にレコードを格納する場合に、格納されるレコードのキー値を含むキーレンジ301のエントリのレコード数302を1加算する。次に、レコード分布取得部3000は、所定の区間キーレンジ301のレコード数302が、レコード分布取得方法指示パラメータ110で指定された分割データのレコード数上限値より大きい場合、当該区間を細分化するステップ3005。ここでは、分割データのレコード数上限値より大きい区間のキーレンジ幅を1/nに再設定することによって、区間を細分化し、細分化された区間に含まれるレコード数を再カウントする。なお、細分化された区間のキーレンジ幅が1になった場合は、レコード分布取得方法指示パラメータ110において指定された第二キーの値で区間を設定する。以上に示す処理により、レコード分布取得部3000は、レコード分布取得方法指示パラメータ110に基づいて、データベース100内のレコードに含まれるキー値の範囲を複数の区間に分割し、分割された各区間のレコード数を、レコードの分布を示す情報として取得し、レコード分布情報300として出力する。図9は、本発明の第一実施形態のレコード取得範囲パラメータ生成部1000の制御ロジックを示すフローチャートである。まず、レコード取得範囲パラメータ生成部1000は、各DBサーバ30からレコード分布情報300を取得するステップ1001。具体的には、任意のDBサーバ30に記憶されたDBサーバ構成情報200を主記憶装置11aにロードし、DBサーバ構成情報200に登録された各DBサーバ30から、レコード分布情報300を取得する。次に、レコード取得範囲パラメータ生成部1000は、ステップ1001で取得された各DBサーバ30のレコード分布情報300に基づいて、レコード分布管理テーブル400を生成するステップ1002。具体的には、まずステップ1001で取得された各DBサーバ30のレコード分布情報300のエントリ毎に、レコード分布管理テーブル400のエントリを生成する。次に、レコード分布情報300のキーレンジ301をキーレンジ401に、レコード数302をレコード数402に代入する。DBサーバ名403には、レコード分布情報300の取得元のDBサーバ30の名称を代入する。出力済フラグ404には、初期値としてNoを代入する。次に、レコード取得範囲パラメータ生成部1000は、レコード分布管理テーブル400から、出力済フラグ404がNoの任意のエントリを1つ選択するステップ1003。次に、レコード取得範囲パラメータ生成部1000は、ステップ1003で選択されたエントリとDBサーバ名403が一致し、且つ、出力済フラグ404がNoのエントリを、レコード数402の合計値が分割データのレコード数上限値に達するまで選択するステップ1004。なお、分割データのレコード数上限値は、レコード取得範囲パラメータ生成部1000が、DBサーバ30からDBサーバ構成情報200又はレコード分布情報300を取得する場合に、併せて取得するものとする。また、レコード取得範囲パラメータ生成部1000が、レコード分布取得方法指示パラメータ110を読み込むことによって取得してもよい。次に、レコード取得範囲パラメータ生成部1000は、ステップ1003及びステップ1004で選択されたレコード分布管理テーブル400の全エントリの出力済フラグ404をYesに変更するステップ1005。次に、レコード取得範囲パラメータ生成部1000は、分割データ管理テーブル500に新規エントリを追加し、分割データに関する情報を登録するステップ1006。すなわち、ステップ1003及びステップ1004で選択された全エントリのキーレンジ401をまとめたキーレンジ分割データの範囲、すなわち分割範囲をキーレンジセット502に、エントリのDBサーバ名403をDBサーバ名503に、各エントリのレコード数402の合計値をレコード数504に、それぞれ設定する。分割データ識別子501には、先頭のエントリを1としたシーケンス番号を設定する。実行状態505には、初期値として未実行を設定する。なお、ステップ1006では、レコード取得範囲パラメータ生成部1000は、分割データ管理テーブル500に分割データに関する情報を登録する代わりに、キーレンジセット502、DBサーバ名503及びレコード数504を、ファイルに出力してもよい。この場合、ジョブスケジュール部1100は、ステップ1110図10参照の前に、出力されたファイルから、キーレンジセット502、DBサーバ名503及びレコード数504を読み込み、分割データ管理テーブル500に新規エントリを追加し、読み込まれた情報を登録する。次に、レコード取得範囲パラメータ生成部1000は、レコード分布管理テーブル400に、出力済フラグ404がNoのエントリがあるか否かを判定するステップ1007。出力済フラグ404がNoのエントリがある場合ステップ1007でYES、ステップ1003に戻る。一方、出力済フラグ404がNoのエントリがない場合ステップ1007でNO、処理を終了する。以上に示す処理において、レコード取得範囲パラメータ生成部1000は、特にステップ1003~ステップ1006により、DBサーバ構成情報200とレコード分布管理テーブル400とを参照して、同一のDBサーバ30によって管理されるレコードのキーレンジを、組み合わせ後のレコード数が分割データのレコード数上限値以下で均等となるように組み合わせる。これにより、異なるDBサーバ30によって管理されるレコードが組み合わされ、混在してしまうのを回避できる。その後、組み合わせられたキーレンジの集合であるキーレンジセット502と、DBサーバ30の識別子であるDBサーバ名503とを対応付けて、分割データ管理テーブル500に格納する。図10は、本発明の第一実施形態のジョブスケジュール部1100の制御ロジックを示すフローチャートである。まず、ジョブスケジュール部1100は、分割データ管理テーブル500の全エントリを参照し、DBサーバ名503が等しいエントリ毎に、実行状態505が実行中のエントリ数と、実行状態505が未実行のエントリ数とをカウントするステップ1110。次に、ジョブスケジュール部1100は、実行状態505が実行中のエントリ数が0、且つ、実行状態505が未実行のエントリ数が最も多いDBサーバ名503を求め、求められたDBサーバ名503のエントリ群から、実行状態505が未実行、且つ、レコード数504が最も多いエントリを優先的に選択するステップ1111。次に、ジョブスケジュール部1100は、ステップ1112で選択可能なエントリ、すなわち、実行状態505が実行中のエントリ数が0、且つ、実行状態505が未実行のエントリ数が0でないDBサーバ名503のエントリ群がある場合、次のステップ1113~ステップ1117を実行するステップ1112。なお、ステップ1112では、各DBサーバ30において複数のプロセスが実行され、各DBサーバ30が同時に複数の接続を許容でき、複数のデータベース入出力を並列実行できる場合は、実行状態505が実行中のエントリ数が許容できる接続数未満の数であるDBサーバ30のエントリを選択してもよい。ステップ1113に移行した場合、ジョブスケジュール部1100は、分割データ管理テーブル500の全エントリを参照し、ジョブ実行サーバ名506毎にエントリ数をカウントし、実行状態505が実行中のエントリ数が、予め定めた多重度同一のジョブ実行サーバ20で同時に実行できるジョブプログラム部2100の実行単位の最大数に達していないジョブ実行サーバ名506を求めるステップ1113。ジョブスケジュール部1100は、実行状態505が実行中のエントリ数が多重度より小さいジョブ実行サーバ名506がある場合ステップ1114でYES、ステップ1115に移行する。一方、実行状態505が実行中のエントリ数が多重度より少ないジョブ実行サーバ名506がない場合ステップ1114でNO、ステップ1118に移行する。ステップ1115に移行した場合、ジョブスケジュール部1100は、ステップ1113で選択されたジョブ実行サーバ20のジョブプログラム起動部2000に、ステップ1111で選択されたエントリの情報を送信するとともに、ジョブプログラム部2100の実行を要求するステップ1115。ここでいうエントリの情報とは、当該エントリの分割データ識別子501とキーレンジセットレコード取得範囲パラメータ502の情報である。次に、ジョブスケジュール部1100は、ステップ1111で選択されたエントリの実行状態505を実行中に変更し、ジョブ実行サーバ名506に、実行要求先のジョブ実行サーバ20の名称を代入するステップ1116。次に、ジョブスケジュール部1100は、分割データ管理テーブル500に実行状態505が未実行のエントリがあるか否か判定するステップ1117。実行状態505が未実行のエントリがある場合ステップ1117でYES、ステップ1110に戻る。一方、実行状態505が未実行のエントリがない場合ステップ1117でNO、ステップ1118に移行する。ステップ1118に移行した場合、ジョブスケジュール部1100は、ジョブプログラム起動部2000から、分割データの処理完了通知を待つステップ1118。その後、ジョブプログラム起動部2000から処理完了通知を受けたジョブスケジュール部1100は、処理が完了した分割データのエントリの実行状態505を実行済に変更し、ジョブ実行サーバ名506に代入されたジョブ実行サーバ20の名称を消去するステップ1119。次に、ジョブスケジュール部1100は、分割データ管理テーブル500に実行状態505が未実行のエントリがあるか否か判定するステップ1120。実行状態505が未実行のエントリがある場合ステップ1120でYES、ステップ1110に戻る。一方、実行状態505が未実行のエントリがない場合ステップ1120でNO、処理を終了する。以上に示す処理により、ジョブスケジュール部1100は、分割データ管理テーブル500から、実行状態505が未実行のエントリを1つずつ取り出す。次に、取り出されたエントリの情報を、ジョブプログラム起動部2000に送信し、ジョブプログラム部2100の実行を要求する。なお、ステップ1110~1112の処理により、同一のDBサーバ30が同じエントリの処理を同時に実行することを規制している。これにより、ジョブ実行サーバ20及びDBサーバ30の関係が固定されない、又は、同数でない場合であっても、各DBサーバ30へのアクセス競合を回避することができる。図11に、本発明の第一の実施形態のジョブプログラム起動部2000の制御ロジックを示すフローチャートである。まず、ジョブプログラム起動部2000は、ジョブスケジュール部1100からの要求を待つステップ2001。ジョブスケジュール部1100から要求を受けたジョブプログラム起動部2000は、ジョブスケジュール部1100から、分割データ識別子501及びキーレンジセット502を受信するステップ2002。次に、ジョブプログラム起動部2000は、ステップ2002で受信した分割データ識別子501及びキーレンジセット502を、ジョブプログラム部2100が参照可能な領域環境変数などに設定し、ジョブプログラム部2100を起動するステップ2003。次に、ジョブプログラム起動部2000は、ジョブプログラム部2100によるデータベース100内の分割データの処理の完了通知を待つステップ2004。ジョブプログラム部2100から処理完了通知を受けたジョブプログラム起動部2000は、ジョブスケジュール部1100に、処理が完了した分割データの分割データ識別子501を送信するとともに、分割データの処理完了を通知するステップ2005。図12に、本発明の第一実施形態のジョブプログラム部2100の制御ロジックを示すフローチャートである。まず、ジョブプログラム部2100は、ジョブプログラム起動部2000によって環境変数などに設定されたキーレンジセット502を読み込むステップ2101。次に、ジョブプログラム部2100は、ステップ2101で読み込まれたキーレンジセット502を、SQLStructuredQueryLanguageのSELECT文のオペランドに埋め込むことによって、データベース100内のレコード取得用のSQL文を生成するステップ2102。次に、ジョブプログラム部2100は、ステップ2102で生成されたSQL文を、DB要求受付部2200に送信するとともに、SQL文中のオペランドで指定された範囲のレコードをデータベース100から取得する要求を、DB要求受付部2200に送信するステップ2103。その後、ジョブプログラム部2100は、DB要求受付部2200からの応答を待つ。次に、ジョブプログラム部2100は、DB要求受付部2200からの応答を受信し、DB要求受付部2200による応答結果が格納された応答領域から、取得されたレコードを取り出して、取り出されたレコードに対するプログラム固有の処理を実行するステップ2104。ここでいうプログラム固有の処理とは、例えば取り出されたレコードの加工集計帳票作成等を実行する処理である。以上に示す処理により、ジョブプログラム部2100は、キーレンジセット502を用いて、SQLのSELECT文などDB要求受付部2200が理解できる形式のデータベース100のレコード取得要求パラメータを生成し、DB要求受付部2200に送信する。図13は、本発明の第一実施形態のDB要求受付部2200の制御ロジックを示すフローチャートである。まず、DB要求受付部2200は、ジョブプログラム部2100から、SQL文を受信するステップ2201。次に、DB要求受付部2200は、ステップ2201で受信したSQL文内のオペランドに記述されているキーレンジセット502と、DBサーバ構成情報200の管理レコード識別情報202とを比較し、キーレンジセット502を含む管理レコード識別情報202に対応付けられたDBサーバ名201を求めるステップ2202。次に、DB要求受付部2200は、ステップ2202で求められたDBサーバ名201のDBサーバ30のDBアクセス部3100に、キーレンジセット502の情報を送信し、レコードの取得を要求するステップ2203。次に、DB要求受付部2200は、DBアクセス部3100によって取得されたレコードを応答領域に格納し、SQL文の送信元のジョブプログラム部2100に応答するステップ2204。以上に示す処理により、DB要求受付部2200は、DBサーバ構成情報200を参照し、SQL文で指定されたキーレンジセット502を含むレコードを管理するDBサーバ30を選択し、選択されたDBサーバ30のDBアクセス部3100に、データベース100のレコード取得要求を送信する。図14は、本発明の第一実施形態のDBアクセス部3100の制御ロジックを示すフローチャートである。まず、DBアクセス部3100は、DB要求受付部2200から、レコード取得要求キーレンジセット502の情報を含むを受信するステップ3101。次に、DBアクセス部3100は、ステップ3101で受信したレコード取得要求において指定されたキーレンジセット502のレコードを、データベース100から取得するステップ3102。次に、DBアクセス部3100は、ステップ3102で取得されたレコードを、SQL応答文などの形式で、DB要求受付部2200に送信するステップ3103。以上に示す処理により、DBアクセス部3100は、指定されたキーレンジセット502のレコードを、データベース100から取り出し、DB要求受付部2200に送信する。以上説明してきたように、本発明の第一実施形態の計算機システム1によれば、データベース100に格納されたデータの入力を伴うジョブの並列分散処理において、DBサーバ30及びジョブ実行サーバ20の関係を固定していない、又は、両者を同じ個数設けていない場合であっても、データベース100に格納されたデータの入力を実行するDBサーバ30へのアクセス競合を回避することができる。また、各ジョブ実行サーバ20が処理するレコード数を適正な大きさにし、且つ、平均化することができるので、各ジョブ実行サーバ20及びDBサーバ30の負荷を平準化し、ジョブを高速実行することができる。第二実施形態前述の第一実施形態では、ジョブ実行サーバ20が、データベース100に格納されたレコードの取得を伴うジョブを実行する形態について説明した。ここでは、ジョブ実行サーバ20が、データベース100へのレコードの出力格納を伴うジョブを実行する形態について説明する。図15は、本発明の第二実施形態の計算機システム1のハードウェア構成例を示す図である。計算機システム1は、スケジュールサーバ10と、1又は複数のジョブ実行サーバ20と、1又は複数のDBサーバ30とを備える。なお、以下では図1と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。本発明の第二実施形態のスケジュールサーバ10は、さらに、入出力I/F14aを備える。このスケジュールサーバ10は、各ジョブ実行サーバ20が実行するジョブをスケジューリングする。ここでいうジョブとは、データベース100へのレコードの出力を伴うジョブである。このスケジュールサーバ10は、入出力I/F14aを介して記憶装置15aに接続されている。記憶装置15aは、入力データ120、分割データ130を格納する。入力データ120は、ジョブプログラム部2100が処理するレコードの集合である。分割データ130は、入力データ120を分割したデータである。なお、この記憶装置15aは、スケジュールサーバ10に直接接続されているが、ネットワーク等を介して間接接続されてもよい。主記憶装置11aは、ジョブスケジュール部1100及びデータ分割部1200の機能を実現する命令コードを含むプログラムを記憶するRAM等の記憶装置である。この主記憶装置11aは、DBサーバ構成情報200及び分割データ管理テーブル500などのプログラムの実行に必要なファイル、データも記憶する。ジョブスケジュール部1100は、分割データ管理テーブル500に基づいて、ジョブ実行サーバ20が実行するジョブをスケジューリングする。また、ジョブ実行サーバ20に、ジョブプログラム部2100の実行を要求する。このジョブスケジュール部1100の動作については、以下の点を除いて前述の第一実施形態図10参照と同様であるため、ここでは相違点のみ説明する。すなわち、ステップ1115において、本発明の第二の実施形態のジョブスケジュール部1100は、ステップ1113で選択されたジョブ実行サーバ20のジョブプログラム起動部2000に、データベース100に出力すべき分割データ130の情報を送信するとともに、ジョブプログラム部2100の実行を要求するステップ1115。データベース100に出力すべき分割データ130とは、分割データ管理テーブル500に登録された分割データ130のうちの、ステップ1111で選択された1つの分割データ130である。なお、ステップ1110~1112の処理により、ジョブスケジュール部1100は、分割データ管理テーブル500のDBサーバ名503を参照し、同一のDBサーバ30が同じ分割データ130の処理を同時に実行することを規制している。また、ステップ1111の処理により、レコード数の多い分割データ130を優先的に選択する。データ分割部1200は、入力データ120を複数の分割データ130に分割する。このデータ分割部1200の動作については、詳細に後述する。DBサーバ構成情報200は、各DBサーバ30の構成情報を管理する。分割データ管理テーブル500は、データ分割部1200によって生成された各分割データ130の範囲や処理状態などの分割データ130に関する情報を管理するテーブルである。これらDBサーバ構成情報200及び分割データ管理テーブル500については、前述の第一実施形態図3、7参照と同様であるため、ここでは説明を省略する。ジョブ実行サーバ20は、前述の第一実施形態と同様に、主記憶装置11bと、CPU12bと、通信I/F13bとを備える。主記憶装置11bは、ジョブプログラム起動部2000、ジョブプログラム部2100b及びDB要求受付部2200bの機能を実現する命令コードを含むプログラムを記憶するRAM等の記憶装置である。ジョブプログラム起動部2000は、スケジュールサーバ10による要求を受け付けて、ジョブプログラム部2100を起動する。このジョブプログラム起動部2000は、以下の点を除いて前述の第一実施形態図11参照と同様であるため、ここでは相違点のみ説明する。すなわち、ステップ2002において、本発明の第二の実施形態のジョブプログラム起動部2000は、キーレンジセットレコード取得範囲パラメータ502を受信せずに、分割データ130を受信してもよい。また、ステップ2003において、ステップ2002で受信した分割データ130を、ジョブプログラム部2100が参照可能な領域環境変数などに設定しない。ジョブプログラム部2100bは、ジョブプログラム起動部2000によって起動され、データベース100内のレコードを処理する。ここでいう処理は、データベース100へのレコードの出力を伴う処理である。このジョブプログラム部2100bの動作については、詳細に後述する。DB要求受付部2200bは、ジョブプログラム部2100による要求を受け付けて、DBアクセス部3100に対して、レコード出力などの要求を送信する。このDB要求受付部2200bの動作については、詳細に後述する。DBサーバ30は、前述の第一の実施形態と同様に、主記憶装置11cと、CPU12cと、通信I/F13cと、入出力I/F14cとを備える。このDBサーバ30は、入出力I/F14cを介して記憶装置15cに接続されている。主記憶装置11cは、DBアクセス部3100の機能を実現する命令コードを含むプログラムを記憶するRAM等の記憶装置である。この主記憶装置11cは、DBサーバ構成情報200などのプログラムの実行に必要なファイル、データも記憶する。記憶装置15cは、データベース100を格納する。データベース100はレコードの集合である。なお、レコードとは、ジョブプログラム部2100が出力格納し処理するデータベース100内のデータの単位である。また、レコード内の特定フィールドの数値又は文字列をキーと呼ぶ。図16は、本発明の第二実施形態の計算機システム1のブロックダイアグラムを示す図である。図16を用いて計算機システム1の動作の概要を説明する。データ分割部1200は、入力データ120を複数の分割データ130に分割し、分割データ130の属性情報を、分割データ管理テーブル500に登録する。そうすると、ジョブスケジュール部1100は、分割データ管理テーブル500に基づいて、各ジョブ実行サーバ20が実行するジョブをスケジューリングし、各ジョブ実行サーバ20のジョブプログラム起動部2000に、ジョブプログラム部2100の実行を要求する。ジョブプログラム起動部2000は、ジョブプログラム部2100bを起動する。そうすると、起動されたジョブプログラム部2100bは、分割データ130を読み込んで処理し、DB要求受付部2200bに、処理結果のレコードのデータベース100への出力要求を送信する。レコードの出力要求を受け付けたDB要求受付部2200bは、DBサーバ30のDBアクセス部3100に、データベース100へのレコード出力要求を送信する。DBアクセス部3100bは、DB要求受付部2200bからの要求に応じて、データベース100にレコードを出力し、DB要求受付部2200bに回答する。図17は、本発明の第二実施形態の入力データ120の一例を示す図である。入力データ120は、複数のレコードから構成されるレコード群である。各レコードは、取引時刻図中の先頭レコードでは00:00:00、レコードのキーである取引銘柄名銘柄1、取引数20などの情報を含む。図18は、本発明の第二実施形態の分割データ130の一例を示す図である。分割データ130は、入力データ120に含まれる1又は複数のレコードから構成される。各レコードの内容は入力データ120と同様であるため、ここでは説明を省略する。図19は、本発明の第二実施形態のデータ分割部1200の第一の制御ロジックを示すフローチャートである。まず、データ分割部1200は、任意のDBサーバ30から、DBサーバ構成情報200を受信するステップ1201。次に、データ分割部1200は、入力データ120から全レコードを読み出しステップ1202、読み出された全レコードをソートするステップ1203。ステップ1203では、読み出された全レコードをソートする場合、ソートの第一キーは、レコードのキー値を含む管理レコード識別情報202のエントリのDBサーバ名201とする。また、ソートの第二キーはレコードのキー値とする。これにより、同一のDBサーバ30によってデータベース100に出力されるレコード群が、連続して並ぶようにソートされる。なお、レコードをソートするかわりに、レコードへのポインタをソートしてもよい。次に、データ分割部1200は、ソート後の全レコードを、複数のレコードセットに分割し、生成された複数のレコードセットのそれぞれを、異なる分割データ130として出力するステップ1204。ステップ1204では、ソート後の全レコードの並び順に、予め指定された分割データ130のレコード数上限値毎に複数のレコードセットに分割する。ただし、分割データ130のレコード数上限値に達していない場合でも、所定のレコードのソートの第一キーの値が直前のレコードのソートの第一キーの値と異なる場合、当該レコードと直前のレコードとの間で分割する。これにより、ソートの第一キーの値が異なるすなわち、データベース100へのレコードの出力を実行するDBサーバ30が異なるレコードが、同一の分割データ130に混在してしまうのを回避できる。なお、ソートの第二キーの値が同じレコードは、同じ分割データ130に含まれるように分割することが好ましい。次に、データ分割部1200は、分割データ管理テーブル500を生成し、分割データ130の数と同数のエントリを生成するステップ1205。次に、データ分割部1200は、ステップ1204で生成された各分割データ130に関する情報を、ステップ1205で生成されたエントリに登録するステップ1206。ステップ1206では、生成された分割データ130の名称又は、分割データ130を一意に識別するシーケンス番号を、分割データ識別子501に設定する。分割データ130に含まれるレコードのキー値を含む管理レコード識別情報202のエントリのDBサーバ名201を、DBサーバ名503に設定する。分割データ130に含まれるレコード数を、レコード数504に設定する。実行状態505は、初期値として未実行に設定する。ジョブ実行サーバ名506は設定しない。なお、ステップ1206では、データ分割部1200は、分割データ管理テーブル500に分割データ130に関する情報を登録する代わりに、分割データ識別子501、DBサーバ名503及びレコード数504を、ファイルに出力してもよい。この場合、ジョブスケジュール部1100は、ステップ1110図10参照の前に、出力されたファイルから、分割データ識別子501、DBサーバ名503及びレコード数504を読み込み、分割データ管理テーブル500に新規エントリを追加し、読み込まれた情報を登録する。以上に示す第一の制御ロジックにより、データ分割部1200は、入力データ120レコード群を複数の分割データ130分割レコード群に分割し、各分割データ130の属性情報を、分割データ管理テーブル500に登録する。なお、データ分割部1200は、特にステップ1203~1204により、DBサーバ構成情報200と入力データ120の各レコードのキー値を参照して、入力データ120のレコードのうちの同一のキー値の範囲に含まれるレコード同一のDBサーバ30によって管理されるレコードを組み合わせて、複数の分割データ130を生成している。そのため、異なるDBサーバ30によって管理されるレコードが、同一の分割データ130に混在してしまうのを回避している。すなわち、分割データ130内のレコードを処理した結果の出力用レコードの全てが、同一のDBサーバ30によって管理されるデータベース100に出力されるように、入力データ120を分割している。図20は、本発明の第二実施形態のデータ分割部1200の第二の制御ロジックを示すフローチャートである。なお、以下では図19と同様の構成要素には同一の符号を付して重複する説明を適宜省略する。まず、データ分割部1200は、前述の第一の制御ロジック図19参照と同様に、任意のDBサーバ30から、DBサーバ構成情報200を受信するステップ1201。次に、データ分割部1200は、入力データ120からレコードを順に読み出し、読み出されたレコードに基づいて、レコードのキー値又は、予め指定された幅のキー値の範囲毎の中間ファイルを生成、出力するステップ1211。ステップ1211では、キー値の範囲毎の中間ファイルを生成する場合は、キー値の範囲は、管理レコード識別情報202に示すキー値の範囲の部分集合とする。これにより、DBサーバ名201が異なるキーが、同一のキー値の範囲に含まれてしまうのを回避することができる。次に、データ分割部1200は、ステップ1211で生成された複数の中間ファイルを組み合わせることによって、分割データ130を生成するステップ1212。ここでは、中間ファイルに含まれるレコードのキー値を含む管理レコード識別情報202のエントリが同じすなわち、データベース100へのレコードの出力を実行するDBサーバ30が同じレコードを含む中間ファイル同士を、中間ファイルに含まれるレコード数の合計値が、予め指定された分割データ130のレコード数上限値に達するまで組み合わせる。以降、ステップ1205及びステップ1206の処理については、前述の第一の制御ロジック図19参照と同様であるため、ここでは説明を省略する。以上に示す第二の制御ロジックにより、データ分割部1200は、第一の制御ロジックのようなソート処理を実行することなく、入力データ120を、中間ファイルを介して複数の分割データ130に分割し、各分割データ130の属性情報を、分割データ管理テーブル500に登録することができる。図21は、本発明の第二実施形態のジョブプログラム部2100bの制御ロジックを示すフローチャートである。まず、ジョブプログラム部2100bは、分割データ130からレコードを取り出し、プログラム固有の処理を実行するステップ2111。プログラム固有の処理とは、例えば、取り出されたレコードの重複チェックや加工を実行する処理である。次に、ジョブプログラム部2100bは、ステップ2111でプログラム固有の処理が実行されたレコードとSQLのINSERT文とを、DB要求受付部2200bに送信するとともに、当該レコードをデータベース100に出力する要求を、DB要求受付部2200bに送信するステップ2112。以上に示す処理により、ジョブプログラム部2100bは、分割データ130からレコードを取り出してプログラム固有の処理を実行し、処理結果のレコードとSQLのINSERT文などを、DB要求受付部2200bに送信する。図22は、本発明の第二実施形態のDB要求受付部2200bの制御ロジックを示すフローチャートである。まず、DB要求受付部2200bは、第一実施形態と同様に、ジョブプログラム部2100bからSQL文及びジョブプログラム部2100bのプログラム固有の処理が実行されたレコードを受信するステップ2201。次に、DB要求受付部2200bは、ステップ2201で受信したレコードのキーと、DBサーバ構成情報200の管理レコード識別情報202とを比較し、レコードのキーを含む管理レコード識別情報202に対応付けられたDBサーバ名201を求めるステップ2212。次に、DB要求受付部2200bは、ステップ2212で求められたDBサーバ名201のDBサーバ30のDBアクセス部3100に、レコードを送信し、データベース100へのレコードの出力を要求するステップ2213。以上に示す処理により、DB要求受付部2200bは、DBサーバ構成情報200を参照し、ジョブプログラム部2100bの処理結果のレコードを管理するDBサーバ30を選択し、選択されたDBサーバ30のDBアクセス部3100に、データベース100へのレコード出力要求を送信する。図23は、本発明の第二実施形態のDBアクセス部3100bの制御ロジックを示すフローチャートである。まず、DBアクセス部3100bは、DB要求受付部2200bから、レコード出力要求レコードの情報を含むを受信するステップ3111。次に、DBアクセス部3100は、ステップ3111で受信したレコードを、データベース100に出力するステップ3112。以上に示す処理により、DBアクセス部3100は、ジョブプログラム部2100bの処理結果のレコードを、データベース100に出力する。以上説明してきたように、本発明の第二実施形態の計算機システム1によれば、データベース100への出力を伴うジョブの並列分散処理において、DBサーバ30及びジョブ実行サーバ20の関係を固定していない、又は、両者を同じ個数設けていない場合であっても、データベース100へのデータの出力を実行するDBサーバ30へのアクセス競合を回避することができる。また、各ジョブ実行サーバ20が処理するレコード数を適正な大きさにし、且つ、平均化することができるので、各ジョブ実行サーバ20及びDBサーバ30の負荷を平準化し、ジョブを高速実行することができる。以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。