図面 (/)

技術 データベースを管理するシステム及び方法

出願人 インターナショナル・ビジネス・マシーンズ・コーポレーション
発明者 河野紀昭房律子
出願日 2014年11月27日 (4年11ヶ月経過) 出願番号 2014-240576
公開日 2016年6月2日 (3年5ヶ月経過) 公開番号 2016-103115
状態 特許登録済
技術分野 計算機におけるファイル管理 検索装置 ハードウェアの冗長性
主要キーワード 静止点 更新タイムスタンプ 追い付く 挿入命令 補償範囲 時刻付き 照会対象 実施時刻
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年6月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

任意の時点でデータベースに保持されていたデータを参照する際の負荷を軽減する。

解決手段

メインフレーム10のDB11に保持されたことがあるデータを保持するテンポラルDB21をDB専用装置20に設ける。DB更新時には、メインフレーム10で、アプリケーション13が更新SQL発行すると、DBMS12がDB11を更新して更新ログを記憶し、更新ログ捕捉部15が定期的に更新ログを読み出し、DB専用装置20で、更新ログ適用部22が更新ログに基づいてテンポラルDB21を更新する。DB参照時には、メインフレーム10で、アプリケーション13が照会対象時刻付き照会SQLを発行すると、DBMS12が照会SQLを照会処理部23に転送し、DB専用装置20で、照会処理部23が照会対象時刻のデータをテンポラルDB21に照会して照会結果をDBMS12に返す。

概要

背景

データベースを利用した業務処理を行うにあたり、過去の特定の時点でデータベースに記録されていた整合性の取れたデータ(静止点データ)を参照したいニーズは多い。例えば、24時間365日稼動するシステムで、所定の時刻までに行われた取引全体に対するバッチ処理を行う場合や、取引条件が変動する商品を扱うシステムで、売り上げ割引率ポイント設定との関連を分析する場合等に、上記ニーズが生ずる。

従来は、このようなニーズに対して、特定の時点に対する静止点データベースを作成する手法が採用されていた(例えば、特許文献1参照)。

特許文献1は、DBMSで、アプリケーションプログラムの要求に応じて、基表更新機能が、基表及び基表に付随する回復開始点更新し、更新ログ記録機能が、基表に対する更新ログを記録し、所定のタイミングで、バックアップ機能が、基表の内容をバックアップファイルに出力し、基表に付随する回復開始点をバックアップファイルに付随する回復開始点にコピーし、その後、ユーザによって静止点及び基表が指定されると、複製生成機能が、指定された基表のバックアップファイルを、更新ログの、バックアップファイルに付随する回復開始点から静止点までの部分で更新することにより、静止点における基表の複製である対象表を生成する技術を開示する。

この静止点データベースを作成する手法は有効な方法ではある。しかしながら、任意の時点における静止点データを利用するための手法としては不向きである。

そこで、静止点データを参照したいというニーズに対する別の手法として、テンポラルデータベースを使用する方法が考えられている(例えば、非特許文献1参照)。ここで、テンポラルデータベースとは、現在及び過去のデータを有効期間と共に格納するデータベースである。このテンポラルデータベースを使用することにより、時刻を指定して任意の時点のデータを参照することが可能となる。

概要

任意の時点でデータベースに保持されていたデータを参照する際の負荷を軽減する。メインフレーム10のDB11に保持されたことがあるデータを保持するテンポラルDB21をDB専用装置20に設ける。DB更新時には、メインフレーム10で、アプリケーション13が更新SQL発行すると、DBMS12がDB11を更新して更新ログを記憶し、更新ログ捕捉部15が定期的に更新ログを読み出し、DB専用装置20で、更新ログ適用部22が更新ログに基づいてテンポラルDB21を更新する。DB参照時には、メインフレーム10で、アプリケーション13が照会対象時刻付き照会SQLを発行すると、DBMS12が照会SQLを照会処理部23に転送し、DB専用装置20で、照会処理部23が照会対象時刻のデータをテンポラルDB21に照会して照会結果をDBMS12に返す。

目的

本発明の目的は、データベースに保持されたことがあるデータを参照可能にするためのデータベースの更新を行う際の負荷を軽減することにある

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

