(57)【要約】【課題】列指向データベースに対するデータの更新に要する時間を短縮することを可能とする差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法を提供する。【解決手段】列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、集約ログを列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、複数の項目単位更新命令を列形式データベースに適用する、処理をコンピュータに実行させる。【選択図】図４
2018128881.tif 000002
【特許請求の範囲】
【請求項１】
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
処理をコンピュータに実行させる差分ログ適用プログラム。
【請求項２】
請求項１に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
差分ログ適用プログラム。
【請求項３】
請求項２に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記差分ログのそれぞれに、各差分ログの生成順を示す順序情報を付加し、
付加された前記順序情報を参照して前記集約ログの生成を行う、
差分ログ適用プログラム。
【請求項４】
請求項２に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記主キー毎の前記差分ログのそれぞれにおいて、生成順が最も後である差分ログを前記集約ログとして抽出する、
差分ログ適用プログラム。
【請求項５】
請求項１に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在するか否かに基づき、前記複数の項目単位更新命令の生成を行う、
差分ログ適用プログラム。
【請求項６】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【請求項７】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記行データを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
【請求項８】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【請求項９】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
【請求項１０】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、前記複数の項目単位更新命令の生成を行わない、
差分ログ適用プログラム。
【請求項１１】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【請求項１２】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【請求項１３】
請求項５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対するレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【請求項１４】
請求項１に記載の差分ログ適用プログラムであって、
前記列形式データベースは、前記項目ごとに、各項目に対応するデータを互いに対応付けて格納する、
差分ログ適用プログラム。
【請求項１５】
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成する集約ログ生成部と、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成する更新命令生成部と、
前記複数の項目単位更新命令を前記列形式データベースに適用する更新命令適用部と、を有する、
差分ログ適用装置。
【請求項１６】
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
差分ログ適用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法に関する。
【背景技術】
【０００２】
例えば、利用者にサービスを提供する事業者（以下、単に事業者とも呼ぶ）は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システム（以下、情報処理システムとも呼ぶ）を構築して稼働させる。具体的に、事業者は、例えば、サービスの提供に用いられるデータを格納するデータベースを構成として含む業務システムの構築を行う。
【０００３】
上記のようなデータベースには、一般的に、行指向データベース（以下、行形式データベースとも呼ぶ）と、列指向データベース（以下、列形式データベースとも呼ぶ）とが含まれる。行指向データベースは、データベースに含まれるレコード毎に管理を行うデータベースであって、レコード毎のデータの更新（例えば、データベースに対する新たなレコードの追加や格納済のレコードの削除等）を列指向データベースよりも高速に行うことが可能なデータベースである。一方、列指向データベースは、データベースに含まれる各項目に対応するデータ毎に管理を行うデータベースであって、データベースに含まれる項目毎のデータの参照を行指向データベースよりも高速に行うことが可能なデータベースである。
【０００４】
そのため、事業者は、例えば、サービスの提供に伴ってレコード毎のデータの更新が頻繁に行われることが予測される場合、行指向データベースを構成として含む業務システムの構築を行う。また、事業者は、例えば、サービスの提供に伴ってデータベースに含まれる項目毎のデータの参照が頻繁に行われることが予測される場合、列指向データベースを構成として含む業務システムの構築を行う（例えば、特許文献１乃至３参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−０６４８５０号公報
【特許文献２】国際公開第２０１３／１４１３０８号
【特許文献３】特開２０１０−１６５００４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、近年、業務システムがサービスの提供に伴って取り扱う必要のあるデータ量は増加傾向にある。そのため、業務システムでは、取り扱う必要があるデータ量によって、各処理の実行時間を制約時間内に抑えることができない場合が発生し得る。したがって、近年では、例えば、列指向データベースを用いた業務システムを稼働させる場合であっても、列指向データベースに対するデータの更新に要する時間を短縮する必要性が高まっている。
【０００７】
そこで、一つの側面では、本発明は、列指向データベースに対するデータの更新に要する時間を短縮することを可能とする差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一態様では、列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、前記複数の項目単位更新命令を前記列形式データベースに適用する、処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一つの側面によれば、列指向データベースに対するデータの更新に要する時間を短縮することを可能とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理システム１０の構成を示す図である。
【図２】図２は、情報処理装置１のハードウエア構成を示す図である。
【図３】図３は、情報処理装置１の機能ブロック図である。
【図４】図４は、第１の実施の形態における差分ログ適用処理の概略を説明するフローチャート図である。
【図５】図５は、第１の実施の形態における差分ログ適用処理の概略を説明する図である。
【図６】図６は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図７】図７は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図８】図８は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図９】図９は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図１０】図１０は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図１１】図１１は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図１２】図１２は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。
【図１３】図１３は、差分ログ１３１の具体例を説明する図である。
【図１４】図１４は、順序情報が付加された差分ログ１３１の具体例を説明する図である。
【図１５】図１５は、主キー毎にソートした差分ログ１３１の具体例を説明する図である。
【図１６】図１６は、集約ログ１３２の具体例を説明する図である。
【図１７】図１７は、複写先データベース３ａに格納済のレコードの具体例を説明する図である。
【図１８】図１８は、複写先データベース３ａに格納済のレコードの具体例を説明する図である。
【図１９】図１９は、複写先データベース３ａに格納済のレコードの具体例を説明する図である。
【図２０】図２０は、更新命令の決定条件について説明する図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
初めに、情報処理システム１０の構成について説明を行う。図１は、情報処理システム１０の構成を示す図である。図１に示す情報処理システム１０は、例えば、情報処理装置１（以下、差分ログ適用装置１とも呼ぶ）と、複写元処理装置２と、複写元記憶装置２ａ（以下、複写元データベース２ａとも呼ぶ）と、複写先処理装置３と、複写先記憶装置３ａ（以下、複写先データベース３ａ）とを有する。
【００１２】
複写元処理装置２は、例えば、事業者が利用者に対してサービスを提供するための処理を行う。そして、複写元処理装置２は、例えば、利用者に対するサービスの提供に用いられるデータ（レコード）を必要に応じて複写元データベース２ａに格納する。また、複写元処理装置２は、例えば、複写元データベース２ａに格納されたデータを必要に応じて参照する。
【００１３】
複写先処理装置３は、例えば、複写先データベース３ａに格納されたデータを参照し、複写先データベース３ａに格納されたデータの解析を行う。以下、複写先データベース３ａが列指向データベースであるものとして説明を行う。
【００１４】
情報処理装置１は、例えば、複写先データベース３ａに格納されたデータの解析が行われる前に、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期を行う。具体的に、情報処理装置１は、複写元データベース２ａを参照し、前回同期が行われてから現在までの間に複写元データベース２ａに対して行われたデータの更新の内容を示すログ（以下、差分ログとも呼ぶ）を取得する（図１の（１））。そして、情報処理装置１は、取得した差分ログの内容から、複写先データベース３ａに格納されたデータの更新を行うための更新命令を生成する（図１の（２））。その後、情報処理装置１は、生成した更新命令を複写先データベース３ａに格納されたデータに適用する（図１の（３））。
【００１５】
ここで、情報処理装置１は、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期を、予め定められた時間内に行う必要がある場合がある。そのため、情報処理装置１は、例えば、複写先データベース３ａが列指向データベースである場合であっても、複写先データベース３ａに対する差分ログの内容の適用を短時間で行う必要がある場合がある。
【００１６】
そこで、本実施の形態における情報処理装置１は、列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、生成した集約ログを列指向データベースの項目毎に集約した項目毎の更新命令（以下、項目単位更新命令とも呼ぶ）を生成する。そして、情報処理装置１は、生成した項目毎の更新命令を列指向データベースに適用する。
【００１７】
すなわち、複写元データベース２ａから取得された差分ログは、複写先データベース３ａに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置１は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
【００１８】
そのため、情報処理装置１は、差分ログに基づいて更新が行われるレコードが複写先データベース３ａに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置１は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置１は、生成した更新命令のそれぞれを複写先データベース３ａに適用する。
【００１９】
これにより、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
【００２０】
また、情報処理装置１は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。そして、情報処理装置１は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。
【００２１】
これにより、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
【００２２】
［情報処理システムのハードウエア構成］
次に、情報処理システム１０のハードウエア構成について説明する。図２は、情報処理装置１のハードウエア構成を示す図である。
【００２３】
情報処理装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２４】
記憶媒体１０４は、例えば、記憶媒体１０４内のプログラム格納領域（図示しない）に、差分ログを複写先データベース３ａに適用する処理（以下、差分ログ適用処理とも呼ぶ）を行うためのプログラム１１０を記憶する。また、記憶媒体１０４は、例えば、差分ログ適用処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０とも呼ぶ）を有する。
【００２５】
ＣＰＵ１０１は、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働して差分ログ適用処理を行う。また、外部インターフェース１０３は、例えば、複写元データベース２ａ及び複写先データベース３ａと通信を行う。
【００２６】
［情報処理システムの機能］
次に、情報処理システム１０の機能について説明する。図３は、情報処理装置１の機能ブロック図である。
【００２７】
情報処理装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、例えば、差分ログ取得部１１１と、ログ管理部１１２と、集約ログ生成部１１３と、更新命令生成部１１４と、更新命令適用部１１５として動作する。また、情報格納領域１３０には、例えば、差分ログ１３１と、集約ログ１３２とが記憶される。なお、情報格納領域１３０は、データベースからなるものであってもよい。
【００２８】
差分ログ取得部１１１は、例えば、定期的なタイミングで複写元データベース２ａから差分ログ１３１を取得する。具体的に、複写先データベース３ａに格納されたデータの解析が１日１回行われる場合、差分ログ取得部１１１は、複写元データベース２ａからの差分ログ１３１の取得を１日１回行うものであってよい。そして、ログ管理部１１２は、差分ログ取得部１１１が取得した差分ログ１３１を情報格納領域１３０に記憶する。
【００２９】
集約ログ生成部１１３は、情報格納領域１３０に記憶された差分ログ１３１を主キー毎に集約することにより集約ログ１３２を生成する。そして、ログ管理部１１２は、例えば、集約ログ生成部１１３が生成した集約ログ１３２を情報格納領域１３０に記憶する。
【００３０】
更新命令生成部１１４は、集約ログ生成部１１３が生成した集約ログ１３２を複写先データベース３ａの項目毎に集約することにより項目毎の更新命令を生成する。更新命令生成部１１４は、例えば、ＳＱＬ文によって更新命令の生成を行う。そして、更新命令適用部１１５は、更新命令生成部１１４が生成した項目毎の更新命令を複写先データベース３ａに適用する。
【００３１】
［第１の実施の形態の概略］
次に、第１の実施の形態の概略について説明を行う。図４は、第１の実施の形態における差分ログ適用処理の概略を説明するフローチャート図である。図５は、第１の実施の形態における差分ログ適用処理の概略を説明する図である。
【００３２】
情報処理装置１は、図４に示すように、差分適用タイミングまで待機する（Ｓ１のＮＯ）。差分適用タイミングは、例えば、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期を行うタイミングである。そして、差分適用タイミングになった場合（Ｓ１のＹＥＳ）、情報処理装置１は、図５に示すように、差分ログ１３１を主キー毎に集約した集約ログ１３２を生成する（Ｓ２）。
【００３３】
さらに、情報処理装置１は、図５に示すように、Ｓ２の処理で生成された集約ログ１３２を複写先データベース３ａ（列指向データベース）の項目毎に集約した項目毎の更新命令を生成する（Ｓ３）。その後、情報処理装置１は、図５に示すように、Ｓ３の処理で生成した集約ログ１３２を複写先データベース３ａに適用する（Ｓ４）。
【００３４】
すなわち、複写元データベース２ａから取得された差分ログ１３１は、複写先データベース３ａに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置１は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
【００３５】
そのため、情報処理装置１は、差分ログに基づいて更新が行われるレコードが複写先データベース３ａに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置１は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置１は、生成した更新命令のそれぞれを複写先データベース３ａに適用する。
【００３６】
これにより、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
【００３７】
また、情報処理装置１は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。そして、情報処理装置１は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。
【００３８】
これにより、情報処理装置１は、更新命令によって削除する必要があるレコードが複数存在する場合であっても、レコードを削除する更新命令の適用回数を１回に抑えることが可能になる。また、情報処理装置１は、更新命令によって追加する必要があるレコードが複数存在する場合であっても、レコードを追加する更新命令の適用回数を１回に抑えることが可能になる。そのため、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
【００３９】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図６から図１２は、第１の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。また、図１３から図２０は、第１の実施の形態における差分ログ適用処理の詳細を説明する図である。図１３から図２０を参照しながら、図６から図１２の差分ログ適用処理の詳細を説明する。
【００４０】
初めに、差分ログ抽出処理のうち、複写元データベース２ａから差分ログ１３１を抽出する処理について説明を行う。
【００４１】
情報処理装置１の差分ログ取得部１１１は、差分ログ取得タイミングになるまで待機する（Ｓ１１のＮＯ）。差分ログ取得タイミングは、例えば、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期が行われるタイミングよりも前のタイミングである。具体的に、差分ログ取得タイミングは、例えば、事業者が予め定めたタイミングであってよい。
【００４２】
そして、差分ログ取得タイミングになった場合（Ｓ１１のＹＥＳ）、差分ログ取得部１１１は、複写元データベース２ａから差分ログ１３１を取得する（Ｓ１２）。そして、情報処理装置１のログ管理部１１２は、Ｓ１２の処理で取得した差分ログ１３１を情報格納領域１３０に記憶する（Ｓ１３）。以下、差分ログ１３１の具体例について説明を行う。
【００４３】
［差分ログの具体例］
図１３は、差分ログ１３１の具体例を説明する図である。図１３に示す差分ログ１３１は、複写先データベース３ａに含まれるレコードのうち、更新を行うデータが含まれるレコードを特定するための主キーとなる項目を示す「項目Ｐ」と、データの更新の内容を示す「更新内容」とを項目として有する。「更新内容」には、新たなレコードの追加を示す「ＩＮＳＥＲＴ」、格納済のレコードの内容の変更を示す「ＵＰＤＡＴＥ」、または、格納済のレコードの削除を示す「ＤＥＬＥＴＥ」が設定される。
【００４４】
また、図１３に示す差分ログ１３１は、各レコードに含まれるデータに対応する項目を示す「項目Ｘ」及び「項目Ｙ」を項目として有する。「項目Ｘ」及び「項目Ｙ」には、「更新内容」に「ＤＥＬＥＴＥ」が設定されている場合、削除が行われるレコードの内容が設定され、「更新内容」に「ＩＮＳＥＲＴ」が設定されている場合、追加が行われるレコードの内容が設定される。また、「項目Ｘ」及び「項目Ｙ」には、「更新内容」に「ＵＰＤＡＴＥ」が設定されている場合、内容の変更が行われるレコードの内容が設定される。
【００４５】
具体的に、図１３に示す差分ログ１３１には、例えば、「項目Ｐ」が「Ａ１」であり、「更新内容」が「ＩＮＳＥＲＴ」であり、「項目Ｘ」が「１００」であり、「項目Ｙ」が「１０」であるレコードについてのログが含まれている。また、図１３に示す差分ログ１３１には、例えば、「項目Ｐ」が「Ａ１」であり、「更新内容」が「ＵＰＤＡＴＥ」であり、「項目Ｘ」が「１０」であり、「項目Ｙ」が「１０」であるレコードについてのログが含まれている。図１３に含まれる他のログについては説明を省略する。
【００４６】
なお、複写先データベース３ａに格納されるレコードの主キーが複数存在する場合、図１３に示す差分ログ１３１には、存在する主キーの組合せに対応する数の「項目Ｐ」が含まれるものであってよい。
【００４７】
次に、差分ログ抽出処理のうち、差分ログ１３１に対応する更新命令を複写先データベース３ａに適用する処理について説明を行う。
【００４８】
情報処理装置１の集約ログ生成部１１３は、図７に示すように、差分適用タイミングまで待機する（Ｓ２１のＮＯ）。そして、差分適用タイミングになった場合（Ｓ２１のＹＥＳ）、集約ログ生成部１１３は、情報格納領域１３０に記憶された差分ログ１３１を取得する（Ｓ２２）。
【００４９】
さらに、集約ログ生成部１１３は、Ｓ２２の処理で取得した差分ログ１３１のそれぞれに、各差分ログ１３１の生成順を示す順序情報を付加する（Ｓ２３）。具体的に、集約ログ生成部１１３は、例えば、差分ログ１３１に含まれる各ログの生成時刻を複写元データベース２ａから取得し、取得した生成時刻に基づいて、各ログに対して順序情報の付加を行うものであってよい。また、集約ログ生成部１１３は、例えば、各ログの生成時刻が差分ログ１３１に含まれている場合、差分ログ１３１に含まれている生成時刻に基づいて、各ログに対する付加情報の付加を行うものであってよい。以下、順序情報が付加された差分ログ１３１の具体例について説明を行う。
【００５０】
［順序情報が付加された差分ログの具体例］
図１４は、順序情報が付加された差分ログ１３１の具体例を説明する図である。図１４に示す差分ログ１３１は、図１３で説明した各項目に加え、差分ログ１３１に含まれる各ログの生成順を示す「行番号」を項目として有する。
【００５１】
具体的に、図１４に示す差分ログ１３１において、例えば、「項目Ｐ」が「Ａ１」であって「更新内容」が「ＩＮＳＥＲＴ」であるレコードについてのログには、「行番号」として「１」が付加されている。また、図１４に示す差分ログ１３１において、例えば、「項目Ｐ」が「Ａ１」であって「更新内容」が「ＵＰＤＡＴＥ」であるレコードについてのログには、「行番号」として「２」が付加されている。図１４に含まれる他のログについては説明を省略する。
【００５２】
図７に戻り、集約ログ生成部１１３は、Ｓ２３の処理で順序情報を付加した差分ログ１３１を主キー毎にソートする（Ｓ２４）。以下、主キー毎にソートした後の差分ログ１３１について説明を行う。
【００５３】
［主キー毎にソートした差分ログの具体例］
図１５は、主キー毎にソートした差分ログ１３１の具体例を説明する図である。図１４で説明した差分ログ１３１における「項目Ｐ」には、「Ａ１」、「Ａ２」、「Ｂ１」及び「Ｂ２」が設定されている。そのため、集約ログ生成部１１３は、図１４で説明した差分ログ１３１を「項目Ｐ」に「Ａ１」、「Ａ２」、「Ｂ１」及び「Ｂ２」が設定されたログ毎に分類し、「行番号」に設定された番号が昇順になるようにソートを行う。
【００５４】
具体的に、集約ログ生成部１１３は、例えば、図１４で説明した差分ログ１３１から、「項目Ｐ」に「Ａ１」が設定されたログである「項番」に「１」、「２」及び「７」が設定されたログを特定する。そして、集約ログ生成部１１３は、図１５に示すように、特定したログのそれぞれを、「行番号」が「１」のログ、「行番号」が「２」のログ、「行番号」が「７」のログの順になるようにソートを行う。また、集約ログ生成部１１３は、例えば、図１４で説明した差分ログ１３１から、「項目Ｐ」に「Ａ２」が設定されたログである「項番」に「３」及び「８」が設定されたログを特定する。そして、集約ログ生成部１１３は、図１５に示すように、特定したログのそれぞれを、「行番号」が「３」のログ、「行番号」が「８」のログの順になるようにソートを行う。図１５に含まれる他のログについては説明を省略する。
【００５５】
図７に戻り、集約ログ生成部１１３は、Ｓ２４の処理でソートした主キー毎の差分ログ１３１において、生成順が最も後であるログを集約ログ１３２として抽出（生成）する（Ｓ２４）。以下、集約ログ１３２の具体例について説明を行う。
【００５６】
［集約ログの具体例］
図１６は、集約ログ１３２の具体例を説明する図である。図１６に示す集約ログ１３２は、図１３で説明した差分ログ１３１と同じ項目を有している。
【００５７】
集約ログ生成部１１３は、Ｓ２４の処理において、図１５で説明した差分ログ１３１のうちの「項目Ｐ」に同じ情報が設定されたログ毎に、「行番号」に設定された番号が最も大きいログの抽出を行う。具体的に、集約ログ生成部１１３は、図１６に示すように、例えば、図１５で説明した差分ログ１３１のうちの「項目Ｐ」に「Ａ１」が設定されたログから、「行番号」が「７」であるログを集約ログ１３２として抽出する。また、集約ログ生成部１１３は、図１６に示すように、例えば、図１５で説明した差分ログ１３１のうちの「項目Ｐ」に「Ａ２」が設定されたログから、「行番号」が「８」であるログを集約ログ１３２として抽出する。図１６に含まれる他のログについては説明を省略する。
【００５８】
すなわち、集約ログ生成部１１３は、複写元データベース２ａから取得した差分ログ１３１のうち、複写先データベース３ａに最低限反映させる必要があるログである集約ログ１３２を生成する。そして、情報処理装置１の更新命令生成部１１４は、後述するように、集約ログ１３２に基づいて更新命令を生成する。
【００５９】
これにより、情報処理装置１の更新命令適用部１１５は、後述するように、複写先データベース３ａに適用する必要がある更新命令の数を抑制することが可能になる。そのため、更新命令適用部１１５は、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期に要する時間を短縮することが可能になる。
【００６０】
図８に戻り、更新命令生成部１１４は、Ｓ２５の処理で生成した集約ログ１３２を１つ取得する（Ｓ３１）。具体的に、更新命令生成部１１４は、例えば、図１６で説明した集約ログ１３２から、「項目Ｐ」に「Ａ１」が設定されたログを取得する。
【００６１】
そして、更新命令生成部１１４は、Ｓ３１の処理で取得した集約ログ１３２の主キーを含むレコードが複写先データベース３ａに存在するかいないか否かを判定する（Ｓ３２）。以下、複写先データベース３ａに格納済のレコードの具体例について説明を行う。
【００６２】
［複写先データベースに格納済のレコードの具体例（１）］
図１７から図１９は、複写先データベース３ａに格納済のレコードの具体例を説明する図である。図１７等に示すレコードは、「項目Ｐ」、「項目Ｘ」及び「項目Ｙ」を項目として有する。
【００６３】
具体的に、図１７に示すレコードには、例えば、「項目Ｐ」に「Ａ１」が設定され、「項目Ｘ」に「２００」が設定され、「項目Ｙ」に「１００」が設定されたレコードが含まれている。また、図１７に示すレコードには、例えば、「項目Ｐ」に「Ａ２」が設定され、「項目Ｘ」に「２００」が設定され、「項目Ｙ」に「１５０」が設定されたレコードが含まれている。図１７に含まれる他のレコードについては説明を省略する。
【００６４】
そのため、例えば、Ｓ３２の処理において、Ｓ３１の処理で取得されたログが「項目Ｐ」に「Ａ１」が設定されたログである場合、更新命令生成部１１４は、Ｓ３１の処理で取得した集約ログ１３２の主キーを含むレコードが複写先データベース３ａに存在すると判定する。
【００６５】
図８に戻り、Ｓ３２の処理においてレコードが存在すると判定した場合（Ｓ３３のＹＥＳ）、更新命令生成部１１４は、Ｓ３２の処理で存在すると判定したレコードを複写先データベース３ａから削除するための更新命令を生成する（Ｓ３４）。具体的に、更新命令生成部１１４は、例えば、Ｓ３１の処理において取得されたログが「項目Ｐ」に「Ａ１」が設定されたログである場合、図１７に示すレコードから「項目Ｐ」に「Ａ１」が設定されたレコードを削除する更新命令を生成する。
【００６６】
一方、Ｓ３２の処理においてレコードが存在しないと判定した場合（Ｓ３３のＮＯ）、更新命令生成部１１４は、Ｓ３４の処理を行わない。すなわち、更新命令生成部１１４は、この場合、複写先データベース３ａに削除する必要があるレコードが存在しないと判定する。
【００６７】
続いて、更新命令生成部１１４は、図９に示すように、Ｓ３１の処理で取得した集約ログ１３２が複写先データベース３ａに対してレコードを追加することを示す集約ログ１３２であるか否かを判定する（Ｓ４１）。
【００６８】
その結果、レコードを追加することを示す集約ログ１３２であると判定した場合（Ｓ４２のＹＥＳ）、更新命令生成部１１４は、Ｓ４１の処理で存在すると判定した集約ログ１３２に対応するレコードを複写先データベース３ａに追加する更新命令を生成する（Ｓ４３）。そして、Ｓ２５の処理で生成した集約ログ１３２の全ての取得が完了していない場合（Ｓ４４のＮＯ）、更新命令生成部１１４は、Ｓ３１以降の処理を再度行う。
【００６９】
一方、Ｓ４２の処理において、レコードを追加することを示す集約ログ１３２でないと判定した場合（Ｓ４２のＮＯ）、更新命令生成部１１４は、図１０に示すように、Ｓ３１の処理で取得した集約ログ１３２が複写先データベース３ａに格納されたレコードの内容を変更することを示す集約ログ１３２であるか否かを判定する（Ｓ５１）。
【００７０】
その結果、レコードの内容を変更することを示す集約ログ１３２であると判定した場合（Ｓ５２のＹＥＳ）、更新命令生成部１１４は、Ｓ５１の処理で存在すると判定した集約ログ１３２に対応するレコードを複写先データベース３ａに追加する更新命令を生成する（Ｓ５３）。具体的に、更新命令生成部１１４は、Ｓ３１の処理で取得した集約ログ１３２が示す変更が適用された後の状態のレコードを複写先データベース３ａに追加する更新命令を生成する。そして、Ｓ２５の処理で生成した集約ログ１３２の全ての取得が完了していない場合（Ｓ５４のＮＯ）、更新命令生成部１１４は、Ｓ３１以降の処理を再度行う。
【００７１】
一方、Ｓ５２の処理において、レコードの内容を変更することを示す集約ログ１３２でないと判定した場合（Ｓ５２のＮＯ）、更新命令生成部１１４は、図１１に示すように、Ｓ３１の処理で取得した集約ログ１３２が複写先データベース３ａからのレコードの削除を示す集約ログ１３２であると判定する（Ｓ６１）。そして、Ｓ６２の処理で生成した集約ログ１３２の全ての取得が完了していない場合（Ｓ６２のＮＯ）、更新命令生成部１１４は、Ｓ３１以降の処理を再度行う。
【００７２】
すなわち、更新命令生成部１１４は、Ｓ３１の処理で取得した集約ログ１３２が、レコードを追加することを示す集約ログ１３２及びレコードの内容を変更することを示す集約ログ１３２のいずれでもない場合、Ｓ３１の処理で取得した集約ログ１３２がレコードの削除を示す集約ログ１３２であると判定する。そして、更新命令生成部１１４は、この場合、レコードを追加する更新命令を生成する必要がないと判定する。
【００７３】
さらに、更新命令生成部１１４は、Ｓ２５の処理で生成した集約ログ１３２の全ての取得が完了した場合（Ｓ４４のＹＥＳ、Ｓ５４のＹＥＳ、Ｓ６２のＹＥＳ）、図１２に示すように、Ｓ３４の処理においてレコードを削除する更新命令が複数生成されたか否かを判定する（Ｓ７１）。
【００７４】
そして、レコードを削除する更新命令が複数生成されたと判定した場合（Ｓ７１のＹＥＳ）、更新命令生成部１１４は、レコードを削除する複数の更新命令を集約し、複写先データベース３ａからのレコードの削除を一括で行う更新命令を生成する（Ｓ７２）。一方、Ｓ３４の処理においてレコードを削除する更新命令が１つのみ生成された場合、または、Ｓ３４の処理においてレコードを削除する更新命令が生成されていない場合（Ｓ７１のＮＯ）、更新命令生成部１１４は、Ｓ７２の処理を行わない。
【００７５】
すなわち、更新命令生成部１１４は、複写先データベース３ａから削除する必要があるレコードが複数存在する場合、これらのレコードを一括で削除するための更新命令の生成を行う。これにより、更新命令生成部１１４は、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期をより短時間で行うことが可能になる。
【００７６】
また、更新命令生成部１１４は、Ｓ４３及びＳ５３の処理においてレコードを追加する更新命令が複数生成されたか否かを判定する（Ｓ７３）。そして、レコードを追加する更新命令が複数生成されたと判定した場合（Ｓ７３のＹＥＳ）、更新命令生成部１１４は、レコードを追加する複数の更新命令を集約し、複写先データベース３ａからのレコードの追加を一括で行う更新命令を生成する（Ｓ７４）。一方、Ｓ４３及びＳ５３の処理においてレコードを追加する更新命令が１つのみ生成された場合、または、Ｓ４３及びＳ５３の処理においてレコードを追加する更新命令が生成されていない場合（Ｓ７３のＮＯ）、更新命令生成部１１４は、Ｓ７４の処理を行わない。
【００７７】
すなわち、更新命令生成部１１４は、複写先データベース３ａに追加する必要があるレコードが複数存在する場合、これらのレコードを一括で追加するための更新命令の生成を行う。これにより、更新命令生成部１１４は、Ｓ７２の処理の場合と同様に、複写元データベース２ａに格納されたデータの内容と複写先データベース３ａに格納されたデータの内容との同期をより短時間で行うことが可能になる。
【００７８】
そして、更新命令適用部１１５は、Ｓ７２の処理等で生成された更新命令を複写先データベース３ａに適用する（Ｓ７５）。その後、集約ログ生成部１１３は、次の差分適用タイミングまで待機する（Ｓ２１）。
【００７９】
なお、レコードを削除する更新命令及びレコードを追加する更新命令がそれぞれ複数生成された場合、これらの更新命令は、Ｓ７２及びＳ７４の処理において集約される。そのため、更新命令適用部１１５は、複写先データベース３ａに対し、レコードを削除する更新命令及びレコードを追加する更新命令を最大でも１回ずつ適用すれば足りる。以下、レコードを削除する更新命令が適用された後における複写先データベース３ａに格納済のレコードの具体例について説明を行う。
【００８０】
［複写先データベースに格納済のレコードの具体例（２）］
図１８は、レコードを削除する更新命令が適用された後における複写先データベース３ａに格納済のレコードの具体例を説明する図である。
【００８１】
図１６で説明した集約ログ１３２のうち、図１７で説明したレコードと「項目Ｐ」に設定された情報が一致するログは、「項目Ｐ」に「Ａ１」、「Ａ２」及び「Ｂ１」が設定されたログである。そのため、更新命令生成部１１４は、Ｓ３４の処理において、「項目Ｐ」が「Ａ１」、「Ａ２」及び「Ｂ１」であるレコードを削除する更新命令の生成を行う。そして、更新命令生成部１１４は、Ｓ７２の処理において、「項目Ｐ」が「Ａ１」、「Ａ２」及び「Ｂ１」であるレコードを一括で削除する更新命令の生成を行う。
【００８２】
その後、更新命令適用部１１５は、図１８に示すように、Ｓ３４の処理で生成された更新命令（Ｓ７２の処理で生成された更新命令）を複写先データベース３ａに適用することにより、図１７に示すレコードから、「項目Ｐ」が「Ａ１」、「Ａ２」及び「Ｂ１」であるレコードの削除を行う。以下、レコードを追加する更新命令が適用された後における複写先データベース３ａに格納済のレコードの具体例について説明を行う。
【００８３】
［複写先データベースに格納済のレコードの具体例（３）］
図１９は、レコードを追加する更新命令が適用された後における複写先データベース３ａに格納済のレコードの具体例を説明する図である。
【００８４】
図１６で説明した集約ログ１３２のうち、「更新内容」に「ＵＰＤＡＴＥ」が設定されたログは、「項目Ｐ」に「Ａ２」が設定されたログである。また、図１６で説明した集約ログ１３２のうち、「更新内容」に「ＩＮＳＥＲＴ」が設定されたログは、「項目Ｐ」に「Ｂ１」及び「Ｂ２」が設定されたログである。そのため、更新命令生成部１１４は、Ｓ４３の処理において、「項目Ｐ」が「Ａ２」であるレコードを追加する更新命令の生成を行う。また、更新命令生成部１１４は、Ｓ５３の処理において、「項目Ｐ」が「Ｂ１」及び「Ｂ２」であるレコードを追加する更新命令の生成を行う。そして、更新命令生成部１１４は、Ｓ７４の処理において、「項目Ｐ」が「Ｂ１」及び「Ｂ２」であるレコードを一括で追加する更新命令の生成を行う。
【００８５】
その後、更新命令適用部１１５は、図１９の下線部分に示すように、Ｓ４３及びＳ５３の処理で生成された更新命令（Ｓ７４の処理で生成された更新命令）を複写先データベース３ａに適用することにより、図１８に示すレコードに、図１６で説明した集約ログ１３２に対応するレコードのうち、「項目Ｐ」が「Ａ２」、「Ｂ１」及び「Ｂ２」であるレコードの追加を行う。
【００８６】
［更新命令の決定条件］
次に、更新命令の決定条件について説明を行う。図２０は、更新命令の決定条件について説明する図である。なお、図２０に含まれる内容は、図７から図１２において説明した内容に対応する。
【００８７】
図２０は、各条件を識別する「項番」と、図１６で説明した集約ログ１３２の「項目Ｐ」に設定された情報によって識別されるレコードが複写先データベース３ａに格納されているか否かを示す「レコード有無」とを項目として有する。「レコード有無」には、レコードが複写先データベース３ａに格納されていることを示す「あり」、または、レコードが複写先データベース３ａに格納されていないことを示す「なし」が設定される。また、図２０は、図１６で説明した集約ログ１３２の「更新内容」に設定された情報が設定される「更新内容」と、レコードを削除する更新命令を生成すべきか否かを示す「レコード削除」と、レコードを追加する更新命令を生成すべきか否かを示す「レコード追加」とを項目として有する。「レコード削除」及び「レコード追加」には、更新命令を生成すべきことを示す「○」、または、更新命令を生成すべきでないことを示す「×」が設定される。
【００８８】
具体的に、図２０において、「レコード有無」に「あり」が設定された情報（「項番」が「１」から「３」である情報）の「レコード削除」には、「○」が設定されている。すなわち、図２０における「項番」が「１」から「３」である情報は、集約ログ１３２の「項目Ｐ」に設定された情報によって識別されるレコードが複写先データベース３ａに格納されている場合、そのレコードを削除する更新命令が生成されることを示している（Ｓ３３のＹＥＳ、Ｓ３４）。
【００８９】
一方、図２０において、「レコード有無」に「なし」が設定された情報（「項番」が「４」から「６」のである情報）の「レコード削除」には、「×」が設定されている。すなわち、図２０における「項番」が「４」から「６」である情報は、集約ログ１３２の「項目Ｐ」に設定された情報によって識別されるレコードが複写先データベース３ａに格納されていない場合、そのレコードを削除する更新命令が生成されないことを示している（Ｓ３３のＮＯ）。
【００９０】
また、図２０において、「更新内容」に「ＩＮＳＥＲＴ」または「ＵＰＤＡＴＥ」が設定された情報（「項番」が「２」、「３」、「５」及び「６」）の「レコード追加」には、「○」が設定されている。すなわち、図２０における「項番」が「２」、「３」、「５」及び「６」である情報は、集約ログ１３２がレコードを追加することまたはレコードの内容を変更することを示している場合、そのレコードを追加する更新命令が生成されることを示している（Ｓ４２のＹＥＳ、Ｓ４３、Ｓ５２のＹＥＳ、Ｓ５３）。
【００９１】
一方、図２０において、「更新内容」に「ＤＥＬＥＴＥ」が設定された情報（「項番」が「１」及び「４」）の「レコード追加」には、「×」が設定されている。すなわち、図２０における「項番」が「１」及び「４」である情報は、集約ログ１３２がレコードの削除することを示している場合、そのレコードを追加する更新命令が生成されないことを示している（Ｓ４２のＮＯ、Ｓ５２のＮＯ）。
【００９２】
このように、本実施の形態における情報処理装置１は、差分ログ１３１を主キー毎に集約した集約ログ１３２を生成し、生成した集約ログ１３２を複写先データベース３ａの項目毎に集約した項目毎の更新命令を生成する。そして、情報処理装置１は、生成した項目毎の更新命令を複写データベース３ａに適用する。
【００９３】
すなわち、複写元データベース２ａから取得された差分ログ１３１は、複写先データベース３ａに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置１は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
【００９４】
そのため、情報処理装置１は、差分ログに基づいて更新が行われるレコードが複写先データベース３ａに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置１は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置１は、生成した更新命令のそれぞれを複写先データベース３ａに適用する。
【００９５】
これにより、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
【００９６】
また、情報処理装置１は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。そして、情報処理装置１は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース３ａに対して適用する。
【００９７】
これにより、情報処理装置１は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
【００９８】
以上の実施の形態をまとめると、以下の付記のとおりである。
【００９９】
（付記１）
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
処理をコンピュータに実行させる差分ログ適用プログラム。
【０１００】
（付記２）
付記１に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
差分ログ適用プログラム。
【０１０１】
（付記３）
付記２に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記差分ログのそれぞれに、各差分ログの生成順を示す順序情報を付加し、
付加された前記順序情報を参照して前記集約ログの生成を行う、
差分ログ適用プログラム。
【０１０２】
（付記４）
付記２に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記主キー毎の前記差分ログのそれぞれにおいて、生成順が最も後である差分ログを前記集約ログとして抽出する、
差分ログ適用プログラム。
【０１０３】
（付記５）
付記１に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在するか否かに基づき、前記複数の項目単位更新命令の生成を行う、
差分ログ適用プログラム。
【０１０４】
（付記６）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【０１０５】
（付記７）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記行データを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
【０１０６】
（付記８）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【０１０７】
（付記９）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
【０１０８】
（付記１０）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、前記複数の項目単位更新命令の生成を行わない、
差分ログ適用プログラム。
【０１０９】
（付記１１）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【０１１０】
（付記１２）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【０１１１】
（付記１３）
付記５に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対するレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
【０１１２】
（付記１４）
付記１に記載の差分ログ適用プログラムであって、
前記列形式データベースは、前記項目ごとに、各項目に対応するデータを互いに対応付けて格納する、
差分ログ適用プログラム。
【０１１３】
（付記１５）
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成する集約ログ生成部と、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成する更新命令生成部と、
前記複数の項目単位更新命令を前記列形式データベースに適用する更新命令適用部と、を有する、
差分ログ適用装置。
【０１１４】
（付記１６）
付記１５に記載の差分ログ適用プログラムであって、
前記集約ログ生成部は、前記差分ログの生成順に応じて前記集約ログの生成を行う、
ことを特徴とする差分ログ適用装置。
【０１１５】
（付記１７）
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
差分ログ適用方法。
【０１１６】
（付記１８）
付記１７に記載の差分ログ適用プログラムであって、
前記集約ログを生成する工程では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
差分ログ適用方法。
【符号の説明】
【０１１７】
１：情報処理装置              ２：複写元処理装置
２ａ：複写元データベース      ３：複写先処理装置
３ａ：複写先データベース
【図１】
2018128881.tif 000003
【図２】
2018128881.tif 000004
【図３】
2018128881.tif 000005
【図４】
2018128881.tif 000006
【図５】
2018128881.tif 000007
【図６】
2018128881.tif 000008
【図７】
2018128881.tif 000009
【図８】
2018128881.tif 000010
【図９】
2018128881.tif 000011
【図１０】
2018128881.tif 000012
【図１１】
2018128881.tif 000013
【図１２】
2018128881.tif 000014
【図１３】
2018128881.tif 000015
【図１４】
2018128881.tif 000016
【図１５】
2018128881.tif 000017
【図１６】
2018128881.tif 000018
【図１７】
2018128881.tif 000019
【図１８】
2018128881.tif 000020
【図１９】
2018128881.tif 000021
【図２０】
2018128881.tif 000022