JP6849910B2 - 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法 - Google Patents

差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法 Download PDF

Info

Publication number
JP6849910B2
JP6849910B2 JP2017021810A JP2017021810A JP6849910B2 JP 6849910 B2 JP6849910 B2 JP 6849910B2 JP 2017021810 A JP2017021810 A JP 2017021810A JP 2017021810 A JP2017021810 A JP 2017021810A JP 6849910 B2 JP6849910 B2 JP 6849910B2
Authority
JP
Japan
Prior art keywords
log
generated
database
item
difference
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.)
Active
Application number
JP2017021810A
Other languages
English (en)
Other versions
JP2018128881A (ja
Inventor
渉 富山
渉 富山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017021810A priority Critical patent/JP6849910B2/ja
Priority to US15/889,362 priority patent/US20180225348A1/en
Publication of JP2018128881A publication Critical patent/JP2018128881A/ja
Application granted granted Critical
Publication of JP6849910B2 publication Critical patent/JP6849910B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof

Landscapes

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

Description

本発明は、差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法に関する。
例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システム(以下、情報処理システムとも呼ぶ)を構築して稼働させる。具体的に、事業者は、例えば、サービスの提供に用いられるデータを格納するデータベースを構成として含む業務システムの構築を行う。
上記のようなデータベースには、一般的に、行指向データベース(以下、行形式データベースとも呼ぶ)と、列指向データベース(以下、列形式データベースとも呼ぶ)とが含まれる。行指向データベースは、データベースに含まれるレコード毎に管理を行うデータベースであって、レコード毎のデータの更新(例えば、データベースに対する新たなレコードの追加や格納済のレコードの削除等)を列指向データベースよりも高速に行うことが可能なデータベースである。一方、列指向データベースは、データベースに含まれる各項目に対応するデータ毎に管理を行うデータベースであって、データベースに含まれる項目毎のデータの参照を行指向データベースよりも高速に行うことが可能なデータベースである。
そのため、事業者は、例えば、サービスの提供に伴ってレコード毎のデータの更新が頻繁に行われることが予測される場合、行指向データベースを構成として含む業務システムの構築を行う。また、事業者は、例えば、サービスの提供に伴ってデータベースに含まれる項目毎のデータの参照が頻繁に行われることが予測される場合、列指向データベースを構成として含む業務システムの構築を行う(例えば、特許文献1乃至3参照)。
特開2015−064850号公報 国際公開第2013/141308号 特開2010−165004号公報
ここで、近年、業務システムがサービスの提供に伴って取り扱う必要のあるデータ量は増加傾向にある。そのため、業務システムでは、取り扱う必要があるデータ量によって、各処理の実行時間を制約時間内に抑えることができない場合が発生し得る。したがって、近年では、例えば、列指向データベースを用いた業務システムを稼働させる場合であっても、列指向データベースに対するデータの更新に要する時間を短縮する必要性が高まっている。
そこで、一つの側面では、本発明は、列指向データベースに対するデータの更新に要する時間を短縮することを可能とする差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法を提供することを目的とする。
実施の形態の一態様では、列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、前記複数の項目単位更新命令を前記列形式データベースに適用する、処理をコンピュータに実行させる。
一つの側面によれば、列指向データベースに対するデータの更新に要する時間を短縮することを可能とする。
図1は、情報処理システム10の構成を示す図である。 図2は、情報処理装置1のハードウエア構成を示す図である。 図3は、情報処理装置1の機能ブロック図である。 図4は、第1の実施の形態における差分ログ適用処理の概略を説明するフローチャート図である。 図5は、第1の実施の形態における差分ログ適用処理の概略を説明する図である。 図6は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図7は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図8は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図9は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図10は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図11は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図12は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。 図13は、差分ログ131の具体例を説明する図である。 図14は、順序情報が付加された差分ログ131の具体例を説明する図である。 図15は、主キー毎にソートした差分ログ131の具体例を説明する図である。 図16は、集約ログ132の具体例を説明する図である。 図17は、複写先データベース3aに格納済のレコードの具体例を説明する図である。 図18は、複写先データベース3aに格納済のレコードの具体例を説明する図である。 図19は、複写先データベース3aに格納済のレコードの具体例を説明する図である。 図20は、更新命令の決定条件について説明する図である。
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、例えば、情報処理装置1(以下、差分ログ適用装置1とも呼ぶ)と、複写元処理装置2と、複写元記憶装置2a(以下、複写元データベース2aとも呼ぶ)と、複写先処理装置3と、複写先記憶装置3a(以下、複写先データベース3a)とを有する。
複写元処理装置2は、例えば、事業者が利用者に対してサービスを提供するための処理を行う。そして、複写元処理装置2は、例えば、利用者に対するサービスの提供に用いられるデータ(レコード)を必要に応じて複写元データベース2aに格納する。また、複写元処理装置2は、例えば、複写元データベース2aに格納されたデータを必要に応じて参照する。
複写先処理装置3は、例えば、複写先データベース3aに格納されたデータを参照し、複写先データベース3aに格納されたデータの解析を行う。以下、複写先データベース3aが列指向データベースであるものとして説明を行う。
情報処理装置1は、例えば、複写先データベース3aに格納されたデータの解析が行われる前に、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を行う。具体的に、情報処理装置1は、複写元データベース2aを参照し、前回同期が行われてから現在までの間に複写元データベース2aに対して行われたデータの更新の内容を示すログ(以下、差分ログとも呼ぶ)を取得する(図1の(1))。そして、情報処理装置1は、取得した差分ログの内容から、複写先データベース3aに格納されたデータの更新を行うための更新命令を生成する(図1の(2))。その後、情報処理装置1は、生成した更新命令を複写先データベース3aに格納されたデータに適用する(図1の(3))。
ここで、情報処理装置1は、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を、予め定められた時間内に行う必要がある場合がある。そのため、情報処理装置1は、例えば、複写先データベース3aが列指向データベースである場合であっても、複写先データベース3aに対する差分ログの内容の適用を短時間で行う必要がある場合がある。
そこで、本実施の形態における情報処理装置1は、列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、生成した集約ログを列指向データベースの項目毎に集約した項目毎の更新命令(以下、項目単位更新命令とも呼ぶ)を生成する。そして、情報処理装置1は、生成した項目毎の更新命令を列指向データベースに適用する。
すなわち、複写元データベース2aから取得された差分ログは、複写先データベース3aに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置1は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
そのため、情報処理装置1は、差分ログに基づいて更新が行われるレコードが複写先データベース3aに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置1は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置1は、生成した更新命令のそれぞれを複写先データベース3aに適用する。
これにより、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
また、情報処理装置1は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。そして、情報処理装置1は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。
これにより、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図2は、情報処理装置1のハードウエア構成を示す図である。
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、差分ログを複写先データベース3aに適用する処理(以下、差分ログ適用処理とも呼ぶ)を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、差分ログ適用処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
CPU101は、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働して差分ログ適用処理を行う。また、外部インターフェース103は、例えば、複写元データベース2a及び複写先データベース3aと通信を行う。
[情報処理システムの機能]
次に、情報処理システム10の機能について説明する。図3は、情報処理装置1の機能ブロック図である。
情報処理装置1のCPU101は、プログラム110と協働することにより、例えば、差分ログ取得部111と、ログ管理部112と、集約ログ生成部113と、更新命令生成部114と、更新命令適用部115として動作する。また、情報格納領域130には、例えば、差分ログ131と、集約ログ132とが記憶される。なお、情報格納領域130は、データベースからなるものであってもよい。
差分ログ取得部111は、例えば、定期的なタイミングで複写元データベース2aから差分ログ131を取得する。具体的に、複写先データベース3aに格納されたデータの解析が1日1回行われる場合、差分ログ取得部111は、複写元データベース2aからの差分ログ131の取得を1日1回行うものであってよい。そして、ログ管理部112は、差分ログ取得部111が取得した差分ログ131を情報格納領域130に記憶する。
集約ログ生成部113は、情報格納領域130に記憶された差分ログ131を主キー毎に集約することにより集約ログ132を生成する。そして、ログ管理部112は、例えば、集約ログ生成部113が生成した集約ログ132を情報格納領域130に記憶する。
更新命令生成部114は、集約ログ生成部113が生成した集約ログ132を複写先データベース3aの項目毎に集約することにより項目毎の更新命令を生成する。更新命令生成部114は、例えば、SQL文によって更新命令の生成を行う。そして、更新命令適用部115は、更新命令生成部114が生成した項目毎の更新命令を複写先データベース3aに適用する。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明を行う。図4は、第1の実施の形態における差分ログ適用処理の概略を説明するフローチャート図である。図5は、第1の実施の形態における差分ログ適用処理の概略を説明する図である。
情報処理装置1は、図4に示すように、差分適用タイミングまで待機する(S1のNO)。差分適用タイミングは、例えば、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期を行うタイミングである。そして、差分適用タイミングになった場合(S1のYES)、情報処理装置1は、図5に示すように、差分ログ131を主キー毎に集約した集約ログ132を生成する(S2)。
さらに、情報処理装置1は、図5に示すように、S2の処理で生成された集約ログ132を複写先データベース3a(列指向データベース)の項目毎に集約した項目毎の更新命令を生成する(S3)。その後、情報処理装置1は、図5に示すように、S3の処理で生成した集約ログ132を複写先データベース3aに適用する(S4)。
すなわち、複写元データベース2aから取得された差分ログ131は、複写先データベース3aに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置1は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
そのため、情報処理装置1は、差分ログに基づいて更新が行われるレコードが複写先データベース3aに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置1は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置1は、生成した更新命令のそれぞれを複写先データベース3aに適用する。
これにより、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
また、情報処理装置1は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。そして、情報処理装置1は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。
これにより、情報処理装置1は、更新命令によって削除する必要があるレコードが複数存在する場合であっても、レコードを削除する更新命令の適用回数を1回に抑えることが可能になる。また、情報処理装置1は、更新命令によって追加する必要があるレコードが複数存在する場合であっても、レコードを追加する更新命令の適用回数を1回に抑えることが可能になる。そのため、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図6から図12は、第1の実施の形態における差分ログ適用処理の詳細を説明するフローチャート図である。また、図13から図20は、第1の実施の形態における差分ログ適用処理の詳細を説明する図である。図13から図20を参照しながら、図6から図12の差分ログ適用処理の詳細を説明する。
初めに、差分ログ抽出処理のうち、複写元データベース2aから差分ログ131を抽出する処理について説明を行う。
情報処理装置1の差分ログ取得部111は、差分ログ取得タイミングになるまで待機する(S11のNO)。差分ログ取得タイミングは、例えば、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期が行われるタイミングよりも前のタイミングである。具体的に、差分ログ取得タイミングは、例えば、事業者が予め定めたタイミングであってよい。
そして、差分ログ取得タイミングになった場合(S11のYES)、差分ログ取得部111は、複写元データベース2aから差分ログ131を取得する(S12)。そして、情報処理装置1のログ管理部112は、S12の処理で取得した差分ログ131を情報格納領域130に記憶する(S13)。以下、差分ログ131の具体例について説明を行う。
[差分ログの具体例]
図13は、差分ログ131の具体例を説明する図である。図13に示す差分ログ131は、複写先データベース3aに含まれるレコードのうち、更新を行うデータが含まれるレコードを特定するための主キーとなる項目を示す「項目P」と、データの更新の内容を示す「更新内容」とを項目として有する。「更新内容」には、新たなレコードの追加を示す「INSERT」、格納済のレコードの内容の変更を示す「UPDATE」、または、格納済のレコードの削除を示す「DELETE」が設定される。
また、図13に示す差分ログ131は、各レコードに含まれるデータに対応する項目を示す「項目X」及び「項目Y」を項目として有する。「項目X」及び「項目Y」には、「更新内容」に「DELETE」が設定されている場合、削除が行われるレコードの内容が設定され、「更新内容」に「INSERT」が設定されている場合、追加が行われるレコードの内容が設定される。また、「項目X」及び「項目Y」には、「更新内容」に「UPDATE」が設定されている場合、内容の変更が行われるレコードの内容が設定される。
具体的に、図13に示す差分ログ131には、例えば、「項目P」が「A1」であり、「更新内容」が「INSERT」であり、「項目X」が「100」であり、「項目Y」が「10」であるレコードについてのログが含まれている。また、図13に示す差分ログ131には、例えば、「項目P」が「A1」であり、「更新内容」が「UPDATE」であり、「項目X」が「10」であり、「項目Y」が「10」であるレコードについてのログが含まれている。図13に含まれる他のログについては説明を省略する。
なお、複写先データベース3aに格納されるレコードの主キーが複数存在する場合、図13に示す差分ログ131には、存在する主キーの組合せに対応する数の「項目P」が含まれるものであってよい。
次に、差分ログ抽出処理のうち、差分ログ131に対応する更新命令を複写先データベース3aに適用する処理について説明を行う。
情報処理装置1の集約ログ生成部113は、図7に示すように、差分適用タイミングまで待機する(S21のNO)。そして、差分適用タイミングになった場合(S21のYES)、集約ログ生成部113は、情報格納領域130に記憶された差分ログ131を取得する(S22)。
さらに、集約ログ生成部113は、S22の処理で取得した差分ログ131のそれぞれに、各差分ログ131の生成順を示す順序情報を付加する(S23)。具体的に、集約ログ生成部113は、例えば、差分ログ131に含まれる各ログの生成時刻を複写元データベース2aから取得し、取得した生成時刻に基づいて、各ログに対して順序情報の付加を行うものであってよい。また、集約ログ生成部113は、例えば、各ログの生成時刻が差分ログ131に含まれている場合、差分ログ131に含まれている生成時刻に基づいて、各ログに対する付加情報の付加を行うものであってよい。以下、順序情報が付加された差分ログ131の具体例について説明を行う。
[順序情報が付加された差分ログの具体例]
図14は、順序情報が付加された差分ログ131の具体例を説明する図である。図14に示す差分ログ131は、図13で説明した各項目に加え、差分ログ131に含まれる各ログの生成順を示す「行番号」を項目として有する。
具体的に、図14に示す差分ログ131において、例えば、「項目P」が「A1」であって「更新内容」が「INSERT」であるレコードについてのログには、「行番号」として「1」が付加されている。また、図14に示す差分ログ131において、例えば、「項目P」が「A1」であって「更新内容」が「UPDATE」であるレコードについてのログには、「行番号」として「2」が付加されている。図14に含まれる他のログについては説明を省略する。
図7に戻り、集約ログ生成部113は、S23の処理で順序情報を付加した差分ログ131を主キー毎にソートする(S24)。以下、主キー毎にソートした後の差分ログ131について説明を行う。
[主キー毎にソートした差分ログの具体例]
図15は、主キー毎にソートした差分ログ131の具体例を説明する図である。図14で説明した差分ログ131における「項目P」には、「A1」、「A2」、「B1」及び「B2」が設定されている。そのため、集約ログ生成部113は、図14で説明した差分ログ131を「項目P」に「A1」、「A2」、「B1」及び「B2」が設定されたログ毎に分類し、「行番号」に設定された番号が昇順になるようにソートを行う。
具体的に、集約ログ生成部113は、例えば、図14で説明した差分ログ131から、「項目P」に「A1」が設定されたログである「項番」に「1」、「2」及び「7」が設定されたログを特定する。そして、集約ログ生成部113は、図15に示すように、特定したログのそれぞれを、「行番号」が「1」のログ、「行番号」が「2」のログ、「行番号」が「7」のログの順になるようにソートを行う。また、集約ログ生成部113は、例えば、図14で説明した差分ログ131から、「項目P」に「A2」が設定されたログである「項番」に「3」及び「8」が設定されたログを特定する。そして、集約ログ生成部113は、図15に示すように、特定したログのそれぞれを、「行番号」が「3」のログ、「行番号」が「8」のログの順になるようにソートを行う。図15に含まれる他のログについては説明を省略する。
図7に戻り、集約ログ生成部113は、S24の処理でソートした主キー毎の差分ログ131において、生成順が最も後であるログを集約ログ132として抽出(生成)する(S24)。以下、集約ログ132の具体例について説明を行う。
[集約ログの具体例]
図16は、集約ログ132の具体例を説明する図である。図16に示す集約ログ132は、図13で説明した差分ログ131と同じ項目を有している。
集約ログ生成部113は、S24の処理において、図15で説明した差分ログ131のうちの「項目P」に同じ情報が設定されたログ毎に、「行番号」に設定された番号が最も大きいログの抽出を行う。具体的に、集約ログ生成部113は、図16に示すように、例えば、図15で説明した差分ログ131のうちの「項目P」に「A1」が設定されたログから、「行番号」が「7」であるログを集約ログ132として抽出する。また、集約ログ生成部113は、図16に示すように、例えば、図15で説明した差分ログ131のうちの「項目P」に「A2」が設定されたログから、「行番号」が「8」であるログを集約ログ132として抽出する。図16に含まれる他のログについては説明を省略する。
すなわち、集約ログ生成部113は、複写元データベース2aから取得した差分ログ131のうち、複写先データベース3aに最低限反映させる必要があるログである集約ログ132を生成する。そして、情報処理装置1の更新命令生成部114は、後述するように、集約ログ132に基づいて更新命令を生成する。
これにより、情報処理装置1の更新命令適用部115は、後述するように、複写先データベース3aに適用する必要がある更新命令の数を抑制することが可能になる。そのため、更新命令適用部115は、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期に要する時間を短縮することが可能になる。
図8に戻り、更新命令生成部114は、S25の処理で生成した集約ログ132を1つ取得する(S31)。具体的に、更新命令生成部114は、例えば、図16で説明した集約ログ132から、「項目P」に「A1」が設定されたログを取得する。
そして、更新命令生成部114は、S31の処理で取得した集約ログ132の主キーを含むレコードが複写先データベース3aに存在するかいないか否かを判定する(S32)。以下、複写先データベース3aに格納済のレコードの具体例について説明を行う。
[複写先データベースに格納済のレコードの具体例(1)]
図17から図19は、複写先データベース3aに格納済のレコードの具体例を説明する図である。図17等に示すレコードは、「項目P」、「項目X」及び「項目Y」を項目として有する。
具体的に、図17に示すレコードには、例えば、「項目P」に「A1」が設定され、「項目X」に「200」が設定され、「項目Y」に「100」が設定されたレコードが含まれている。また、図17に示すレコードには、例えば、「項目P」に「A2」が設定され、「項目X」に「200」が設定され、「項目Y」に「150」が設定されたレコードが含まれている。図17に含まれる他のレコードについては説明を省略する。
そのため、例えば、S32の処理において、S31の処理で取得されたログが「項目P」に「A1」が設定されたログである場合、更新命令生成部114は、S31の処理で取得した集約ログ132の主キーを含むレコードが複写先データベース3aに存在すると判定する。
図8に戻り、S32の処理においてレコードが存在すると判定した場合(S33のYES)、更新命令生成部114は、S32の処理で存在すると判定したレコードを複写先データベース3aから削除するための更新命令を生成する(S34)。具体的に、更新命令生成部114は、例えば、S31の処理において取得されたログが「項目P」に「A1」が設定されたログである場合、図17に示すレコードから「項目P」に「A1」が設定されたレコードを削除する更新命令を生成する。
一方、S32の処理においてレコードが存在しないと判定した場合(S33のNO)、更新命令生成部114は、S34の処理を行わない。すなわち、更新命令生成部114は、この場合、複写先データベース3aに削除する必要があるレコードが存在しないと判定する。
続いて、更新命令生成部114は、図9に示すように、S31の処理で取得した集約ログ132が複写先データベース3aに対してレコードを追加することを示す集約ログ132であるか否かを判定する(S41)。
その結果、レコードを追加することを示す集約ログ132であると判定した場合(S42のYES)、更新命令生成部114は、S41の処理で存在すると判定した集約ログ132に対応するレコードを複写先データベース3aに追加する更新命令を生成する(S43)。そして、S25の処理で生成した集約ログ132の全ての取得が完了していない場合(S44のNO)、更新命令生成部114は、S31以降の処理を再度行う。
一方、S42の処理において、レコードを追加することを示す集約ログ132でないと判定した場合(S42のNO)、更新命令生成部114は、図10に示すように、S31の処理で取得した集約ログ132が複写先データベース3aに格納されたレコードの内容を変更することを示す集約ログ132であるか否かを判定する(S51)。
その結果、レコードの内容を変更することを示す集約ログ132であると判定した場合(S52のYES)、更新命令生成部114は、S51の処理で存在すると判定した集約ログ132に対応するレコードを複写先データベース3aに追加する更新命令を生成する(S53)。具体的に、更新命令生成部114は、S31の処理で取得した集約ログ132が示す変更が適用された後の状態のレコードを複写先データベース3aに追加する更新命令を生成する。そして、S25の処理で生成した集約ログ132の全ての取得が完了していない場合(S54のNO)、更新命令生成部114は、S31以降の処理を再度行う。
一方、S52の処理において、レコードの内容を変更することを示す集約ログ132でないと判定した場合(S52のNO)、更新命令生成部114は、図11に示すように、S31の処理で取得した集約ログ132が複写先データベース3aからのレコードの削除を示す集約ログ132であると判定する(S61)。そして、S62の処理で生成した集約ログ132の全ての取得が完了していない場合(S62のNO)、更新命令生成部114は、S31以降の処理を再度行う。
すなわち、更新命令生成部114は、S31の処理で取得した集約ログ132が、レコードを追加することを示す集約ログ132及びレコードの内容を変更することを示す集約ログ132のいずれでもない場合、S31の処理で取得した集約ログ132がレコードの削除を示す集約ログ132であると判定する。そして、更新命令生成部114は、この場合、レコードを追加する更新命令を生成する必要がないと判定する。
さらに、更新命令生成部114は、S25の処理で生成した集約ログ132の全ての取得が完了した場合(S44のYES、S54のYES、S62のYES)、図12に示すように、S34の処理においてレコードを削除する更新命令が複数生成されたか否かを判定する(S71)。
そして、レコードを削除する更新命令が複数生成されたと判定した場合(S71のYES)、更新命令生成部114は、レコードを削除する複数の更新命令を集約し、複写先データベース3aからのレコードの削除を一括で行う更新命令を生成する(S72)。一方、S34の処理においてレコードを削除する更新命令が1つのみ生成された場合、または、S34の処理においてレコードを削除する更新命令が生成されていない場合(S71のNO)、更新命令生成部114は、S72の処理を行わない。
すなわち、更新命令生成部114は、複写先データベース3aから削除する必要があるレコードが複数存在する場合、これらのレコードを一括で削除するための更新命令の生成を行う。これにより、更新命令生成部114は、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期をより短時間で行うことが可能になる。
また、更新命令生成部114は、S43及びS53の処理においてレコードを追加する更新命令が複数生成されたか否かを判定する(S73)。そして、レコードを追加する更新命令が複数生成されたと判定した場合(S73のYES)、更新命令生成部114は、レコードを追加する複数の更新命令を集約し、複写先データベース3aからのレコードの追加を一括で行う更新命令を生成する(S74)。一方、S43及びS53の処理においてレコードを追加する更新命令が1つのみ生成された場合、または、S43及びS53の処理においてレコードを追加する更新命令が生成されていない場合(S73のNO)、更新命令生成部114は、S74の処理を行わない。
すなわち、更新命令生成部114は、複写先データベース3aに追加する必要があるレコードが複数存在する場合、これらのレコードを一括で追加するための更新命令の生成を行う。これにより、更新命令生成部114は、S72の処理の場合と同様に、複写元データベース2aに格納されたデータの内容と複写先データベース3aに格納されたデータの内容との同期をより短時間で行うことが可能になる。
そして、更新命令適用部115は、S72の処理等で生成された更新命令を複写先データベース3aに適用する(S75)。その後、集約ログ生成部113は、次の差分適用タイミングまで待機する(S21)。
なお、レコードを削除する更新命令及びレコードを追加する更新命令がそれぞれ複数生成された場合、これらの更新命令は、S72及びS74の処理において集約される。そのため、更新命令適用部115は、複写先データベース3aに対し、レコードを削除する更新命令及びレコードを追加する更新命令を最大でも1回ずつ適用すれば足りる。以下、レコードを削除する更新命令が適用された後における複写先データベース3aに格納済のレコードの具体例について説明を行う。
[複写先データベースに格納済のレコードの具体例(2)]
図18は、レコードを削除する更新命令が適用された後における複写先データベース3aに格納済のレコードの具体例を説明する図である。
図16で説明した集約ログ132のうち、図17で説明したレコードと「項目P」に設定された情報が一致するログは、「項目P」に「A1」、「A2」及び「B1」が設定されたログである。そのため、更新命令生成部114は、S34の処理において、「項目P」が「A1」、「A2」及び「B1」であるレコードを削除する更新命令の生成を行う。そして、更新命令生成部114は、S72の処理において、「項目P」が「A1」、「A2」及び「B1」であるレコードを一括で削除する更新命令の生成を行う。
その後、更新命令適用部115は、図18に示すように、S34の処理で生成された更新命令(S72の処理で生成された更新命令)を複写先データベース3aに適用することにより、図17に示すレコードから、「項目P」が「A1」、「A2」及び「B1」であるレコードの削除を行う。以下、レコードを追加する更新命令が適用された後における複写先データベース3aに格納済のレコードの具体例について説明を行う。
[複写先データベースに格納済のレコードの具体例(3)]
図19は、レコードを追加する更新命令が適用された後における複写先データベース3aに格納済のレコードの具体例を説明する図である。
図16で説明した集約ログ132のうち、「更新内容」に「UPDATE」が設定されたログは、「項目P」に「A2」が設定されたログである。また、図16で説明した集約ログ132のうち、「更新内容」に「INSERT」が設定されたログは、「項目P」に「B1」及び「B2」が設定されたログである。そのため、更新命令生成部114は、S43の処理において、「項目P」が「A2」であるレコードを追加する更新命令の生成を行う。また、更新命令生成部114は、S53の処理において、「項目P」が「B1」及び「B2」であるレコードを追加する更新命令の生成を行う。そして、更新命令生成部114は、S74の処理において、「項目P」が「B1」及び「B2」であるレコードを一括で追加する更新命令の生成を行う。
その後、更新命令適用部115は、図19の下線部分に示すように、S43及びS53の処理で生成された更新命令(S74の処理で生成された更新命令)を複写先データベース3aに適用することにより、図18に示すレコードに、図16で説明した集約ログ132に対応するレコードのうち、「項目P」が「A2」、「B1」及び「B2」であるレコードの追加を行う。
[更新命令の決定条件]
次に、更新命令の決定条件について説明を行う。図20は、更新命令の決定条件について説明する図である。なお、図20に含まれる内容は、図7から図12において説明した内容に対応する。
図20は、各条件を識別する「項番」と、図16で説明した集約ログ132の「項目P」に設定された情報によって識別されるレコードが複写先データベース3aに格納されているか否かを示す「レコード有無」とを項目として有する。「レコード有無」には、レコードが複写先データベース3aに格納されていることを示す「あり」、または、レコードが複写先データベース3aに格納されていないことを示す「なし」が設定される。また、図20は、図16で説明した集約ログ132の「更新内容」に設定された情報が設定される「更新内容」と、レコードを削除する更新命令を生成すべきか否かを示す「レコード削除」と、レコードを追加する更新命令を生成すべきか否かを示す「レコード追加」とを項目として有する。「レコード削除」及び「レコード追加」には、更新命令を生成すべきことを示す「○」、または、更新命令を生成すべきでないことを示す「×」が設定される。
具体的に、図20において、「レコード有無」に「あり」が設定された情報(「項番」が「1」から「3」である情報)の「レコード削除」には、「○」が設定されている。すなわち、図20における「項番」が「1」から「3」である情報は、集約ログ132の「項目P」に設定された情報によって識別されるレコードが複写先データベース3aに格納されている場合、そのレコードを削除する更新命令が生成されることを示している(S33のYES、S34)。
一方、図20において、「レコード有無」に「なし」が設定された情報(「項番」が「4」から「6」のである情報)の「レコード削除」には、「×」が設定されている。すなわち、図20における「項番」が「4」から「6」である情報は、集約ログ132の「項目P」に設定された情報によって識別されるレコードが複写先データベース3aに格納されていない場合、そのレコードを削除する更新命令が生成されないことを示している(S33のNO)。
また、図20において、「更新内容」に「INSERT」または「UPDATE」が設定された情報(「項番」が「2」、「3」、「5」及び「6」)の「レコード追加」には、「○」が設定されている。すなわち、図20における「項番」が「2」、「3」、「5」及び「6」である情報は、集約ログ132がレコードを追加することまたはレコードの内容を変更することを示している場合、そのレコードを追加する更新命令が生成されることを示している(S42のYES、S43、S52のYES、S53)。
一方、図20において、「更新内容」に「DELETE」が設定された情報(「項番」が「1」及び「4」)の「レコード追加」には、「×」が設定されている。すなわち、図20における「項番」が「1」及び「4」である情報は、集約ログ132がレコードの削除することを示している場合、そのレコードを追加する更新命令が生成されないことを示している(S42のNO、S52のNO)。
このように、本実施の形態における情報処理装置1は、差分ログ131を主キー毎に集約した集約ログ132を生成し、生成した集約ログ132を複写先データベース3aの項目毎に集約した項目毎の更新命令を生成する。そして、情報処理装置1は、生成した項目毎の更新命令を複写データベース3aに適用する。
すなわち、複写元データベース2aから取得された差分ログ131は、複写先データベース3aに格納された特定のレコードに対する更新を複数回行うことを示している場合がある。この場合、情報処理装置1は、特定のレコードに対する更新の全てを行う必要はなく、特定のレコードの内容を特定のレコードに対する最後の更新が行われた後の状態にすれば足りる。
そのため、情報処理装置1は、差分ログに基づいて更新が行われるレコードが複写先データベース3aに存在する場合、存在したレコードを削除する更新命令を生成する。そして、情報処理装置1は、各レコードに対する最後の更新が行われた後の内容からなるレコードを追加する更新命令を生成する。その後、情報処理装置1は、生成した更新命令のそれぞれを複写先データベース3aに適用する。
これにより、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間を短縮することが可能になる。
また、情報処理装置1は、例えば、更新命令によって削除する必要があるレコードが複数存在する場合、複数のレコードの削除を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。そして、情報処理装置1は、例えば、更新命令によって追加する必要があるレコードが複数存在する場合、複数のレコードの追加を一括で行う更新命令を生成し、複写先データベース3aに対して適用する。
これにより、情報処理装置1は、列指向データベースに対するレコード毎のデータの更新に要する時間をさらに短縮することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
処理をコンピュータに実行させる差分ログ適用プログラム。
(付記2)
付記1に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
差分ログ適用プログラム。
(付記3)
付記2に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記差分ログのそれぞれに、各差分ログの生成順を示す順序情報を付加し、
付加された前記順序情報を参照して前記集約ログの生成を行う、
差分ログ適用プログラム。
(付記4)
付記2に記載の差分ログ適用プログラムであって、
前記集約ログを生成する処理では、
前記主キー毎の前記差分ログのそれぞれにおいて、生成順が最も後である差分ログを前記集約ログとして抽出する、
差分ログ適用プログラム。
(付記5)
付記1に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在するか否かに基づき、前記複数の項目単位更新命令の生成を行う、
差分ログ適用プログラム。
(付記6)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
(付記7)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記行データを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
(付記8)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
(付記9)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
差分ログ適用プログラム。
(付記10)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、前記複数の項目単位更新命令の生成を行わない、
差分ログ適用プログラム。
(付記11)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
(付記12)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
(付記13)
付記5に記載の差分ログ適用プログラムであって、
前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対するレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
差分ログ適用プログラム。
(付記14)
付記1に記載の差分ログ適用プログラムであって、
前記列形式データベースは、前記項目ごとに、各項目に対応するデータを互いに対応付けて格納する、
差分ログ適用プログラム。
(付記15)
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成する集約ログ生成部と、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成する更新命令生成部と、
前記複数の項目単位更新命令を前記列形式データベースに適用する更新命令適用部と、を有する、
差分ログ適用装置。
(付記16)
付記15に記載の差分ログ適用プログラムであって、
前記集約ログ生成部は、前記差分ログの生成順に応じて前記集約ログの生成を行う、
ことを特徴とする差分ログ適用装置。
(付記17)
列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
前記複数の項目単位更新命令を前記列形式データベースに適用する、
差分ログ適用方法。
(付記18)
付記17に記載の差分ログ適用プログラムであって、
前記集約ログを生成する工程では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
差分ログ適用方法。
1:情報処理装置 2:複写元処理装置
2a:複写元データベース 3:複写先処理装置
3a:複写先データベース

Claims (14)

  1. 列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
    前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
    前記複数の項目単位更新命令を前記列形式データベースに適用する、
    処理をコンピュータに実行させ
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからの異なる複数のレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成し、前記列形式データベースに対する異なる複数のレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
    差分ログ適用プログラム。
  2. 請求項1に記載の差分ログ適用プログラムであって、
    前記集約ログを生成する処理では、前記差分ログの生成順に応じて前記集約ログの生成を行う、
    差分ログ適用プログラム。
  3. 請求項2に記載の差分ログ適用プログラムであって、
    前記集約ログを生成する処理では、
    前記差分ログのそれぞれに、各差分ログの生成順を示す順序情報を付加し、
    付加された前記順序情報を参照して前記集約ログの生成を行う、
    差分ログ適用プログラム。
  4. 請求項2に記載の差分ログ適用プログラムであって、
    前記集約ログを生成する処理では、
    前記主キー毎の前記差分ログのそれぞれにおいて、生成順が最も後である差分ログを前記集約ログとして抽出する、
    差分ログ適用プログラム。
  5. 請求項1に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在するか否かに基づき、前記複数の項目単位更新命令の生成を行う、
    差分ログ適用プログラム。
  6. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
    差分ログ適用プログラム。
  7. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに対してレコードを追加することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
    差分ログ適用プログラム。
  8. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、生成された前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令を生成する、
    差分ログ適用プログラム。
  9. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースに格納されたレコードの内容を変更することを示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令と、存在する前記集約ログに対応する前記レコードを前記列形式データベースに追加する前記複数の項目単位更新命令とを生成する、
    差分ログ適用プログラム。
  10. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在しない場合、前記複数の項目単位更新命令の生成を行わない、
    差分ログ適用プログラム。
  11. 請求項5に記載の差分ログ適用プログラムであって、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからのレコードの削除を示す前記集約ログが生成された場合であって、生成された前記集約ログの前記主キーを含むレコードが前記列形式データベースに存在する場合、存在する前記レコードを前記列形式データベースから削除する前記複数の項目単位更新命令を生成する、
    差分ログ適用プログラム。
  12. 請求項1に記載の差分ログ適用プログラムであって、
    前記列形式データベースは、前記項目ごとに、各項目に対応するデータを互いに対応付けて格納する、
    差分ログ適用プログラム。
  13. 列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成する集約ログ生成部と、
    前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成する更新命令生成部と、
    前記複数の項目単位更新命令を前記列形式データベースに適用する更新命令適用部と、を有
    更新命令生成部は、前記列形式データベースからの異なる複数のレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成し、前記列形式データベースに対する異なる複数のレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
    差分ログ適用装置。
  14. 列形式データベースに対する複数の差分ログから、主キー毎に集約した集約ログを生成し、
    前記集約ログを前記列形式データベースの項目ごとに集約した複数の項目単位更新命令を生成し、
    前記複数の項目単位更新命令を前記列形式データベースに適用する、
    処理をコンピュータに実行させ、
    前記複数の項目単位更新命令を生成する処理では、前記列形式データベースからの異なる複数のレコードの削除を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースから一括で削除する前記複数の項目単位更新命令を生成し、前記列形式データベースに対する異なる複数のレコードの追加を示す前記集約ログが複数生成された場合、複数生成された前記集約ログに対応する前記レコードを前記列形式データベースに一括で追加する前記複数の項目単位更新命令を生成する、
    差分ログ適用方法。
JP2017021810A 2017-02-09 2017-02-09 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法 Active JP6849910B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017021810A JP6849910B2 (ja) 2017-02-09 2017-02-09 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法
US15/889,362 US20180225348A1 (en) 2017-02-09 2018-02-06 Database processing method and database processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017021810A JP6849910B2 (ja) 2017-02-09 2017-02-09 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法

Publications (2)

Publication Number Publication Date
JP2018128881A JP2018128881A (ja) 2018-08-16
JP6849910B2 true JP6849910B2 (ja) 2021-03-31

Family

ID=63037747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017021810A Active JP6849910B2 (ja) 2017-02-09 2017-02-09 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法

Country Status (2)

Country Link
US (1) US20180225348A1 (ja)
JP (1) JP6849910B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266599A (ja) * 1993-03-11 1994-09-22 Hitachi Ltd デ−タベ−ス更新情報転送方法
JP5585062B2 (ja) * 2009-12-04 2014-09-10 ソニー株式会社 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
JP2012155634A (ja) * 2011-01-28 2012-08-16 Fujitsu Frontech Ltd 情報処理プログラム、情報処理装置および情報処理方法
JP2013178685A (ja) * 2012-02-29 2013-09-09 Nec Corp 非同期バックアップ機能を有するデータ処理システム、フロントシステム、バックアップ方法、及びそのためのプログラム
JPWO2013141308A1 (ja) * 2012-03-22 2015-08-03 日本電気株式会社 分散ストレージシステム、ストレージ制御方法およびプログラム

Also Published As

Publication number Publication date
US20180225348A1 (en) 2018-08-09
JP2018128881A (ja) 2018-08-16

Similar Documents

Publication Publication Date Title
US11755387B1 (en) Updating code of an app feature based on a value of a query feature
KR101130443B1 (ko) 전자 문서 내에서의 사용을 위해 다중 데이터 소스로부터의데이터를 통합하는 방법, 시스템 및 컴퓨터 판독가능 매체
US8589876B1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
US20130318514A1 (en) Map generator for representing interrelationships between app features forged by dynamic pointers
JP4911438B2 (ja) 操作監視装置
KR101013810B1 (ko) 엑셀기반 db테이블 갱신 시스템 및 방법
JP2008047067A (ja) カプセル化文書管理装置、カプセル化文書管理方法及びカプセル化文書管理プログラム
CN108205560B (zh) 一种数据同步方法以及装置
JP2008310582A (ja) 保守作業支援装置とシステム並びに保守作業支援方法
JP7081396B2 (ja) 生成方法、生成プログラム、および生成装置
JP2019211805A (ja) データベースマイグレーション支援システム及びプログラム
JP6849910B2 (ja) 差分ログ適用プログラム、差分ログ適用装置及び差分ログ適用方法
JP6810352B2 (ja) 障害解析プログラム、障害解析装置及び障害解析方法
JP2016018279A (ja) 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法
JP2018081403A (ja) インシデント管理システム、インシデント管理方法およびコンピュータプログラム
JP2018109898A (ja) データマイグレーションシステム
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP6870454B2 (ja) 分析装置、分析プログラム及び分析方法
JP5702265B2 (ja) プログラム自動生成装置およびプログラム自動生成方法
CN112883343A (zh) 一种程序代码的混淆方法及装置
US10229128B2 (en) Method and apparatus for the generation, organization, storage and retrieval of time stamped blocks of data
JP2016126532A (ja) 算出プログラム、情報処理装置、および算出方法
US8983903B2 (en) Data processing system
JP6932064B2 (ja) データベース支援装置、データベース支援方法、及びプログラム
JP7346671B2 (ja) データ変換装置およびデータ変換方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210215

R150 Certificate of patent or registration of utility model

Ref document number: 6849910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150