データベースを管理するシステムであって、第1の装置と、第2の装置とを含み、前記第1の装置は、複数のレコードのそれぞれについてデータを保持する第1のデータベースと、一のレコードの更新要求に応じて、当該一のレコードについて前記第1のデータベースに保持されたデータを更新する第1の更新部とを含み、前記第2の装置は、前記複数のレコードのそれぞれについて前記第1のデータベースに保持されたことがあるデータを保持する第2のデータベースと、前記一のレコードについて前記第1のデータベースに保持されたデータの更新とは非同期に、当該一のレコードについて当該更新の前に前記第1のデータベースに保持されていたデータを、当該一のレコードについて前記第2のデータベースが保持するように、当該第2のデータベースを更新する第2の更新部とを含む、システム。

請求項2

前記第2のデータベースは、前記第1のデータベースに保持されたことがあるデータを、前記第1のデータベースに当該データが保持されていた期間に関連付けて保持する、請求項1のシステム。

請求項3

前記第1の装置は、前記一のレコードについて指定時点で前記第1のデータベースに保持されていたデータの検索要求に応じて、当該検索要求を前記第2の装置に転送する転送部を更に含み、前記第2の装置は、前記検索要求の転送に応じて、前記一のレコードについて前記指定時点を含む期間に関連付けて前記第2のデータベースに保持されているデータを検索する検索部を更に含む、請求項2のシステム。

請求項4

前記検索部は、前記指定時点よりも前に行われた前記第1のデータベースの更新の全てが前記第2のデータベースに反映された後に、前記一のレコードについて前記指定時点を含む期間に関連付けて前記第2のデータベースに保持されているデータを検索する、請求項3のシステム。

請求項5

前記検索部は、前記第1のデータベースが更新されたかどうかを最後に調べた時点が、前記指定時点よりも後である場合に、前記一のレコードについて前記指定時点を含む期間に関連付けて前記第2のデータベースに保持されているデータを検索する、請求項4のシステム。

請求項6

前記転送部は、前記一のレコードについて現時点で前記第1のデータベースに保持されているデータの検索が要求されると、現時点を前記指定時点とした前記検索要求を前記第2の装置に転送する、請求項3乃至請求項5の何れかのシステム。

請求項7

前記第2の装置は、前記第2のデータベースに保持されたデータを、前記第1の装置が前記第1のデータベースに保持されたデータを検索するよりも高速に検索可能な装置である、請求項3乃至請求項6の何れかのシステム。

請求項8

データベースを管理するシステムであって、第1の装置と、データベースに保持されたデータを前記第1の装置よりも高速に検索可能な第2の装置とを含み、前記第1の装置は、複数のレコードのそれぞれについてデータを保持する第1のデータベースと、一のレコードについて指定時点で前記第1のデータベースに保持されていたデータの検索要求に応じて、当該検索要求を前記第2の装置に転送する転送部とを含み、前記第2の装置は、前記複数のレコードのそれぞれについて前記第1のデータベースに保持されたことがあるデータを、前記第1のデータベースに当該データが保持されていた期間に関連付けて保持する第2のデータベースと、前記検索要求の転送に応じて、前記一のレコードについて前記指定時点を含む期間に関連付けて前記第2のデータベースに保持されているデータを検索する検索部とを含む、システム。

請求項9

データベースを管理する方法であって、複数のレコードのそれぞれについてデータを保持する第1のデータベースを含む第1の装置と、前記複数のレコードのそれぞれについて前記第1のデータベースに保持されたことがあるデータを保持する第2のデータベースを含む第2の装置とを含み、前記第1の装置は、一のレコードの更新要求に応じて、当該一のレコードについて前記第1のデータベースに保持されたデータを更新し、前記第2の装置は、前記一のレコードについて前記第1のデータベースに保持されたデータの更新とは非同期に、当該一のレコードについて当該更新の前に前記第1のデータベースに保持されていたデータを、当該一のレコードについて前記第2のデータベースが保持するように、当該第2のデータベースを更新する、方法。

請求項10

前記第2の装置は、前記第2のデータベースに保持されたデータを、前記第1の装置が前記第1のデータベースに保持されたデータを検索するよりも高速に検索可能な装置である、請求項9の方法。

請求項11

前記第2のデータベースは、前記第1のデータベースに保持されたことがあるデータを、前記第1のデータベースに当該データが保持されていた期間に関連付けて保持し、前記第1の装置は、前記一のレコードについて指定時点で前記第1のデータベースに保持されていたデータの検索要求に応じて、当該検索要求を前記第2の装置に転送し、前記第2の装置は、前記検索要求の転送に応じて、前記一のレコードについて前記指定時点を含む期間に関連付けて前記第2のデータベースに保持されているデータを検索する、請求項10の方法。

