(57)【要約】【課題】データの格納及びインデックスの生成に伴う時間を短縮することを可能とする情報処理装置、データロードプログラム及びデータロード方法を提供する。【解決手段】第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置は、第１記憶部に記憶されたデータ群に含まれるデータを各列に対応するデータ毎に取得するデータ取得部と、取得したデータを第２記憶部に記憶するデータ管理部と、データ群のインデックスの生成に用いられる列に対応する生成元データが第１記憶部から取得されたことに応じて、取得された生成元データからインデックスを生成するインデックス生成部と、を有する。【選択図】図７
2018106518.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置において、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得するデータ取得部と、
取得した前記データを前記第２記憶部に記憶するデータ管理部と、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成するインデックス生成部と、を有する、
ことを特徴とする情報処理装置。
【請求項２】
請求項１において、
前記データ取得部は、前記生成元データを優先して、前記データ群に含まれるデータの取得を行う、
ことを特徴とする情報処理装置。
【請求項３】
請求項１において、
前記データ取得部は、
前記インデックスの生成に用いられる列を識別する識別情報が記憶された記憶部を参照して、前記インデックスの生成に用いられる列を特定し、
特定した前記列に対応するデータを前記生成元データとして、前記第１記憶部に記憶された前記データ群に含まれるデータの取得を行う、
ことを特徴とする情報処理装置。
【請求項４】
請求項２において、
前記データ取得部は、
前記第１記憶部に記憶された前記データ群に、第１インデックスの生成に用いられる列に対応する第１生成元データと、前記第１インデックスと異なる第２インデックスの生成に用いられる列に対応する第２生成元データとが含まれている場合、前記第１インデックス及び前記第２インデックスのうち、各インデックスの生成に用いられる列の数が少ない方のインデックスを特定し、
前記第１インデックスを特定した場合、前記第１生成元データを前記第２生成元データよりも優先して取得し、前記第２インデックスを特定した場合、前記第２生成元データを前記第１生成元データよりも優先して取得し、
前記インデックス生成部は、
前記第１生成元データが取得されたことに応じて、取得された前記第１生成元データから前記第１インデックスを生成し、
前記第２生成元データが取得されたことに応じて、取得された前記第２生成元データから前記第２インデックスを生成する、
ことを特徴とする情報処理装置。
【請求項５】
請求項２において、
前記データ取得部は、
前記第１記憶部に記憶された前記データ群に、複数のインデックスの生成に用いられる列に対応する前記生成元データが含まれている場合、前記複数のインデックスのうち、前記インデックス生成部が生成する特定のインデックスを特定し、
特定した前記特定のインデックスに対応する前記生成元データを優先して、前記第１記憶部に記憶された前記データ群に含まれるデータの取得を行い、
前記インデックス生成部は、
前記特定のインデックスに対応する前記生成元データが取得されたことに応じて、取得された前記生成元データから前記特定のインデックスを生成し、さらに、
前記第１記憶部に記憶されたデータ群を第３記憶部に記憶する他の情報処理装置に対し、前記特定のインデックスを送信するインデックス送信部と、
前記他の情報処理装置が送信した前記他のインデックスを受信するインデックス受信部と、を有する、
ことに特徴とする情報処理装置。
【請求項６】
請求項５において、
前記他の情報処理装置は、
前記第１記憶部に記憶された前記データ群に、前記複数のインデックスの生成に用いられる列に対応する前記生成元データが含まれている場合、前記複数のインデックスのうち、前記特定のインデックス以外の他のインデックスを特定し、
前記他のインデックスに対応する前記生成元データを優先して、前記第１記憶部に記憶された前記データ群に含まれるデータを取得し、
取得した前記データを前記第３記憶部に記憶し、
前記他のインデックスに対応する前記生成元データが取得されたことに応じて、取得された前記生成元データから前記他のインデックスを生成し、
生成した前記他のインデックスを前記情報処理装置に送信し、
前記情報処理装置が送信した前記特定のインデックスを受信する、
ことに特徴とする情報処理装置。
【請求項７】
請求項５において、
特定のインデックスを特定する処理では、
前記複数のインデックスそれぞれの生成に用いられる列の数を特定し、
特定した前記列の数が少ないインデックスの順位が高くなるように前記複数のインデックスそれぞれに対して順位付けを行い、
前記複数のインデックスのうち、順位を前記情報処理装置及び前記他の情報処理装置の台数で除算した余りが同じであるインデックスを、前記特定のインデックスとして特定する、
ことに特徴とする情報処理装置。
【請求項８】
請求項５において、さらに、
前記第２記憶部に記憶された前記データ群に含まれるデータに対するアクセス要求を受け付けた場合、前記インデックス生成部が生成した前記特定のインデックスが記憶された記憶部と、前記インデックス受信部が受信した前記他のインデックスが記憶された記憶部とを参照して、前記アクセス要求に対応するデータの記憶位置を特定し、特定した前記記憶位置にアクセスを行うデータアクセス部を有する、
ことを特徴とする情報処理装置。
【請求項９】
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置に実行させるデータロードプログラムにおいて、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得し、
取得した前記データを前記第２記憶部に記憶し、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成する、
処理を前記情報処理装置に実行させることを特徴とするデータロードプログラム。
【請求項１０】
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶するデータロード方法において、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得し、
取得した前記データを前記第２記憶部に記憶し、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成する、
ことを特徴とするデータロード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、データロードプログラム及びデータロード方法に関する。
【背景技術】
【０００２】
例えば、利用者に対してサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システムを構築して稼働させる。
【０００３】
上記のような業務システムは、例えば、利用者に対してサービスを提供するためのオンライン処理を行うオンラインシステムと、利用者に対するサービス時間の終了後（例えば、夜間）にバッチ処理を行うバッチシステムとから構成される。この場合、業務システムは、例えば、利用者に対するサービス時間の終了後、オンラインシステムの停止を行うとともにバッチシステムの起動を行う。そして、業務システムは、例えば、バッチシステムによるバッチ処理の終了後、バッチシステムの停止を行うとともにオンラインシステムの起動を行う。これにより、事業者は、業務システムのリソースを効率的に活用することが可能になる。
【０００４】
また、上記のような業務システムは、例えば、業務要件変更に伴う列追加等の表定義変更、業務システムを構成するソフトウエアのアップデートやハードウエアの交換等のメンテナンスが行われる場合、オンラインシステムの停止を行う。そして、業務システムは、メンテナンスの終了後、オンラインシステムの起動を行う（例えば、特許文献１から３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２６４９７３号公報
【特許文献２】特開２０１２−１２３６８０号公報
【特許文献３】特開昭６０−１９６８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなオンラインシステムは、例えば、大規模データを効率的に管理するためのＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）の他、ＤＢＭＳが管理するデータに対する処理を高速に行うためのＫＶＳ（Ｋｅｙ  Ｖａｌｕｅ  Ｓｔｏｒｅ）やＩＭＤＢ（Ｉｎ−Ｍｅｍｏｒｙ  ＤａｔａＢａｓｅ）等を構成として含む。そして、このようなオンラインシステムでは、起動時において、ＤＢＭＳ、ＫＶＳまたはＩＭＤＢ（以下、単にＤＢＭＳ等とも呼ぶ）に対するデータの格納や、ＤＢＭＳ等に格納したデータの検索を高速に行うために用いられるインデックスの生成等が行われることがある。
【０００７】
ここで、例えば、サービスを利用する利用者数が増加した場合、ＤＢＭＳ等に格納する必要があるデータ量は増加する。そして、この場合、ＤＢＭＳ等に対するデータの格納やインデックスの生成等に要する時間は、ＤＢＭＳ等に格納する必要があるデータ量の増加に伴って長くなる。そのため、例えば、サービスを利用する利用者数が業務システムの構築時における見積りを上回った場合、オンラインシステムの起動がサービスの開始時間までに完了しない可能性が発生する。
【０００８】
そこで、一つの側面では、本発明は、データの格納及びインデックスの生成に伴う時間を短縮することを可能とする情報処理装置、データロードプログラム及びデータロード方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施の形態の一態様では、第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置は、前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得するデータ取得部と、取得した前記データを前記第２記憶部に記憶するデータ管理部と、前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成するインデックス生成部と、を有する。
【発明の効果】
【００１０】
一つの側面によれば、データの格納及びインデックスの生成に伴う時間を短縮することを可能とする。
【図面の簡単な説明】
【００１１】
【図１】図１は、オンラインシステム１０の構成を示す図である。
【図２】図２は、情報処理装置１のハードウエア構成を示す図である。
【図３】図３は、情報処理装置１の機能ブロック図である。
【図４】図４は、第１の実施の形態におけるデータロード処理の概略を説明するフローチャート図である。
【図５】図５は、第１の実施の形態におけるデータロード処理の概略を説明するフローチャート図である。
【図６】図６は、第１の実施の形態におけるデータロード処理の概略を説明する図である。
【図７】図７は、第１の実施の形態におけるデータロード処理の概略を説明する図である。
【図８】図８は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図１３】図１３は、表定義情報１３１及びインデックス定義情報１３２の具体例を説明する図である。
【図１４】図１４は、対象データＤＴ１が格納された後の社員表の具体例を説明する図である。
【図１５】図１５は、インデックス定義情報１３２の具体例を説明する図である。
【図１６】図１６は、Ｓ２４及びＳ２５の処理の具体例を説明する図である。
【図１７】図１７は、Ｓ２４及びＳ２５の処理の具体例を説明する図である。
【図１８】図１８は、Ｓ２４及びＳ２５の処理の具体例を説明する図である。
【図１９】図１９は、第２の実施の形態におけるオンラインシステム１０の構成を示す図である。
【図２０】図２０は、第２の実施の形態における第１情報処理装置１ａの機能ブロック図である。
【図２１】図２１は、第２の実施の形態における第２情報処理装置１ｂの機能ブロック図である。
【図２２】図２２は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図２３】図２３は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図２４】図２４は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図２５】図２５は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図２６】図２６は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【図２７】図２７は、第１の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。
【図２８】図２８は、第１の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。
【図２９】図２９は、第２の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。
【図３０】図３０は、第２の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。
【発明を実施するための形態】
【００１２】
［オンラインシステムの構成］
初めに、オンラインシステム１０の構成について説明を行う。図１は、オンラインシステム１０の構成を示す図である。
【００１３】
オンラインシステム１０（以下、情報処理システム１０とも呼ぶ）は、例えば、情報処理装置１と、記憶装置２と、記憶装置３とを有する。以下、記憶装置２が情報処理装置１と異なる装置であるものとして説明を行うが、記憶装置２は、情報処理装置１の一部からなるものであってもよい。同様に、以下、記憶装置３が情報処理装置１と異なる装置であるものとして説明を行うが、記憶装置３は、情報処理装置１の一部からなるもの（例えば、情報処理装置１のメモリ）であってもよい。
【００１４】
記憶装置２は、例えば、オンラインシステム１０の起動時において記憶装置３に記憶されるロード対象データＤＴ１（以下、単に対象データＤＴ１またはデータ群ＤＴ１とも呼ぶ）が記憶されている。対象データＤＴ１は、列及び行からなるデータ構造のデータであり、例えば、ＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）ファイルの形式で記憶装置１に記憶されている。
【００１５】
情報処理装置１は、例えば、オンラインシステム１０を起動する時間になったことに応じて、記憶装置２に記憶された対象データＤＴ１を、記憶装置３に記憶する。
【００１６】
具体的に、情報処理装置１は、例えば、記憶装置２から対象データＤＴ１を行単位に取得する（図１の（１））。そして、情報処理装置１は、取得した行単位の対象データＤＴ１を記憶装置に記憶する（図１の（２））。以下、記憶装置３に記憶されたデータを記憶済データＤＴ２とも呼ぶ。
【００１７】
その後、情報処理装置１は、記憶装置３に記憶された記憶済データＤＴ２に基づいて、記憶済データＤＴ２に含まれる各データを高速に検索するためのインデックスを生成する（図１の（３））。具体的に、情報処理装置１は、記憶装置３に記憶された記憶済データＤＴ２のうち、インデックスの生成に用いられる列に対応するデータを取得し、取得したデータからインデックスの生成を行う。
【００１８】
ここで、例えば、オンラインシステム１０を含む業務システムが提供するサービスを利用する利用者数が増加した場合、記憶装置３に記憶する必要があるデータ量は増加する。そして、この場合、記憶装置３に対するデータの格納やインデックスの生成等に要する時間が長くなる。そのため、サービスを利用する利用者数等の状況の変化によって、オンラインシステム１０の起動がサービスの開始時間に間に合わない可能性が発生する。
【００１９】
そこで、本実施の形態における情報処理装置１は、対象データＤＴ１のインデックスの生成に用いられる列に対応するデータ（以下、生成元データとも呼ぶ）を優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データを順に取得し、取得したデータを記憶装置３に記憶する。そして、情報処理装置１は、生成元データが第２記憶部３に記憶されたことに応じて、記憶された生成元データからインデックスを生成する。
【００２０】
すなわち、情報処理装置１は、対象データＤＴ１に含まれるデータのうちのインデックスの生成に用いられる生成元データを、他のデータよりも優先して記憶装置３に記憶する。具体的に、情報処理装置１は、インデックスの生成に用いられる列に対応する生成元データを列単位に取得して記憶装置３に記憶する。そして、情報処理装置１は、あるインデックスの生成に用いられる生成元データの記憶装置３に対する記憶が完了した場合、対象データＤＴ１に含まれる全データの記憶の完了を待つことなく、生成元データの記憶が完了したインデックスの生成を開始する。
【００２１】
この点、対象データＤＴ１に含まれるデータの取得及び記憶が行単位で行われる場合、情報処理装置１は、対象データＤＴ１に含まれる全データの記憶が完了するまで、インデックスの生成に必要な生成元データの記憶を完了させることができない。そのため、情報処理装置１は、この場合、インデックスの生成を対象データＤＴ１に含まれる全データの記憶の完了に先行して行うことができない。したがって、情報処理装置１は、インデックスの生成に用いられる生成元データを列単位に取得して記憶装置３に記憶することで、インデックスの生成を対象データＤＴ１に含まれる全データの記憶の完了に先行して行うことが可能になる。
【００２２】
これにより、情報処理装置１は、対象データＤＴ１に含まれるデータの記憶及びインデックスの生成に要する時間を短縮することが可能になる。そのため、情報処理装置１は、オンラインシステム１０の起動時間に制約がある場合であっても、その制約が満たされる確率を高めることが可能になる。
【００２３】
［情報処理システムのハードウエア構成］
次に、オンラインシステム１０のハードウエア構成について説明する。図２は、情報処理装置１のハードウエア構成を示す図である。
【００２４】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２５】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、対象データＤＴ１に含まれる各データを記憶装置３に記憶する処理（以下、データロード処理とも呼ぶ）を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、データロード処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００２６】
ＣＰＵ１０１は、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してデータロード処理を行う。また、外部インターフェース１０３は、例えば、記憶装置２及び記憶装置３と通信を行う。
【００２７】
［オンラインシステムの機能］
次に、オンラインシステム１０の機能について説明する。図３は、情報処理装置１の機能ブロック図である。
【００２８】
情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、データ取得部１１１と、データ管理部１１２と、インデックス生成部１１３と、データアクセス部１１４として動作する。そして、情報格納領域１３０には、例えば、表定義情報１３１と、インデックス定義情報１３２とが記憶される。なお、データ取得部１１１、データ管理部１１２、インデックス生成部１１３及びデータアクセス部１１４は、それぞれ異なる物理マシンにおいて動作するものであってもよい。
【００２９】
データ取得部１１１は、対象データＤＴ１のインデックスＩＤＸ（以下、インデックス情報ＩＤＸとも呼ぶ）の生成に用いられる列に対応する生成元データを優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データを順に取得する。具体的に、データ取得部１１１は、インデックス情報ＩＤＸの生成に用いられる列を識別するインデックス定義情報１３２（以下、識別情報１３２とも呼ぶ）が記憶された情報格納領域１３０を参照し、インデックス情報ＩＤＸの生成に用いられる列の特定を行う。インデックス定義情報１３２の具体例については後述する。
【００３０】
データ管理部１１２は、データ取得部１１１が取得したデータのそれぞれを記憶装置３に記憶する。
【００３１】
インデックス生成部１１３は、生成元データが記憶装置３から取得されたことに応じて、取得された生成元データからインデックス情報ＩＤＸを生成する。その後、データ管理部１１２は、生成したインデックス情報ＩＤＸを記憶装置３に記憶する。なお、インデックス生成部１１３は、生成元データが記憶装置３に記憶されたことに応じて、記憶された生成元データからインデックス情報ＩＤＸを生成するものであってもよい。
【００３２】
データアクセス部１１４は、記憶装置３に記憶された対象データＤＴ１に含まれるデータに対するアクセス要求を受け付けた場合、アクセス要求があったデータに対してアクセスを行う。具体的に、データアクセス部１１４は、例えば、アクセス要求があったデータに対応するインデックス情報ＩＤＸが生成されている場合であって、そのインデックス情報ＩＤＸを利用する場合、インデックス生成部１１３が生成したインデックス情報ＩＤＸが記憶された情報格納領域１３０を参照し、アクセス要求があったデータの記憶位置を特定する。そして、データアクセス部１１４は、特定した記憶位置に対してアクセスを行う。なお、表定義情報１３１の説明については後述する。
【００３３】
［第１の実施の形態］
次に、第１の実施の形態の概略について説明する。図４及び図５は、第１の実施の形態におけるデータロード処理の概略を説明するフローチャート図である。また、図６及び図７は、第１の実施の形態におけるデータロード処理の概略を説明する図である。図６及び図７を参照しながら、図４及び図５のデータロード処理の詳細を説明する。
【００３４】
情報処理装置１は、図４に示すように、データロードタイミングになるまで待機する（Ｓ１のＮＯ）。データロードタイミングは、例えば、オンラインシステム１０を起動する時間として予め定められた時間であってよい。また、データロードタイミングは、例えば、事業者が操作端末（図示しない）を介してオンラインシステム１０を起動する旨の情報を入力したタイミングであってよい。
【００３５】
そして、データロードタイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、図６に示すように、記憶装置２に記憶された対象データＤＴ１に含まれるデータを各列に対応するデータ毎に取得する（Ｓ２）。具体的に、情報処理装置１は、対象データＤＴ１のインデックス情報ＩＤＸの生成に用いられる列に対応する生成元データを優先しながら、記憶装置２に記憶された対象データＤＴ１に含まれる各データの取得を行う。さらに、情報処理装置１は、図６に示すように、Ｓ２の処理で取得したデータを記憶装置３に記憶する（Ｓ３）。
【００３６】
その後、情報処理装置１は、対象データＤＴ１に含まれる全てのデータの取得を行ったか否かの判定を行う（Ｓ４）。その結果、全てのデータの取得を行っていないと判定した場合（Ｓ４のＮＯ）、情報処理装置１は、Ｓ２以降の処理を再度行う。一方、全てのデータの取得を行ったと判定した場合（Ｓ４のＹＥＳ）、情報処理装置１は、次のデータロードタイミングまで待機する（Ｓ１）。
【００３７】
一方、情報処理装置１は、図５に示すように、対象データＤＴ１に含まれるデータのうち、ある１つのインデックス情報ＩＤＸの生成に用いられる生成元データの取得が完了するまで待機する（Ｓ１１のＮＯ）。そして、生成元データの取得が完了した場合（Ｓ１１のＹＥＳ）、情報処理装置１は、図７に示すように、Ｓ１１の処理で取得した生成元データからインデックス情報ＩＤＸを生成する（Ｓ１２）。その後、情報処理装置１は、生成したインデックス情報ＩＤＸを記憶装置３に記憶する。
【００３８】
すなわち、情報処理装置１は、Ｓ１からＳ４の処理を行いながら、生成に用いられる生成元データの全ての取得が完了したために生成することが可能になったインデックス情報ＩＤＸの検知を行う。そして、情報処理装置１は、生成に用いられる生成元データの全ての取得が完了したインデックス情報ＩＤＸを検知した場合、対象データＤＴ１に含まれる全データの取得の完了を待つことなく、検知したインデックス情報ＩＤＸの生成を行う。その後、情報処理装置１は、図７に示すように、検知したインデックス情報ＩＤＸの生成に用いられる生成元データ以外のデータ（以下、他のデータとも呼ぶ）の取得及び記憶装置３への記憶を継続して行う（Ｓ２、Ｓ３）。
【００３９】
これにより、情報処理装置１は、対象データＤＴ１に含まれるデータの記憶及びインデックス情報ＩＤＸの生成に要する時間を短縮することが可能になる。そのため、情報処理装置１は、例えば、オンラインシステム１０の起動時間に制約がある場合であっても、その制約が満たされる確率を高めることが可能になる。
【００４０】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図８から図１２は、第１の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。また、図１３から図１８は、第１の実施の形態におけるデータロード処理の詳細を説明する図である。図１３から図１８を参照しながら、図８から図１２のデータロード処理の詳細を説明する。
【００４１】
情報処理装置のデータ取得部１１１は、図８に示すように、データロードタイミングになるまで待機する（Ｓ２１のＮＯ）。そして、データロードタイミングになった場合（Ｓ２１のＹＥＳ）、データ取得部１１１は、情報格納領域１３０に記憶された表定義情報１３１とインデックス定義情報１３２とを取得する（Ｓ２２）。表定義情報１３１は、対象データＤＴ１に含まれる各データが格納される表を定義する情報である。また、インデックス定義情報１３２は、表定義情報１３１に定義された表に格納された各データに対応するインデックス情報ＩＤＸを定義する情報である。以下、表定義情報１３１とインデックス定義情報１３２の具体例について説明を行う。
【００４２】
［表定義情報とインデックス定義情報の具体例］
図１３は、表定義情報１３１及びインデックス定義情報１３２の具体例を説明する図である。また、図１５は、インデックス定義情報１３２の具体例を説明する図である。具体的に、図１３（Ａ）は、表定義情報１３１の具体例を説明する図である。また、図１３（Ｂ）及び図１５は、インデックス定義情報１３２の具体例を説明する図である。
【００４３】
図１３（Ａ）に示す表定義情報１３１は、名称が社員表である表（以下、社員表とも呼ぶ）を定義する情報である。また、図１３（Ｂ）に示すインデックス定義情報１３２は、社員表に格納されたデータに対応するインデックス情報ＩＤＸを定義する情報である。
【００４４】
具体的に、図１３（Ａ）に示す表定義情報１３１は、社員表が列として「社員番号」、「氏名」、「年齢」、「部署コード」、「部署名」、「役職」及び「入社日」を含むことを定義している。なお、図１３に示す表定義情報１３１において、「社員番号」、「年齢」及び「部署コード」に対応する各データのデータ型が整数型であり、「氏名」、「部署名」及び「役職」に対応する各データのデータ型が文字列型であり、「入社日」に対応する各データのデータ型が日付型である。図１３（Ａ）に含まれる他の情報については説明を省略する。
【００４５】
そして、図１３（Ｂ）に示すインデックス定義情報１３２は、社員表に格納されたデータに対応するインデックス情報ＩＤＸが、社員表に格納されたデータのうちの「部署コード」及び「役職」に対応するデータから生成されることを示している。図１３（Ｂ）に含まれる他の情報については説明を省略する。
【００４６】
［対象データが格納された後の社員表の具体例］
次に、図１３（Ａ）において説明した表定義情報１３１に基づいて生成された社員表に、対象データＤＴ１に含まれる各データが格納された後の具体例について説明を行う。図１４は、対象データＤＴ１が格納された後の社員表の具体例を説明する図である。
【００４７】
図１４に示す社員表は、「社員番号」、「氏名」、「年齢」、「部署コード」、「部署名」、「役職」及び「入社日」に対応する列をそれぞれ有する。すなわち、図１４に示す社員表は、図１３（Ａ）で説明した表定義情報１３１において定義された列をそれぞれ含む。
【００４８】
具体的に、図１４に示す社員表において、「社員番号」が「１０２３」である情報には、「氏名」として「田中一郎」が設定され、「年齢」として「５５」が設定されている。また、図１４に示す社員表において、「社員番号」が「１０２３」である情報には、「部署コード」として「１０３」が設定され、「部署名」として「開発三部」が設定され、「役職」として「部長」が設定され、「入社日」として「１９８５／４／１」が設定されている。図１４に含まれる他の情報については省略する。
【００４９】
図８に戻り、データ取得部１１１は、Ｓ２２の処理で取得したインデックス定義情報１３２から、インデックス情報ＩＤＸの生成に用いられる列を特定する（Ｓ２３）。以下、Ｓ２３の処理の詳細について説明を行う。
【００５０】
［Ｓ２３の処理の詳細］
図９は、Ｓ２３の処理の詳細を説明する図である。データ取得部１１１は、図９に示すように、Ｓ２２の処理で取得したインデックス定義情報１３２に複数のインデックス情報ＩＤＸに関する情報が含まれているか否かを判定する（Ｓ４１）。
【００５１】
その結果、複数のインデックス情報ＩＤＸに関する情報が含まれている場合（Ｓ４１のＹＥＳ）、データ取得部１１１は、Ｓ２２の処理で取得したインデックス定義情報１３２から、Ｓ４１の処理で存在した複数のインデックス情報ＩＤＸ毎に、インデックス情報ＩＤＸの生成に用いられる列を特定する（Ｓ４２）。
【００５２】
そして、データ取得部１１１は、Ｓ４１の処理で情報が存在した複数のインデックス情報ＩＤＸに対し、各インデックス情報ＩＤＸの生成に用いられる列の数が少ない順に順位付けを行う（Ｓ４３）。
【００５３】
一方、Ｓ４１の処理において、複数のインデックス情報ＩＤＸに関する情報が含まれていない場合（Ｓ４１のＮＯ）、データ取得部１１１は、Ｓ２２の処理で取得したインデックス定義情報１３２から、インデックス情報ＩＤＸ（１つのインデックス情報ＩＤＸ）の生成に用いられる列を特定する（Ｓ４４）。
【００５４】
具体的に、図１３（Ｂ）で説明したインデックス定義情報１３２は、社員表に対応するインデックス情報ＩＤＸが、「部署コード」及び「役職」に対応して格納されたデータから生成されることを示している。そのため、データ取得部１１１は、Ｓ２２の処理において、図１３（Ｂ）で説明したインデックス定義情報１３２を取得した場合、インデックス情報ＩＤＸの生成に用いられるデータが格納された列である「部署コード」及び「役職」を特定する（Ｓ４１のＮＯ、Ｓ４４）。
【００５５】
これに対し、図１５に示すインデックス定義情報１３２は、社員表に対応するインデックス情報ＩＤＸとして２つのインデックス情報ＩＤＸを定義している。具体的に、図１５に示すインデックス定義情報１３２は、「部署コード」及び「役職」に対応して格納されたデータから生成されるインデックス情報ＩＤＸ（以下、インデックス情報ＩＤＸａとも呼ぶ）と、「社員番号」に対応して格納されたデータから生成されるインデックス情報ＩＤＸ（以下、インデックス情報ＩＤＸｂとも呼ぶ）とを定義している。
【００５６】
そのため、データ取得部１１１は、Ｓ２２の処理において、図１５に示すインデックス定義情報１３２を取得した場合、インデックス情報ＩＤＸａの生成に用いられるデータが格納された列である「部署コード」及び「役職」と、インデックス情報ＩＤＸｂの生成に用いられるデータが格納された列である「社員番号」とをそれぞれ特定する（Ｓ４１のＹＥＳ、Ｓ４２）。そして、データ取得部１１１は、生成に用いられるデータが格納された列の数が「１」であるインデックス情報ＩＤＸｂの優先順位が、生成に用いられるデータが格納された列の数が「２」であるインデックス情報ＩＤＸａの優先順位よりも高くなるように、各インデックス情報ＩＤＸの優先順位の決定を行う（Ｓ４３）。
【００５７】
図８に戻り、データ取得部１１１は、Ｓ２３の処理で特定した列に対応する生成元データを優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データを順に取得する（Ｓ２４）。具体的に、データ取得部１１１は、Ｓ２４の処理において、記憶装置２に記憶された対象データＤＴ１に含まれるデータのうちの１つを取得する。以下、Ｓ２４の処理の詳細について説明を行う。
【００５８】
［Ｓ２４の処理の詳細］
図１０は、Ｓ２４の処理の詳細を説明する図である。データ取得部１１１は、図１０に示すように、対象データＤＴ１に含まれるデータのうち、生成元データの全ての取得が完了しているか否かを判定する（Ｓ５１）。
【００５９】
その結果、生成元データの全ての取得が完了していないと判定した場合（Ｓ５１のＮＯ）、データ取得部１１１は、優先順位が高いインデックス情報ＩＤＸに対応する生成元データを優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データから、Ｓ４２またはＳ４４の処理で特定した列に対応する生成元データを順に取得する（Ｓ５２）。
【００６０】
すなわち、データ取得部１１１は、記憶装置２に記憶された対象データＤＴ１に含まれる各データのうち、インデックス情報ＩＤＸの生成に用いられる生成元データの取得を優先的に行う。そして、データ取得部１１１は、インデックス定義情報１３２において複数のインデックス情報ＩＤＸが定義されている場合、インデックス情報ＩＤＸの生成に用いられる生成元データの取得を、優先順位の高いインデックス情報ＩＤＸに対応する生成元データから順に行う。
【００６１】
これにより、情報処理装置１のインデックス生成部１１３は、後述するように、インデックス情報ＩＤＸの生成を開始する時間をより早めることが可能になる。そのため、情報処理装置１は、記憶装置３に対する対象データＤＴ１の記憶及びインデックス情報ＩＤＸの生成をより早く行うことが可能になる。
【００６２】
一方、Ｓ５１の処理において、生成元データの全ての取得が完了していると判定した場合（Ｓ５１のＹＥＳ）、データ取得部１１１は、記憶装置２に記憶された対象データＤＴ１に含まれる各データから、生成元データ以外のデータを順に取得する（Ｓ５３）。具体的に、データ取得部１１１は、Ｓ２２の処理で取得した表定義情報１３１を参照して、表定義情報１３１において定義された列のうち、インデックス情報ＩＤＸの生成に用いられない列を特定し、特定した列に対応するデータの取得を順に行う。
【００６３】
図８に戻り、データ管理部１１２は、Ｓ２４の処理で取得したデータを記憶装置３に記憶する（Ｓ２５）。その後、対象データＤＴ１に含まれる全てのデータの取得が完了していない場合（Ｓ２６のＮＯ）、データ取得部１１１は、Ｓ２４以降の処理を再度行う。一方、対象データＤＴ１に含まれる全てのデータの取得が完了した場合（Ｓ２６のＹＥＳ）、データ取得部１１１は、次のデータロードタイミングまで待機する（Ｓ２１）。以下、Ｓ２４及びＳ２５の処理の具体例について説明を行う。
【００６４】
［Ｓ２４及びＳ２５の処理の具体例］
図１６から図１８は、Ｓ２４及びＳ２５の処理の具体例を説明する図である。図１６は、図１３（Ｂ）で説明したインデックス定義情報１３２を取得した場合のＳ２４及びＳ２５の処理の具体例を説明する図である。また、図１７及び図１８は、図１５で説明したインデックス定義情報１３２を取得した場合のＳ２４及びＳ２５の処理の具体例を説明する図である。
【００６５】
具体的に、Ｓ２２の処理において、図１３（Ｂ）で説明したインデックス定義情報１３２を取得した場合、データ取得部１１１は、対象データＤＴ１に含まれるデータのうち、「部署コード」及び「役職」に対応するデータを取得する（Ｓ２４）。そして、データ管理部１１２は、図１６に示すように、「部署コード」及び「役職」に対応するデータの格納を行う（Ｓ２５）。その後、データ管理部１１２は、図１４に示すように、「部署コード」及び「役職」に対応するデータ以外のデータの格納を行う（Ｓ２４、Ｓ２５）。
【００６６】
また、Ｓ２２の処理において、図１５に示すインデックス定義情報１３２を取得した場合、データ取得部１１１は、対象データＤＴ１に含まれるデータのうち、優先順位の高いインデックス情報ＩＤＸｂの生成に用いられる列である「社員番号」に含まれるデータを取得する（Ｓ２４）。そして、データ管理部１１２は、図１７に示すように、「社員番号」に対応するデータの格納を行う（Ｓ２５）。続いて、データ取得部１１１は、優先順位の低いインデックス情報ＩＤＸａの生成に用いられる列である「部署コード」及び「役職」に含まれるデータを取得する（Ｓ２４）。そして、データ管理部１１２は、図１８に示すように、「部署コード」及び「役職」に対応するデータの格納を行う（Ｓ２５）。その後、データ管理部１１２は、図１４に示すように、「社員番号」、「部署コード」及び「役職」に対応するデータ以外のデータの格納を行う（Ｓ２４、Ｓ２５）。
【００６７】
図１１に戻り、インデックス生成部１１３は、生成に用いられる生成元データの全ての取得が完了したインデックス情報ＩＤＸの存在を検知するまで待機する（Ｓ６１のＮＯ）。そして、生成に用いられる生成元データの全ての取得が完了したインデックス情報ＩＤＸの存在を検知した場合（Ｓ６１のＹＥＳ）、インデックス生成部１１３は、Ｓ２５の処理で記憶装置２に記憶された生成元データ（Ｓ２４の処理で取得した生成元データ）からインデックス情報ＩＤＸを生成する（Ｓ６２）。その後、データ管理部１１２は、Ｓ６２の処理で生成したインデックス情報ＩＤＸを、情報格納領域１３０に記憶する（Ｓ６３）。
【００６８】
具体的に、図１３（Ｂ）に示すインデックス定義情報１３２が取得された場合、インデックス生成部１１３は、図１６で説明したように、「部署コード」及び「役職」に対応するデータの取得が完了したことに応じて、「部署コード」及び「役職」に対応するインデックス情報ＩＤＸの生成を開始する。
【００６９】
また、図１５に示すインデックス定義情報１３２が取得された場合、インデックス生成部１１３は、図１７で説明したように、「社員番号」に対応するデータの取得が完了したことに応じて、「社員番号」に対応するインデックス情報ＩＤＸ（インデックス情報ＩＤＸｂ）の生成を開始する。その後、インデックス生成部１１３は、図１８で説明したように、「部署コード」及び「役職」に対応するデータの取得が完了したことに応じて、「部署コード」及び「役職」に対応するインデックス情報ＩＤＸ（インデックス情報ＩＤＸａ）の生成を開始する。
【００７０】
これにより、インデックス生成部１１３は、対象データＤＴ１に含まれる全データの取得の完了を待つことなく、インデックス情報ＩＤＸの生成を先行して開始することが可能になる。そのため、情報処理装置１は、対象データＤＴ１に含まれる各データの記憶及びインデックス情報ＩＤＸの生成に要する時間を短縮することが可能になる。
【００７１】
［データアクセス処理］
次に、記憶装置３に記憶された対象データＤＴ１（記憶済データＤＴ２）に対するアクセス要求があった場合の処理（以下、データアクセス処理とも呼ぶ）について説明を行う。図１２は、データアクセス処理を説明するフローチャート図である。
【００７２】
データアクセス部１１４は、図１２に示すように、記憶済データＤＴ２に含まれるデータに対するアクセス要求（データに対する読み出し要求や書き込み要求等）を受け付けるまで待機する（Ｓ７１のＮＯ）。具体的に、データアクセス部１１４は、例えば、利用者が操作端末（図示しない）を介して行ったアクセス要求を受け付けるまで待機する。
【００７３】
そして、記憶済データＤＴ２に含まれるデータに対するアクセス要求を受け付けた場合（Ｓ７１のＹＥＳ）、データアクセス部１１４は、例えば、情報格納領域１３０を参照し、Ｓ７１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸが生成されており、かつ、そのインデックス情報ＩＤＸを利用するか否かを判定する（Ｓ７２）。
【００７４】
その結果、Ｓ７１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸが生成されており、かつ、そのインデックス情報ＩＤＸを利用すると判定した場合（Ｓ７２のＹＥＳ）、データアクセス部１１４は、情報格納領域１３０に記憶されたインデックス情報ＩＤＸを参照し、Ｓ７１の処理で受け付けたアクセス要求に対応するデータの記憶位置を特定する。そして、データアクセス部１１４は、Ｓ７２の処理で特定した記憶位置に対してアクセスを行う（Ｓ７３）。その後、データアクセス部１１４は、必要に応じて、アクセス結果の出力等を行う。
【００７５】
一方、Ｓ７１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸが生成されていない、または、そのインデックス情報ＩＤＸを利用しないと判定した場合（Ｓ７２のＮＯ）、データアクセス部１１４は、インデックス情報ＩＤＸを参照することなく、Ｓ７１の処理で受け付けたアクセス要求に対応するデータに対してアクセスを行う（Ｓ７４）。その後、データアクセス部１１４は、必要に応じて、アクセス結果の出力等を行う。
【００７６】
このように、本実施の形態における情報処理装置１は、対象データＤＴ１のインデックス情報ＩＤＸの生成に用いられる列に対応する生成元データを優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データを順に取得し、取得したデータを記憶装置３に記憶する。そして、情報処理装置１は、生成元データが記憶装置３に記憶されたことに応じて、記憶された生成元データからインデックス情報ＩＤＸを生成する。
【００７７】
これにより、情報処理装置１は、対象データＤＴ１に含まれるデータの記憶及びインデックス情報ＩＤＸの生成に要する時間を短縮することが可能になる。そのため、情報処理装置１は、例えば、オンラインシステム１０の起動時間に制約がある場合であっても、オンラインシステム１０の起動時間が制約を満たす確率を高めることが可能になる。
【００７８】
［第２の実施の形態］
次に、第２の実施の形態におけるデータロード処理について説明を行う。第２の実施の形態では、第１の実施の形態と異なり、記憶装置２に記憶された対象データＤＴ１を複数の記憶装置３に記憶する。
【００７９】
［第２の実施の形態におけるオンラインシステムの構成］
初めに、第２の実施の形態におけるオンラインシステム１０の構成について説明を行う。図１９は、第２の実施の形態におけるオンラインシステム１０の構成を示す図である。図１９に示すオンラインシステム１０は、例えば、情報処理装置１ａ（以下、第１情報処理装置１ａとも呼ぶ）と、情報処理装置１ｂ（以下、第２情報処理装置１ｂとも呼ぶ）と、記憶装置２と、記憶装置３ａと、記憶装置３ｂとを有する。
【００８０】
第１情報処理装置１ａ及び第２情報処理装置１ｂは、それぞれ同じ内容のデータを保持している。そして、第１情報処理装置１ａ及び第２情報処理装置１ｂは、クラスタシステムを構成する。そのため、情報処理装置１ａは、切り替えを行うことによって情報処理装置１ｂが行っていた処理を継続して行うことが可能である。また、情報処理装置１ｂは、切り替えを行うことによって情報処理装置１ａが行っていた処理を継続して行うことが可能である。
【００８１】
なお、以下、オンラインシステム１０が第１情報処理装置１ａ及び第２情報処理装置１ｂからなるクラスタシステムを含む場合について説明を行うが、オンラインシステム１０は、３台以上の情報処理装置からなるクラスタシステムを含むものであってもよい。
【００８２】
記憶装置３ａ及び記憶装置３ｂは、記憶装置２に記憶された対象データＤＴ１に含まれる各データをそれぞれ記憶する。以下、記憶装置３ａに記憶されたデータを記憶済データＤＴ２ａとも呼び、記憶装置３ｂに記憶されたデータを記憶済データＤＴ２ｂとも呼ぶ。そして、記憶装置３ａ及び記憶装置３ｂには、第１インデックス情報ＩＤＸ１及び第２インデックス情報ＩＤＸ２がそれぞれ記憶される。第１インデックス情報ＩＤＸ１及び第２インデックス情報ＩＤＸ２については後述する。
【００８３】
また、第１情報処理装置１ａは、例えば、オンラインシステム１０を起動する時間になったことに応じて、記憶装置２に記憶された対象データＤＴ１を記憶装置３ａに記憶する。さらに、第２情報処理装置１ｂは、例えば、オンラインシステム１０を起動する時間になったことに応じて、記憶装置２に記憶された対象データＤＴ１を記憶装置３ｂに記憶する。すなわち、第１情報処理装置１ａ及び第２情報処理装置１ｂは、第１の実施の形態における情報処理装置１にそれぞれ対応する。
【００８４】
［第２の実施の形態におけるオンラインシステムの機能］
次に、第２の実施の形態におけるオンラインシステム１０の機能について説明する。図２０は、第２の実施の形態における第１情報処理装置１ａの機能ブロック図である。また、図２１は、第２の実施の形態における第２情報処理装置１ｂの機能ブロック図である。以下、第１情報処理装置１ａ及び第２情報処理装置１ｂのＣＰＵを、それぞれＣＰＵ１０１ａ及びＣＰＵ１０１ｂと呼ぶ。また、第１情報処理装置１ａ及び第２情報処理装置１ｂの情報格納領域（図示しない）に記憶されたプログラム（データロード処理を行うためのプログラム）を、それぞれプログラム１１０ａ及びプログラム１１０ｂと呼ぶ。なお、第１情報処理装置１ａ及び第２情報処理装置１ｂのハードウエア構成は、図２で説明した情報処理装置１のハードウエア構成とそれぞれ同じであるため説明を省略する。
【００８５】
第１情報処理装置１ａのＣＰＵ１０１ａは、図２０に示すように、プログラム１１０ａと協働することにより、例えば、第１データ取得部１１１ａと、第１データ管理部１１２ａと、第１インデックス生成部１１３ａと、第１データアクセス部１１４ａとして動作する。また、ＣＰＵ１０１ａは、図２０に示すように、プログラム１１０ａと協働することにより、例えば、第１インデックス送信部１１５ａと、第１インデックス受信部１１６ａとして動作する。
【００８６】
そして、情報格納領域１３０ａには、第１の実施の形態と同様に、例えば、表定義情報１３１と、インデックス定義情報１３２とが記憶される。
【００８７】
一方、第２情報処理装置１ｂのＣＰＵ１０１ｂは、図２１に示すように、プログラム１１０ｂと協働することにより、例えば、第２データ取得部１１１ｂと、第２データ管理部１１２ｂと、第２インデックス生成部１１３ｂと、第２データアクセス部１１４ｂとして動作する。また、ＣＰＵ１０１ｂは、図２１に示すように、プログラム１１０ｂと協働することにより、例えば、第２インデックス送信部１１５ｂと、第２インデックス受信部１１６ｂとして動作する。
【００８８】
そして、情報格納領域１３０ｂには、情報格納領域１３０ａと同様に、例えば、表定義情報１３１と、インデックス定義情報１３２とがそれぞれ記憶される。
【００８９】
なお、第１データ取得部１１１ａ及び第２データ取得部１１１ｂは、第１の実施の形態におけるデータ取得部１１１と同じ機能である。また、第１データ管理部１１２ａ及び第２データ管理部１１２ｂは、第１の実施の形態におけるデータ管理部１１２と同じ機能である。また、第１インデックス生成部１１３ａ及び第２インデックス生成部１１３ｂは、第１の実施の形態におけるインデックス生成部１１３と同じ機能である。さらに、第１データアクセス部１１４ａ及び第２データアクセス部１１４ｂは、第１の実施の形態におけるデータアクセス部１１４と同じ機能である。そのため、以下、第２データ取得部１１１ｂ、第２データ管理部１１２ｂ、第２インデックス生成部１１３ｂ及び第２データアクセス部１１４ｂについては説明を省略する。
【００９０】
［第２の実施の形態の詳細］
次に、第２の実施の形態の詳細について説明する。図２２から図２６は、第２の実施の形態におけるデータロード処理の詳細を説明するフローチャート図である。
【００９１】
第１情報処理装置１ａの第１データ取得部１１１ａは、図２２に示すように、データロードタイミングになるまで待機する（Ｓ１０１のＮＯ）。そして、データロードタイミングになった場合（Ｓ１０１のＹＥＳ）、第１データ取得部１１１ａは、情報格納領域１３０ａに記憶された表定義情報１３１とインデックス定義情報１３２とを取得する（Ｓ１０２）。
【００９２】
その後、第１データ取得部１１１ａは、Ｓ１０２の処理で取得したインデックス定義情報１３２から、インデックス情報ＩＤＸの生成に用いられる列を特定する（Ｓ１０３）。以下、Ｓ１０３の処理の詳細について説明を行う。
【００９３】
［Ｓ１０３の処理の詳細］
図２３は、Ｓ１０３の処理の詳細を説明する図である。第１データ取得部１１１ａは、図２３に示すように、Ｓ１０２の処理で取得したインデックス定義情報１３２に複数のインデックス情報ＩＤＸに関する情報が含まれているか否かを判定する（Ｓ１２１）。
【００９４】
その結果、複数のインデックス情報ＩＤＸに関する情報が含まれている場合（Ｓ１２１のＹＥＳ）、第１データ取得部１１１ａは、Ｓ１０２の処理で取得したインデックス定義情報１３２から、Ｓ１２１の処理で存在した複数のインデックス情報ＩＤＸ毎に、インデックス情報ＩＤＸの生成に用いられる列を特定する（Ｓ１２２）。
【００９５】
そして、第１データ取得部１１１ａは、第１の実施の形態と異なり、Ｓ１２１の処理で情報が存在した複数のインデックス情報ＩＤＸのそれぞれを、第１情報処理装置１ａ（第１インデックス生成部１１３ａ）と第２情報処理装置１ｂ（第２インデックス生成部１１３ｂ）とのどちらが生成するのかを決定する（Ｓ１２３）。
【００９６】
すなわち、第２の実施の形態における第１インデックス生成部１１３ａ及び第２インデックス生成部１１３ｂは、Ｓ１２１の処理で存在した複数のインデックス情報ＩＤＸを分担して生成する。これにより、第１インデックス生成部１１３ａ及び第２インデックス生成部１１３ｂは、Ｓ１２１の処理で存在した複数のインデックス情報ＩＤＸの生成に要する時間をより短縮することが可能になる。
【００９７】
具体的に、第１データ取得部１１１ａは、例えば、Ｓ１２１の処理で存在した複数のインデックス情報ＩＤＸのそれぞれの生成に用いられる列の数を特定し、特定した列の数が少ないインデックスの順位が高くなるように複数のインデックス情報ＩＤＸのそれぞれに対して順位付けを行う。そして、第１データ取得部１１１ａは、例えば、順位が奇数であるインデックス情報ＩＤＸを、第１インデックス生成部１１３ａが生成する第１インデックス情報ＩＤＸ１として特定し、順位が偶数であるインデックス情報ＩＤＸを、第２インデックス生成部１１３ｂが生成する第２インデックス情報ＩＤＸ２として特定するものであってよい。また、第１データ取得部１１１ａは、例えば、順位が偶数であるインデックス情報ＩＤＸを、第１インデックス生成部１１３ａが生成する第１インデックス情報ＩＤＸ１として特定し、順位が奇数であるインデックス情報ＩＤＸを、第２インデックス生成部１１３ｂが生成する第２インデックス情報ＩＤＸ２として特定するものであってよい。
【００９８】
なお、オンラインシステム１０に含まれるクラスタシステムがＮ台（Ｎは３以上の整数）の情報処理装置から構成されている場合、第１データ取得部１１１ａは、例えば、各インデックス情報ＩＤＸのうち、順位をＮで除算した場合の余りが同じになるインデックス情報ＩＤＸを、情報処理装置１ａ（第１インデックス生成部１１３ａ）が生成するインデックス情報ＩＤＸとして特定するものであってよい。具体的に、第１データ取得部１１１ａは、例えば、オンラインシステム１０に含まれるクラスタシステムが３台の情報処理装置から構成されている場合、順位を３で除算した際の余りが０になるインデックス情報ＩＤＸと、順位を３で除算した際の余りが１になるインデックス情報ＩＤＸと、順位を３で除算した際の余りが２になるインデックス情報ＩＤＸとを、３台の情報処理装置がそれぞれ生成するインデックス情報ＩＤＸとして特定するものであってよい。
【００９９】
その後、第１データ取得部１１１ａは、Ｓ１２１の処理で情報が存在した複数のインデックス情報ＩＤＸのうち、Ｓ１２３の処理で決定した第１インデックス情報ＩＤＸ１に含まれるインデックス情報ＩＤＸに対し、各インデックス情報ＩＤＸの生成に用いられる列の数が少ない順に順位付けを行う（Ｓ１２４）。具体的に、第１データ取得部１１１ａは、Ｓ１２３の処理において複数のインデックス情報ＩＤＸのそれぞれに対して決定した順位をそのまま用いるものであってもよい。
【０１００】
一方、Ｓ１２１の処理において、複数のインデックス情報ＩＤＸに関する情報が含まれていない場合（Ｓ１２１のＮＯ）、第１データ取得部１１１ａは、Ｓ１０２の処理で取得したインデックス定義情報１３２から、Ｓ１２１の処理で情報が存在したインデックス情報ＩＤＸ（１つのインデックス情報ＩＤＸ）の生成に用いられる列を特定する（Ｓ１２５）。その後、第１データ取得部１１１ａは、例えば、Ｓ１２１の処理で情報が存在したインデックス情報ＩＤＸを、第１情報処理装置１ａ（第１インデックス生成部１１３ａ）と第２情報処理装置１ｂ（第２インデックス生成部１１３ｂ）とのどちらが生成するかを決定する（Ｓ１２６）。
【０１０１】
図２２に戻り、第１データ取得部１１１ａは、Ｓ１０３の処理で特定した列に対応する生成元データを優先して、記憶装置２に記憶された対象データＤＴ１に含まれる各データを順に取得する（Ｓ１０４）。以下、Ｓ１０４の処理の詳細について説明を行う。
【０１０２】
［Ｓ１０４の処理の詳細］
図２４は、Ｓ１０４の処理の詳細を説明する図である。第１データ取得部１１１ａは、図２４に示すように、対象データＤＴ１に含まれるデータのうち、Ｓ１２３またはＳ１２６の処理で第１インデックス生成部１１３ａが生成することを決定したインデックス情報ＩＤＸに対応する生成元データの全ての取得が完了しているか否かを判定する（Ｓ１３１）。
【０１０３】
その結果、生成元データの全ての取得が完了していないと判定した場合（Ｓ１３１のＮＯ）、第１データ取得部１１１ａは、記憶装置２に記憶された対象データＤＴ１に含まれる各データから、Ｓ１２２またはＳ１２５の処理で特定した列に対応する生成元データを順に取得する。具体的に、第１データ取得部１１１ａは、優先順位が高いインデックス情報ＩＤＸに対応する生成元データを優先して、Ｓ１２２またはＳ１２５の処理で特定した列に対応する生成元データを順に取得する（Ｓ１３２）。
【０１０４】
すなわち、第１データ取得部１１１ａは、記憶装置２に記憶された対象データＤＴ１に含まれる各データのうち、第１インデックス情報ＩＤＸ１に含まれるインデックス情報の生成に用いられる生成元データの取得を優先的に行う。また、第１データ取得部１１１ａは、第１インデックス情報ＩＤＸ１に複数のインデックス情報が含まれている場合、第１インデックス情報ＩＤＸ１の生成に用いられる生成元データの取得を、優先順位の高いインデックス情報に対応する生成元データから順に行う。
【０１０５】
一方、Ｓ１３１の処理において、生成元データの全ての取得が完了していると判定した場合（Ｓ１３１のＹＥＳ）、第１データ取得部１１１ａは、記憶装置２に記憶された対象データＤＴ１に含まれる各データから、生成元データ以外のデータを順に取得する（Ｓ１３３）。
【０１０６】
図２２に戻り、第１情報処理装置１ａの第１データ管理部１１２ａは、Ｓ１０４の処理で取得したデータを記憶装置３ａに記憶する（Ｓ１０５）。その後、対象データＤＴ１に含まれる全てのデータの取得が完了していない場合（Ｓ１０６のＮＯ）、第１データ取得部１１１ａは、Ｓ１０４以降の処理を再度行う。一方、対象データＤＴ１に含まれる全てのデータの取得が完了した場合（Ｓ１０６のＹＥＳ）、第１データ取得部１１１ａは、次のデータロードタイミングまで待機する（Ｓ１０１）。
【０１０７】
また、第１インデックス生成部１１３ａは、図２５に示すように、生成に用いられる生成元データの全ての取得が完了したインデックス情報ＩＤＸの存在を検知するまで待機する（Ｓ１４１のＮＯ）。そして、生成に用いられる生成元データの全ての取得が完了したインデックス情報ＩＤＸの存在を検知した場合（Ｓ１４１のＹＥＳ）、第１インデックス生成部１１３ａは、存在を検知したインデックス情報ＩＤＸが第１インデックス情報ＩＤＸ１であるか否かを判定する（Ｓ１４２）。
【０１０８】
その結果、存在を検知したインデックス情報ＩＤＸが第１インデックス情報ＩＤＸ１である場合（Ｓ１４２のＹＥＳ）、第１インデックス生成部１１３ａは、Ｓ１０５の処理で記憶装置３ａに記憶された生成元データ（Ｓ１０４の処理で取得された生成元データ）から第１インデックス情報ＩＤＸ１を生成する（Ｓ１４３）。そして、第１データ管理部１１２ａは、Ｓ１４３の処理で生成した第１インデックス情報ＩＤＸ１を、情報格納領域１３０ａに記憶する（Ｓ１４４）。
【０１０９】
さらに、第１情報処理装置１ａの第１インデックス送信部１１５ａは、Ｓ１４３の処理で生成した第１インデックス情報ＩＤＸ１を第２情報処理装置１ｂに送信する（Ｓ１４５）。
【０１１０】
これにより、第２情報処理装置１ｂの第２データアクセス部１１４ｂは、記憶済データＤＴ２ｂにアクセスする際に、第２情報処理装置１ｂの第２インデックス生成部１１３ｂが生成した第２インデックス情報ＩＤＸ２のみでなく、第１インデックス生成部１１３ａが生成した第１インデックス情報ＩＤＸ１についても参照することが可能になる。
【０１１１】
その後、第１情報処理装置１ａの第１インデックス受信部１１６ａは、第２情報処理装置１ｂが送信した第２インデックス情報ＩＤＸ２を受信するまで待機する（Ｓ１４６のＮＯ）。そして、第２インデックス情報ＩＤＸ２を受信した場合（Ｓ１４６のＹＥＳ）、第１データ管理部１１２ａは、Ｓ１４６の処理で受信した第２インデックス情報ＩＤＸ２を情報格納領域１３０ａに記憶する（Ｓ１４７）。
【０１１２】
これにより、第１情報処理装置１ａの第１データアクセス部１１４ａは、記憶済データＤＴ２ａにアクセスする際に、第１インデックス生成部１１３ａが生成した第１インデックス情報ＩＤＸ１のみでなく、第２情報処理装置１ｂの第２インデックス生成部１１３ｂが生成した第２インデックス情報ＩＤＸ２についても参照することが可能になる。
【０１１３】
そのため、第１情報処理装置１ａ及び第２情報処理装置１ｂは、異常の発生等に伴って他方の情報処理装置にアクセスができなくなった場合であっても、第１インデックス情報ＩＤＸ１及び第２インデックス情報ＩＤＸ２の参照を引き続き行うことが可能になる。
【０１１４】
なお、第１インデックス受信部１１６ａは、自発的に第２情報処理装置１ｂにアクセスし、第２インデックス情報ＩＤＸ２を取得するものであってもよい。
【０１１５】
一方、Ｓ１４２の処理において、Ｓ１４１の処理で存在を検知したインデックス情報ＩＤＸが第１インデックス情報ＩＤＸ１でない場合（Ｓ１４２のＮＯ）、第１インデックス生成部１１３ａは、Ｓ１４１の処理を再度行う。
【０１１６】
［データアクセス処理］
次に、第２の実施の形態におけるデータアクセス処理について説明を行う。図２６は、第２の実施の形態におけるデータアクセス処理を説明するフローチャート図である。
【０１１７】
第１情報処理装置１ａの第１データアクセス部１１４ａは、図２６に示すように、記憶済データＤＴ２ａに含まれるデータに対するアクセス要求（データに対する読み出し要求や書き込み要求等）を受け付けるまで待機する（Ｓ１５１のＮＯ）。具体的に、第１データアクセス部１１４ａは、例えば、利用者が操作端末（図示しない）を介して行ったアクセス要求を受け付けるまで待機する。
【０１１８】
そして、記憶済データＤＴ２ａに含まれるデータに対するアクセス要求を受け付けた場合（Ｓ１５１のＹＥＳ）、第１データアクセス部１１４ａは、例えば、情報格納領域１３０ａを参照し、Ｓ１５１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸ（第１インデックス情報ＩＤＸ１または第２インデックス情報ＩＤＸ２）が生成されているか否かを判定する（Ｓ１５２）。
【０１１９】
その結果、Ｓ１５１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸが生成されており、かつ、そのインデックス情報ＩＤＸを利用すると判定した場合（Ｓ１５２のＹＥＳ）、第１データアクセス部１１４ａは、情報格納領域１３０ａに記憶された第１インデックス情報ＩＤＸ１及び第２インデックス情報ＩＤＸ２を参照し、Ｓ１５１の処理で受け付けたアクセス要求に対応するデータの記憶位置を特定する。そして、第１データアクセス部１１４ａは、Ｓ１５２の処理で特定した記憶位置に対してアクセスを行う（Ｓ１５３）。その後、第１データアクセス部１１４ａは、必要に応じて、アクセス結果の出力等を行う。
【０１２０】
一方、Ｓ１５１の処理で受け付けたアクセス要求に対応するデータのインデックス情報ＩＤＸが生成されていない、または、そのインデックス情報ＩＤＸを利用しないと判定した場合（Ｓ１５２のＮＯ）、第１データアクセス部１１４ａは、インデックス情報ＩＤＸを参照することなく、Ｓ１５１の処理で受け付けたアクセス要求に対応するデータに対してアクセスを行う（Ｓ１５４）。その後、第１データアクセス部１１４ａは、必要に応じて、アクセス結果の出力等を行う。
【０１２１】
すなわち、第１データアクセス部１１４ａは、記憶装置３ａに記憶された記憶済データＤＴ２ａに含まれるデータに対するアクセスを行う際に、第１インデックス生成部１１３ａが生成した第１インデックス情報ＩＤＸ１のみでなく、第２情報処理装置１ｂから受信した第２インデックス情報ＩＤＸ２についても参照してデータアクセスを行う。
【０１２２】
これにより、第１データアクセス部１１４ａは、第１インデックス生成部１１３ａがインデックス情報ＩＤＸの一部（第１インデックス情報ＩＤＸ１）のみの生成を行う場合であっても、インデックス情報ＩＤＸの全てを参照してデータアクセスを行うことが可能になる。
【０１２３】
［オンラインシステムの構成の具体例］
次に、オンラインシステム１０の構成の具体例について説明を行う。図２７及び図２８は、第１の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。また、図２９及び図３０は、第２の実施の形態におけるオンラインシステム１０の構成の具体例について説明する図である。なお、図２７から図３０においては、情報格納領域１３０ａ及び情報格納領域１３０ｂの表記を省略する。
【０１２４】
第１の実施の形態におけるデータ取得部１１１は、図２７に示すように、ロードコマンドの機能からなるものであってよい。ロードコマンドは、この場合、例えば、記憶装置３に対する対象データＤＴ１の記憶を開始する旨の入力を事業者等から受け付けたことに応じて、記憶装置２に記憶された対象データＤＴ１を取得し、取得した対象データＤＴ１をＤＢＭＳ等に送信する。また、第１の実施の形態におけるデータ管理部１１２、インデックス生成部１１３及びデータアクセス部１１４は、図２７に示すように、ＤＢＭＳ等の機能からなるものであってよい。ＤＢＭＳ等は、この場合、例えば、ロードコマンドから対象データＤＴ１を受信したことに応じて、受信した対象データＤＴ１を記憶装置３に記憶する。
【０１２５】
なお、図２７に示す例では、ロードコマンド及びＤＢＭＳ等が同一の物理マシン（情報処理装置）において動作している。これに対し、ロードコマンド及びＤＢＭＳ等は、それぞれ異なる物理マシンにおいて動作するものであってもよい。この場合、ロードコマンドは、例えば、ＤＢＭＳ等にアクセスする際に、インデックス定義情報１３２の取得を行うものであってよい。また、ロードコマンドは、例えば、インデックス定義情報１３２の指定を事業者等から受け付け、受け付けた情報に基づいてインデックス定義情報１３２の取得を行うものであってよい。
【０１２６】
また、第１の実施の形態におけるデータ取得部１１１は、図２８に示すように、ＤＢＭＳの機能及びＫＶＳまたはＩＭＤＢ（以下、ＫＶＳ等とも呼ぶ）の機能からなるものであってよい。ＤＢＭＳは、この場合、例えば、ＫＶＳ等からのデータの取得要求を受け付けたことに応じて、記憶装置２に記憶された対象データＤＴ１を取得し、取得した対象データＤＴ１をＫＶＳ等に送信する。また、第１の実施の形態におけるデータ管理部１１２、インデックス生成部１１３及びデータアクセス部１１４は、図２８に示すように、ＫＶＳ等の機能からなるものであってよい。ＫＶＳ等は、この場合、例えば、ＤＢＭＳから対象データＤＴ１を受信したことに応じて、受信した対象データＤＴ１を記憶装置３に記憶する。
【０１２７】
なお、図２８に示す例では、ＤＢＭＳ及びＫＶＳ等が同一の物理マシン（情報処理装置）において動作している。これに対し、ＤＢＭＳ及びＫＶＳ等は、それぞれ異なる物理マシンにおいて動作するものであってもよい。そして、ＫＶＳ等は、この場合、例えば、ＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）によってインデックス定義情報１３２の取得を行うものであってよい。また、ＫＶＳ等は、この場合、例えば、インデックス定義情報１３２の指定を事業者等から受け付け、受け付けた情報に基づいてインデックス定義情報１３２の取得を行うものであってもよい。
【０１２８】
また、第２の実施の形態における第１データ取得部１１１ａは、図２９に示すように、ロードコマンドの機能からなるものであってよい。また、第２の実施の形態における第１データ管理部１１２ａ、第１インデックス生成部１１３ａ及び第１データアクセス部１１４ａは、図２９に示すように、ＤＢＭＳ等の機能からなるものであってよい。同様に、第２の実施の形態における第２データ取得部１１１ｂは、図２９に示すように、ロードコマンドの機能からなるものであってよい。また、第２の実施の形態における第２データ管理部１１２ｂ、第２インデックス生成部１１３ｂ及び第２データアクセス部１１４ｂは、図２９に示すように、ＤＢＭＳ等の機能からなるものであってよい。
【０１２９】
さらに、第２の実施の形態における第１データ取得部１１１ａは、図３０に示すように、ＤＢＭＳの機能及びＫＶＳ等の機能からなるものであってよい。また、第２の実施の形態における第１データ管理部１１２ａ、第１インデックス生成部１１３ａ及び第１データアクセス部１１４ａは、図３０に示すように、ＫＶＳ等の機能からなるものであってよい。同様に、第２の実施の形態における第２データ取得部１１１ｂは、図３０に示すように、ＤＢＭＳの機能及びＫＶＳ等の機能からなるものであってよい。また、第２の実施の形態における第２データ管理部１１２ｂ、第２インデックス生成部１１３ｂ及び第２データアクセス部１１４ｂは、図３０に示すように、ＫＶＳ等の機能からなるものであってよい。
【０１３０】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１３１】
（付記１）
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置において、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得するデータ取得部と、
取得した前記データを前記第２記憶部に記憶するデータ管理部と、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成するインデックス生成部と、を有する、
ことを特徴とする情報処理装置。
【０１３２】
（付記２）
付記１において、
前記データ取得部は、前記生成元データを優先して、前記データ群に含まれるデータの取得を行う、
ことを特徴とする情報処理装置。
【０１３３】
（付記３）
付記１において、
前記データ取得部は、
前記インデックスの生成に用いられる列を識別する識別情報が記憶された記憶部を参照して、前記インデックスの生成に用いられる列を特定し、
特定した前記列に対応するデータを前記生成元データとして、前記第１記憶部に記憶された前記データ群に含まれるデータの取得を行う、
ことを特徴とする情報処理装置。
【０１３４】
（付記４）
付記２において、
前記データ取得部は、
前記第１記憶部に記憶された前記データ群に、第１インデックスの生成に用いられる列に対応する第１生成元データと、前記第１インデックスと異なる第２インデックスの生成に用いられる列に対応する第２生成元データとが含まれている場合、前記第１インデックス及び前記第２インデックスのうち、各インデックスの生成に用いられる列の数が少ない方のインデックスを特定し、
前記第１インデックスを特定した場合、前記第１生成元データを前記第２生成元データよりも優先して取得し、前記第２インデックスを特定した場合、前記第２生成元データを前記第１生成元データよりも優先して取得し、
前記インデックス生成部は、
前記第１生成元データが取得されたことに応じて、取得された前記第１生成元データから前記第１インデックスを生成し、
前記第２生成元データが取得されたことに応じて、取得された前記第２生成元データから前記第２インデックスを生成する、
ことを特徴とする情報処理装置。
【０１３５】
（付記５）
付記２において、
前記データ取得部は、
前記第１記憶部に記憶された前記データ群に、複数のインデックスの生成に用いられる列に対応する前記生成元データが含まれている場合、前記複数のインデックスのうち、前記インデックス生成部が生成する特定のインデックスを特定し、
特定した前記特定のインデックスに対応する前記生成元データを優先して、前記第１記憶部に記憶された前記データ群に含まれるデータの取得を行い、
前記インデックス生成部は、
前記特定のインデックスに対応する前記生成元データが取得されたことに応じて、取得された前記生成元データから前記特定のインデックスを生成し、さらに、
前記第１記憶部に記憶されたデータ群を第３記憶部に記憶する他の情報処理装置に対し、前記特定のインデックスを送信するインデックス送信部と、
前記他の情報処理装置が送信した前記他のインデックスを受信するインデックス受信部と、を有する、
ことに特徴とする情報処理装置。
【０１３６】
（付記６）
付記５において、
前記他の情報処理装置は、
前記第１記憶部に記憶された前記データ群に、前記複数のインデックスの生成に用いられる列に対応する前記生成元データが含まれている場合、前記複数のインデックスのうち、前記特定のインデックス以外の他のインデックスを特定し、
前記他のインデックスに対応する前記生成元データを優先して、前記第１記憶部に記憶された前記データ群に含まれるデータを取得し、
取得した前記データを前記第３記憶部に記憶し、
前記他のインデックスに対応する前記生成元データが取得されたことに応じて、取得された前記生成元データから前記他のインデックスを生成し、
生成した前記他のインデックスを前記情報処理装置に送信し、
前記情報処理装置が送信した前記特定のインデックスを受信する、
ことに特徴とする情報処理装置。
【０１３７】
（付記７）
付記５において、
特定のインデックスを特定する処理では、
前記複数のインデックスそれぞれの生成に用いられる列の数を特定し、
特定した前記列の数が少ないインデックスの順位が高くなるように前記複数のインデックスそれぞれに対して順位付けを行い、
前記複数のインデックスのうち、順位を前記情報処理装置及び前記他の情報処理装置の台数で除算した余りが同じであるインデックスを、前記特定のインデックスとして特定する、
ことに特徴とする情報処理装置。
【０１３８】
（付記８）
付記５において、さらに、
前記第２記憶部に記憶された前記データ群に含まれるデータに対するアクセス要求を受け付けた場合、前記インデックス生成部が生成した前記特定のインデックスが記憶された記憶部と、前記インデックス受信部が受信した前記他のインデックスが記憶された記憶部とを参照して、前記アクセス要求に対応するデータの記憶位置を特定し、特定した前記記憶位置にアクセスを行うデータアクセス部を有する、
ことを特徴とする情報処理装置。
【０１３９】
（付記９）
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶する情報処理装置に実行させるデータロードプログラムにおいて、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得し、
取得した前記データを前記第２記憶部に記憶し、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成する、
処理を前記情報処理装置に実行させることを特徴とするデータロードプログラム。
【０１４０】
（付記１０）
付記９において、
前記データ群に含まれるデータを取得する処理では、前記生成元データを優先して、前記データ群に含まれるデータの取得を行う、
ことを特徴とするデータロードプログラム。
【０１４１】
（付記１１）
第１記憶部に記憶された列及び行からなるデータ構造のデータ群を第２記憶部に記憶するデータロード方法において、
前記第１記憶部に記憶された前記データ群に含まれるデータを各列に対応するデータ毎に取得し、
取得した前記データを前記第２記憶部に記憶し、
前記データ群のインデックスの生成に用いられる列に対応する生成元データが前記第１記憶部から取得されたことに応じて、取得された前記生成元データから前記インデックスを生成する、
ことを特徴とするデータロード方法。
【０１４２】
（付記１２）
付記１１において、
前記データ群に含まれるデータを取得する処理では、前記生成元データを優先して、前記データ群に含まれるデータの取得を行う、
ことを特徴とするデータロード方法。
【符号の説明】
【０１４３】
１：情報処理装置            ２：記憶装置
３：記憶装置                ＤＴ１：対象データ
ＤＴ２：記憶済データ
【図１】
2018106518.tif 000003
【図２】
2018106518.tif 000004
【図３】
2018106518.tif 000005
【図４】
2018106518.tif 000006
【図５】
2018106518.tif 000007
【図６】
2018106518.tif 000008
【図７】
2018106518.tif 000009
【図８】
2018106518.tif 000010
【図９】
2018106518.tif 000011
【図１０】
2018106518.tif 000012
【図１１】
2018106518.tif 000013
【図１２】
2018106518.tif 000014
【図１３】
2018106518.tif 000015
【図１４】
2018106518.tif 000016
【図１５】
2018106518.tif 000017
【図１６】
2018106518.tif 000018
【図１７】
2018106518.tif 000019
【図１８】
2018106518.tif 000020
【図１９】
2018106518.tif 000021
【図２０】
2018106518.tif 000022
【図２１】
2018106518.tif 000023
【図２２】
2018106518.tif 000024
【図２３】
2018106518.tif 000025
【図２４】
2018106518.tif 000026
【図２５】
2018106518.tif 000027
【図２６】
2018106518.tif 000028
【図２７】
2018106518.tif 000029
【図２８】
2018106518.tif 000030
【図２９】
2018106518.tif 000031
【図３０】
2018106518.tif 000032