技術分野

0001

本発明は、データベースを管理するシステム及び方法に関する。

背景技術

0002

データベースを利用した業務処理を行うにあたり、過去の特定の時点でデータベースに記録されていた整合性の取れたデータ(静止点データ)を参照したいニーズは多い。例えば、24時間365日稼動するシステムで、所定の時刻までに行われた取引全体に対するバッチ処理を行う場合や、取引条件が変動する商品を扱うシステムで、売り上げ割引率ポイント設定との関連を分析する場合等に、上記ニーズが生ずる。

0003

従来は、このようなニーズに対して、特定の時点に対する静止点データベースを作成する手法が採用されていた(例えば、特許文献1参照)。

0004

特許文献1は、DBMSで、アプリケーションプログラムの要求に応じて、基表更新機能が、基表及び基表に付随する回復開始点更新し、更新ログ記録機能が、基表に対する更新ログを記録し、所定のタイミングで、バックアップ機能が、基表の内容をバックアップファイルに出力し、基表に付随する回復開始点をバックアップファイルに付随する回復開始点にコピーし、その後、ユーザによって静止点及び基表が指定されると、複製生成機能が、指定された基表のバックアップファイルを、更新ログの、バックアップファイルに付随する回復開始点から静止点までの部分で更新することにより、静止点における基表の複製である対象表を生成する技術を開示する。

0005

この静止点データベースを作成する手法は有効な方法ではある。しかしながら、任意の時点における静止点データを利用するための手法としては不向きである。

0006

そこで、静止点データを参照したいというニーズに対する別の手法として、テンポラルデータベースを使用する方法が考えられている(例えば、非特許文献1参照)。ここで、テンポラルデータベースとは、現在及び過去のデータを有効期間と共に格納するデータベースである。このテンポラルデータベースを使用することにより、時刻を指定して任意の時点のデータを参照することが可能となる。

0007

特開2011−86241号公報

先行技術

0008

「テンポラル表」、[online]、日本アイ・ビー・エム株式会社、[平成26年10月9日検索]、インターネット<URL:http://www-01.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.admin/src/tpc/db2z_temporaltables.dita?lang=ja>

発明が解決しようとする課題

0009

しかしながら、テンポラルデータベースを使用して静止点データを参照する方法には、次のような性能上の問題点がある。

0010

第1の問題点は、データベースを更新する際の負荷が増大してしまうという点である。これは、単一のUPDAT命令が内部的に、現在のデータに対する更新命令及び過去のデータに対する挿入命令として処理されるからである。

0011

第2の問題点は、データベースを参照する際の負荷が増大してしまうという点である。これは、現在のデータ及び過去のデータの両方から目的のデータを検索することになるからである。

0012

本発明の目的は、データベースに保持されたことがあるデータを参照可能にするためのデータベースの更新を行う際の負荷を軽減することにある。

0013

本発明の他の目的は、任意の時点でデータベースに保持されていたデータを参照する際の負荷を軽減することにある。

課題を解決するための手段

0014

かかる目的のもと、本発明は、データベースを管理するシステムであって、第1の装置と、第2の装置とを含み、第1の装置は、複数のレコードのそれぞれについてデータを保持する第1のデータベースと、一のレコードの更新要求に応じて、一のレコードについて第1のデータベースに保持されたデータを更新する第1の更新部とを含み、第2の装置は、複数のレコードのそれぞれについて第1のデータベースに保持されたことがあるデータを保持する第2のデータベースと、一のレコードについて第1のデータベースに保持されたデータの更新とは非同期に、一のレコードについて更新の前に第1のデータベースに保持されていたデータを、一のレコードについて第2のデータベースが保持するように、第2のデータベースを更新する第2の更新部とを含む、システムを提供する。

0015

ここで、第2のデータベースは、第1のデータベースに保持されたことがあるデータを、第1のデータベースにデータが保持されていた期間に関連付けて保持する、ものであってよい。

0016

また、第1の装置は、一のレコードについて指定時点で第1のデータベースに保持されていたデータの検索要求に応じて、検索要求を第2の装置に転送する転送部を更に含み、第2の装置は、検索要求の転送に応じて、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する検索部を更に含む、ものであってよい。

0017

また、検索部は、指定時点よりも前に行われた第1のデータベースの更新の全てが第2のデータベースに反映された後に、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する、ものであってよい。

0018

また、検索部は、第1のデータベースが更新されたかどうかを最後に調べた時点が、指定時点よりも後である場合に、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する、ものであってよい。

0019

また、転送部は、一のレコードについて現時点で第1のデータベースに保持されているデータの検索が要求されると、現時点を指定時点とした検索要求を第2の装置に転送する、ものであってよい。

0020

更に、第2の装置は、第2のデータベースに保持されたデータを、第1の装置が第1のデータベースに保持されたデータを検索するよりも高速に検索可能な装置であってよい。

0021

また、本発明は、データベースを管理するシステムであって、第1の装置と、データベースに保持されたデータを第1の装置よりも高速に検索可能な第2の装置とを含み、第1の装置は、複数のレコードのそれぞれについてデータを保持する第1のデータベースと、一のレコードについて指定時点で第1のデータベースに保持されていたデータの検索要求に応じて、検索要求を第2の装置に転送する転送部とを含み、第2の装置は、複数のレコードのそれぞれについて第1のデータベースに保持されたことがあるデータを、第1のデータベースにデータが保持されていた期間に関連付けて保持する第2のデータベースと、検索要求の転送に応じて、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する検索部とを含む、システムも提供する。

0022

更に、本発明は、データベースを管理する方法であって、複数のレコードのそれぞれについてデータを保持する第1のデータベースを含む第1の装置と、複数のレコードのそれぞれについて第1のデータベースに保持されたことがあるデータを保持する第2のデータベースを含む第2の装置とを含み、第1の装置は、一のレコードの更新要求に応じて、一のレコードについて第1のデータベースに保持されたデータを更新し、第2の装置は、一のレコードについて第1のデータベースに保持されたデータの更新とは非同期に、一のレコードについて更新の前に第1のデータベースに保持されていたデータを、一のレコードについて第2のデータベースが保持するように、第2のデータベースを更新する、方法も提供する。

0023

ここで、第2の装置は、第2のデータベースに保持されたデータを、第1の装置が第1のデータベースに保持されたデータを検索するよりも高速に検索可能な装置であってよい。その場合、第2のデータベースは、第1のデータベースに保持されたことがあるデータを、第1のデータベースにデータが保持されていた期間に関連付けて保持し、第1の装置は、一のレコードについて指定時点で第1のデータベースに保持されていたデータの検索要求に応じて、検索要求を第2の装置に転送し、第2の装置は、検索要求の転送に応じて、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する、ものであってよい。

発明の効果

0024

本発明によれば、データベースに保持されたことがあるデータを参照可能にするためのデータベースの更新を行う際の負荷が軽減される。

図面の簡単な説明

0025

本発明の実施の形態におけるDBシステム機能構成例を示した図である。
本発明の実施の形態におけるDBシステムのDB更新時の動作例を説明するための図である。
(a)〜(c)は、テンポラルDBの更新時における内容の遷移について示した図である。
本発明の実施の形態におけるDBシステムのDB参照時の動作例を説明するための図である。
メインフレームを構成するDBMSの動作例を示したフローチャートである。
メインフレームを構成する更新ログ捕捉部の動作例を示したフローチャートである。
DB専用装置を構成する更新ログ適用部の動作例を示したフローチャートである。
DB専用装置を構成する照会処理部の動作例を示したフローチャートである。
本発明の実施の形態を適用可能なコンピュータハードウェア構成例を示した図である。

実施例

0026

以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。

0027

[本実施の形態の概要
本実施の形態では、静止点データを参照したいデータベース(以下、「DB」と称する)を、メインフレームに通常のDBとして格納し、DB専用装置にテンポラルDBとして格納する。そして、DBの更新時には、メインフレーム上のDBを更新し、この更新をキャプチャしてDB専用装置のテンポラルDBを更新する。また、特定の静止点データを参照したい場合、メインフレームのDBMSに対し、照会対象時刻を指定したSQL発行する。すると、メインフレームのDBMSは、DB専用装置にSQL処理依頼する。これにより、DB専用装置は、テンポラルDBに照会対象時刻のデータを照会し、照会結果をメインフレームに返す。その際、DB専用装置側で反映された更新のメインフレーム上での更新時刻である更新反映済時刻が照会対象時刻に追い付いていない場合、更新反映済時刻が照会対象時刻に追い付くのを待ってデータを照会する。

0028

また、オプションとして、現在のデータを参照するために、本実施の形態の仕組みを使用してもよい。この場合、DBMSは、SQLが発行された時刻を照会対象時刻としてSQLに付加し、DB専用装置にSQL処理を依頼する。

0029

[本実施の形態におけるDBシステムの機能構成
図1は、このような概略動作を実現するためのDBシステムの機能構成例を示した図である。図示するように、このDBシステムは、メインフレーム10と、DB専用装置20とを含む。メインフレーム10は、第1の装置の一例であり、業務処理を実行する汎用コンピュータ装置である。そして、メインフレーム10は、DB11と、DBMS12と、アプリケーション13と、更新ログ記憶部14と、更新ログ捕捉部15とを含む。DB専用装置20は、第2の装置の一例であり、複数のプロセッサを用いて高速にデータを検索可能な装置である。そして、DB専用装置20は、テンポラルDB21と、更新ログ適用部22と、照会処理部23とを含む。また、メインフレーム10とDB専用装置20とは、通信手段(図示せず)で接続されているものとする。

0030

まず、メインフレーム10の構成要素について説明する。

0031

DB11は、業務処理で用いられる通常のDBである。尚、ここでは、「通常のDB」という文言を、レコードごとにデータが更新されると更新前のデータが更新後のデータによって置き換えられて常に最新のデータが保持されるDBという意味で用いている。本実施の形態では、複数のレコードのそれぞれについてデータを保持する第1のデータベースの一例として、DB11を設けている。

0032

DBMS12は、DB11を管理するための各種処理を実行するプログラムである。また、DBMS12は、アプリケーション13が発行したSQLを振り分け機構を有する。具体的には、DBに対する更新のための更新SQLに基づいてDB11を更新し、DBに対する照会のための照会SQLのうち照会対象時刻を指定しない照会SQLに基づいてDB11を参照する。これに対し、DBに対する照会のための照会SQLのうち照会対象時刻を指定した照会SQLは照会処理部23に転送する。本実施の形態では、一のレコードについて第1のデータベースに保持されたデータを更新する第1の更新部の一例として、また、一のレコードについて指定時点で第1のデータベースに保持されていたデータの検索要求を第2の装置に転送する転送部の一例として、DBMS12を設けている。

0033

アプリケーション13は、DB11を用いて業務処理を実行するプログラムである。そのために、アプリケーション13は、更新SQL又は照会SQLを発行する。

0034

更新ログ記憶部14は、DB11に対する更新が行われた際に、その更新の種別である更新種別と、その更新が行われた時刻を示す更新タイムスタンプと、その更新の内容である更新内容とを含む更新ログを記憶する。

0035

更新ログ捕捉部15は、更新ログ記憶部14に記憶された更新ログを定期的に読み取り、更新種別、更新タイムスタンプ、更新内容を更新ログ適用部22に送信する。尚、前回読み取り後に更新ログが記憶されていなければ、更新ログの読み取りを実施した読み取り実施時刻を更新ログ適用部22に送信する。本実施の形態では、第1のデータベースが更新されたかどうかを最後に調べた時点の一例として、読み取り実施時刻を用いている。

0036

次に、DB専用装置20の構成要素について説明する。

0037

テンポラルDB21は、DB11の現在及び過去のデータを有効期間と共に格納するDBである。以下では、テンポラルDB21を、現在及び過去のデータを有効期間と共に格納する1つの表からなるものとして説明するが、現在のデータを有効期間と共に格納するテンポラル表と、過去のデータを有効期間と共に格納するヒストリー表とからなるものとしてもよい。また、以下では、有効期間を、テンポラルDB21に格納されたものとして説明するが、現在及び過去のデータに何らかの形で関連付けられていれば、必ずしもテンポラルDB21に格納されていなくてよい。本実施の形態では、複数のレコードのそれぞれについて第1のデータベースに保持されたことがあるデータを保持する第2のデータベースの一例として、テンポラルDB21を設けている。

0038

更新ログ適用部22は、更新ログ捕捉部15から送られた情報に基づいてテンポラルDB21を更新する。その際、更新種別がINSERTであれば、データを挿入し、そのデータに対する有効期間の開始点に更新タイムスタンプを記録する。更新種別がUPDATEであれば、対象データをコピーし、コピーされたデータに対する有効期間の終了点に更新タイムスタンプを記録した後に、対象データを更新し、更新されたデータに対する有効期間の開始点に同じ更新タイムスタンプを記録する。更新種別がDELETEであれば、対象データに対する有効期間の終了点に更新タイムスタンプを記録する。本実施の形態では、一のレコードについて更新の前に第1のデータベースに保持されていたデータを、一のレコードについて第2のデータベースが保持するように、第2のデータベースを更新する第2の更新部の一例として、更新ログ適用部22を設けている。また、DBMS12は、DB11を更新すると更新ログを記憶し、更新ログ適用部22は、更新ログ捕捉部15が定期的に読み出した更新ログに基づいてテンポラルDB21を更新する。従って、更新ログ適用部22は、DB11の更新と非同期にテンポラルDB21を更新するものと捉えることができる。つまり、更新ログ適用部22は、一のレコードについて第1のデータベースに保持されたデータの更新とは非同期に第2のデータベースを更新する第2の更新部の一例でもある。

0039

照会処理部23は、DBMS12から送られた照会SQLに基づいて、指定された照会対象時刻に有効であったデータをテンポラルDB21から取り出す。本実施の形態では、指定時点の一例として、照会対象時刻を用いており、一のレコードについて指定時点を含む期間に関連付けて第2のデータベースに保持されているデータを検索する検索部の一例として、照会処理部23を設けている。

0040

[本実施の形態におけるDBシステムの全体動作]
(DB更新時の動作)
図2は、本実施の形態におけるDBシステムのDB更新時の動作例を説明するための図である。

0041

図示するように、まず、アプリケーション13が更新SQLを発行し、これにより、DBMS12がDB11を更新し、更新内容等を含む更新ログを更新ログ記憶部14に書き込む(ステップA)。

0042

次に、更新ログ捕捉部15が、更新ログ記憶部14から更新ログを読み込み、更新内容等を含む更新ログを更新ログ適用部22に伝送する(ステップB)。

0043

次いで、更新ログ適用部22が、更新ログ捕捉部15から伝送された更新内容等に基づいてテンポラルDB21を更新する(ステップC)。その際、更新ログ適用部22は、DBMS12が更新ログに記録した更新タイムスタンプを更新反映済時刻として保持しておく。

0044

ここで、テンポラルDB21の更新時における内容の遷移について説明する。図3(a)〜(c)は、このような内容の遷移について示した図である。図では、DB11として、保険補償に関する情報を格納したDBを例にとっている。従って、テンポラルDB21は、「保険契約ID」列及び「補償範囲」列を持つ。これらは、DB11が有していた列である。また、テンポラルDB21は、データの更新履歴を管理するために、「期間開始時」列及び「期間終了時」列も持つ。これらは、DB11が有しておらず、テンポラルDB21において新たに追加された列である。尚、図では、「保険契約ID」列が「A123」であるレコードのみを抜き出して示す。

0045

図3(a)は、DB11に対し、「保険契約ID」列が「A123」であり、「補償範囲」列が「12000」であるレコードについてINSERT命令を実行した時のテンポラルDB21の内容を示した図である。図示するように、テンポラルDB21には、このレコードが挿入される。その際、INSERT命令の実行時に記録された更新タイムスタンプが「期間開始時」列に書き込まれる。この例では、「2010−12−08−11.19.39」が書き込まれている。また、この時点では、「期間終了時」列には値が記録されておらず、最大値となっている。

0046

図3(b)は、DB11に対し、「保険契約ID」列が「A123」であるレコードについて、「補償範囲」列の「12000」を「15000」に変更するUPDATE命令を実行した時のテンポラルDB21の内容を示した図である。図示するように、テンポラルDB21には、まず、更新前のレコード全体が過去のデータとして保存される。その際、UPDATE命令の実行時に記録された更新タイムスタンプが「期間終了時」列に書き込まれる。この例では、「2010−12−08−13.04.07」が書き込まれている。また、テンポラルDB21では、更新されたレコードの「期間開始時」列に同じ更新タイムスタンプが書き込まれる。

0047

図3(c)は、DB11に対し、「保険契約ID」列が「A123」であるレコードについて、「補償範囲」列が「15000」である状態でDELETE命令を実行した時のテンポラルDB21の内容を示した図である。図示するように、テンポラルDB21には、まず、更新前のレコード全体が過去のデータとして保存される。その際、DELETE命令の実行時に記録された更新タイムスタンプが「期間終了時」列に書き込まれる。この例では、「2010−12−08−15.04.11」が書き込まれている。

0048

(DB参照時の動作)
図4は、本実施の形態におけるDBシステムのDB参照時の動作例を説明するための図である。

0049

図示するように、まず、アプリケーション13が照会対象時刻を指定して照会SQLを発行し、これにより、DBMS12がDB専用装置20の照会処理部23にデータの照会を依頼する(ステップD)。

0050

次に、照会処理部23が、テンポラルDB21に、照会対象時刻のデータを照会する(ステップE)。その際、照会処理部23は、更新ログ適用部22に対し、更新反映済時刻が照会対象時刻よりも後であることを確認する。そして、更新反映済時刻が照会対象時刻よりも後でなければ、更新反映済時刻が照会対象時刻よりも後になるのを待って、照会対象時刻のデータを照会する。つまり、例えば、テンポラルDB21に反映されていない更新があれば、その更新の反映が完了するのを待って、データを照会する。

0051

次いで、照会処理部23は、この照会の結果を、DBMS12経由でアプリケーション13に返す(ステップF)。具体的には、任意の照会対象時刻を指定したSELECT命令に応じて、「期間開始時」列の時刻と「期間終了時」列の時刻との間に照会対象時刻があるという条件を満たすデータを返す。

0052

[本実施の形態におけるDBシステムの各構成要素の動作]
(DBMSの動作)
図5は、メインフレーム10を構成するDBMS12の動作例を示したフローチャートである。尚、DBMS12は、アプリケーション13が発行したSQLを受け付けることにより、動作を開始する。

0053

動作を開始すると、DBMS12は、まず、アプリケーション13から受け付けたSQLが更新SQLであるか照会SQLであるかを判定する(ステップ101)。

0054

その結果、アプリケーション13から受け付けたSQLが更新SQLであると判定すれば、DBMS12は、この更新SQLに基づいてDB11を更新する(ステップ102)。そして、更新種別、更新タイムスタンプ、更新内容を含む更新ログを更新ログ記憶部14に記憶する(ステップ103)。

0055

一方、アプリケーション13から受け付けたSQLが照会SQLであると判定すれば、DBMS12は、照会対象時刻が指定されていない場合は、この照会SQLに基づいてDB11にデータを照会し、照会対象時刻が指定されている場合は、DB専用装置20の照会処理部23にこの照会SQLを転送することにより、データの照会を依頼する(ステップ104)。

0056

(更新ログ捕捉部の動作)
図6は、メインフレーム10を構成する更新ログ捕捉部15の動作例を示したフローチャートである。尚、更新ログ捕捉部15は、一定時間間隔で動作するものとする。

0057

動作を開始すると、更新ログ捕捉部15は、まず、更新ログ記憶部14に前回の読み取り後に更新ログが記憶されたかどうかを判定する(ステップ151)。

0058

その結果、前回の読み取り後に更新ログが記憶されたと判定すれば、その更新ログを更新ログ適用部22に伝送する(ステップ152)。尚、この更新ログには、上述したように、更新種別、更新タイムスタンプ、更新内容が含まれる。

0059

一方、前回の読み取り後に更新ログが記憶されていないと判定すれば、更新ログの読み取りを実施した読み取り実施時刻を更新ログ適用部22に伝送する(ステップ153)。

0060

(更新ログ適用部の動作)
図7は、DB専用装置20を構成する更新ログ適用部22の動作例を示したフローチャートである。尚、更新ログ適用部22は、更新ログ捕捉部15が伝送した情報を受け付けることにより、動作を開始する。

0061

動作を開始すると、更新ログ適用部22は、まず、更新ログ捕捉部15が伝送した情報が更新ログであるかどうかを判定する(ステップ201)。

0062

その結果、更新ログ捕捉部15が伝送した情報が更新ログであると判定すれば、更新ログ適用部22は、更新ログに含まれる更新内容に基づいて、テンポラルDB21を更新する(ステップ202)。その際、更新ログに含まれる更新種別に応じて、テンポラルDB21を更新する。具体的には、更新種別がINSERTである場合は、テンポラルDB21に対してレコードを追加し、更新ログの更新タイムスタンプをこのレコードの「期間開始時」列に記録する。更新種別がUPDATEである場合は、テンポラルDB21における該当レコードをコピーし、更新ログの更新タイムスタンプを、このコピーされたレコードの「期間終了時」列に記録する。その後、テンポラルDB21における該当レコードを更新し、更新ログの更新タイムスタンプを、このオリジナルのレコードの「期間開始時」列に記録する。更新種別がDELETEである場合は、テンポラルDB21における該当レコードの「期間終了時」列に更新ログの更新タイムスタンプを記録する。

0063

その後、更新ログ適用部22は、更新ログに含まれる更新タイムスタンプを更新反映済時刻として記憶する(ステップ203)。

0064

一方、更新ログ捕捉部15が伝送した情報が更新ログでないと判定すれば、つまり、読み取り実施時刻であると判定すれば、更新ログ適用部22は、読み取り実施時刻を更新反映済時刻として記憶する(ステップ204)。

0065

(照会処理部の動作)
図8は、DB専用装置20を構成する照会処理部23の動作例を示したフローチャートである。尚、照会処理部23は、DBMS12が転送した照会SQLを受け付けることにより、動作を開始する。

0066

動作を開始すると、照会処理部23は、まず、更新反映済時刻が照会対象時刻よりも後であるという条件が満たされているかどうかを判定する(ステップ251)。この判定は、照会対象時刻のデータに対する更新がテンポラルDB21に反映済みであるかどうかを調べるためのものである。ここで、更新反映済時刻としては、更新ログ適用部22に記憶されたものを用いればよく、照会対象時刻としては、照会SQLに付加して送られたものを用いればよい。

0067

その結果、更新反映済時刻が照会対象時刻よりも後であるという条件が満たされていないと判定すれば、照会処理部23は、条件が満たされるのを待つ。即ち、例えば、タイマタイムアップ待ち(ステップ252)、タイムアップすれば、条件が満たされているかどうかを再び判定する(ステップ251)。そして、更新反映済時刻が照会対象時刻よりも後であるという条件が満たされたと判定すれば、照会処理部23は、テンポラルDB21に照会対象時刻のデータを照会する(ステップ253)。その後、照会処理部23は、データの照会結果をメインフレーム10のDBMS12に返す(ステップ254)。これにより、データ照会結果は、アプリケーション13に返されることになる。

0068

(オプションの動作)
アプリケーション13が照会対象時刻を指定せずに照会SQLを発行した場合にDB専用装置20が整合性のある照会を行う機能を、オプションの機能として設けてもよい。この機能を実現するには、図5において、ステップ101でSQLが照会SQLであると判定した場合におけるステップ104の前に、SQLの発行時刻を照会対象時刻として照会SQLに付加するステップを設けるとよい。

0069

[本実施の形態の効果]
本実施の形態では、DB専用装置20側だけにテンポラルDB21を持つようにした。これにより、DB専用装置20のテンポラルDB21から任意の時点の静止点データを参照できるようになった。また、メインフレーム10上では、通常のDBであるDB11だけが更新されるため、通常の更新負荷で済むようになった。更に、メインフレーム10上のDB11をロックすることなく、REPEATABLEREADが保障された状態で静止点データを照会できるようになった。

0070

加えて、本実施の形態では、DB専用装置20をDBの参照を高速に行うことが可能な装置とした。これにより、DB専用装置20上で高速に静止点データが照会されるため、メインフレーム10には照会処理の負荷がかからないようになった。

0071

[本実施の形態を適用可能なコンピュータのハードウェア構成]
図9は、本実施の形態を適用可能なコンピュータ90のハードウェア構成例を示した図である。図示するように、コンピュータ90は、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボードチップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボードマウス90iと、光学ドライブ90jとが接続されている。

0072

尚、図9において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCIExpress対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、光学ドライブ90jについては、USB(Universal Serial Bus)を用いることができる。

0073

ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システムコンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体ソリッドステート記憶装置磁気テープ、取り外し可能なコンピュータディスケットランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リードライト(CD−R/W)及びDVDが含まれる。

0074

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。

0075

10…メインフレーム、11…DB、12…DBMS、13…アプリケーション、14…更新ログ記憶部、15…更新ログ捕捉部、20…DB専用装置、21…テンポラルDB、22…更新ログ適用部、23…照会処理部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