JP7120985B2 - データベース管理システム、データベース管理方法、およびプログラム - Google Patents

データベース管理システム、データベース管理方法、およびプログラム Download PDF

Info

Publication number
JP7120985B2
JP7120985B2 JP2019226213A JP2019226213A JP7120985B2 JP 7120985 B2 JP7120985 B2 JP 7120985B2 JP 2019226213 A JP2019226213 A JP 2019226213A JP 2019226213 A JP2019226213 A JP 2019226213A JP 7120985 B2 JP7120985 B2 JP 7120985B2
Authority
JP
Japan
Prior art keywords
file
database
master
log file
log
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
JP2019226213A
Other languages
English (en)
Other versions
JP2021096559A (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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2019226213A priority Critical patent/JP7120985B2/ja
Publication of JP2021096559A publication Critical patent/JP2021096559A/ja
Application granted granted Critical
Publication of JP7120985B2 publication Critical patent/JP7120985B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベース管理システム、データベース管理方法、およびプログラムに関する。
近年、Intel Optane(登録商標) DC Persistent MemoryやMRAM(Magnetic Random Access Memory)といった、バイト単位でデータアクセス可能であり、且つSSD(Solid State Drive)やHDD(Hard Disk Drive)よりも高速にデータアクセスが可能であり、且つ電源喪失後もデータを保持可能な不揮発メモリがデータベースのデータ格納用のデバイスとしての注目を浴びている。不揮発メモリに格納するデータの耐障害性を高める技術として、専用のハードウェア機構を設置する特許文献1がある。また、ソフトウェア機構で不揮発メモリを含むデータ格納用デバイスに格納するデータの耐障害性を高める技術として、特許文献2がある。
国際公開第2017/183096号 特許第5941494号公報
不揮発メモリをデータベースのデータ格納用デバイスとして用いる場合、データベースの処理の継続性保証のため、不揮発メモリの障害時でもデータ処理が継続できることや、不揮発メモリの障害からの復旧時もデータ処理を継続しつつ、オンラインで障害復旧処理ができることが求められる。
しかしながら、従来技術である特許文献1では、不揮発メモリの障害時にデータ処理を継続するハードウェア技術については言及されているものの、不揮発メモリが障害から復旧した際に、障害発生前と同じ冗長度にオンラインで復旧するハードウェア技術については言及されていない。また、従来技術の特許文献2では、障害復旧時に障害発生前と同じ冗長度に復旧する場合、データの重複分散配置の契機がデータのメモリへの初期展開時となっているため、障害復旧時は、データのメモリへの初期展開が再度必要であり、オンラインで復旧できないという課題がある。
本発明は、このような事情を考慮してなされたものであり、耐障害性と、障害発生後復旧時のデータ処理継続性とを高めたデータベース管理システム、データベース管理方法、およびプログラムを提供することを目的の一つとする。
本発明の一態様は、1つ以上のプロセッサと、前記プロセッサに接続する1以上の主記憶装置と、前記プロセッサに接続する不揮発メモリ装置と、を備えるデータベース管理システムであって、前記不揮発メモリ装置に、前記データベース管理システムにおいて処理対象となるデータを格納するデータベースを生成するデータベース作成部と、前記データベースを構成する2以上のデータベースファイルまたは前記データベースファイルの更新履歴を格納する2以上のログファイルからデータを読み出す、データ読み出し部と、前記2以上のデータベースファイルのいずれか、または前記2以上のログファイルのいずれかに対する接続状況を検出する冗長性喪失検出部と、前記データベースファイルに対してデータ反映を確定させる際に、前記ログファイルに反映履歴を書き出すデータ処理確定部と、前記冗長性喪失検出部により接続状況が失われたと判定されたデータベースファイルまたは前記ログファイルがあり、接続状況が回復した場合に、前記データベースファイルおよび前記ログファイルに対して、接続状況が失われていた間の情報を反映するデータ処理取り消し部と、ファイル稼働情報に基づいて、障害が発生していた場合に接続状況が失われたと判定されたデータベースファイルまたは接続状況が失われたと判定されたログファイルを復旧するオンライン復旧部と、を備え、前記オンライン復旧部は、前記ファイル稼働情報に基づいて、前記データベースファイルおよび前記ログファイルが前記障害の発生時点の状態まで復旧できた場合に、障害発生後に更新されたログファイルに基づいて、前記接続状況が失われたと判定された着目ログファイルに、障害発生後に更新されたログファイルに含まれる所定量の更新情報を転送し、前記着目ログファイルとの差分件数と所定の閾値とを比較し、前記差分件数が閾値未満である場合に、最新の更新が反映されたログファイルと復旧中とのログファイルとの差分件数の情報を含むログファイル同期可否情報を生成し、前記接続状況が失われたと判定されたデータベースファイルおよび前記接続状況が失われたと判定されたログファイルを一度に復旧し、前記差分件数が閾値以上である場合に、転送されたログファイルの差分内容に基づいて、ログファイルの同期準備のタイミングを調整して、前記接続状況が失われたと判定されたデータベースファイルおよび前記接続状況が失われたと判定されたログファイルに前記閾値未満の差分を順次反映することで、前記接続状況が失われたと判定されたデータベースファイルおよび前記接続状況が失われたと判定されたログファイルを復旧する、データベース管理システムである。
本発明の一態様によれば、耐障害性と、障害発生後復旧時のデータ処理継続性とを高めることができる。
第1実施形態のデータベース管理システムの構成の一例を示す図である。 主記憶装置に記憶されたコンポーネントを説明する図である。 冗長化指定情報に格納される情報の一例を示す図である。 ファイル稼働情報に格納される情報の一例を示す図である。 データベース作成部によるデータベース作成処理の流れの一例を示すフローチャートである。 データ読み出し部によるデータ読み出し処理の流れの一例を示すフローチャートである。 アクセスエラー前のファイル稼働情報に格納される情報の一例を示す図である。 アクセスエラー後のファイル稼働情報に格納される情報の一例を示す図である。 冗長性喪失検出部による冗長性喪失検出処理の流れの一例を示すフローチャートである。 オンライン復旧命令を説明するための図である。 オンライン復旧部によるオンライン復旧処理の流れの一例を示すフローチャートである。 オンライン復旧部によるオンライン復旧処理の流れの一例を示すフローチャートである。 データ処理確定部による確定処理の流れの一例を示すフローチャートである。 データベース管理システムにおいて、DBサーバにおける障害発生場面を示す図である。 データベース管理システムにおいて、DBサーバの復旧が行われる場面を示す図である。 第2実施形態のデータベース管理システムの構成の一例を示す図である。 第2計算機を示す図である。 冗長化指定情報を説明するための図である。 ファイル稼働情報に格納される情報の他の一例を示す図である。
以下、図面を参照し、本発明のデータベース管理システム、情報提供方法、およびプログラムの実施形態について説明する。
[概要]
データベース管理システムは、処理対象とするデータ(データベースの処理ログを格納したログファイル)を不揮発メモリ上に配置し、専用のハードウェアを必要とせずに、オンラインでの障害復旧が可能なデータの耐障害性を持つシステムである。
データベース管理システムには、例えば、1以上のDBサーバと、1以上の外部記憶装置と、DBクライアント端末とが含まれる。
DBサーバには、例えば、1以上のCPU(Central Processing Unit)等のハードウェアプロセッサと、プロセッサに接続する2以上の主記憶装置と、プロセッサに接続する2以上の不揮発メモリとが含まれる。主記憶装置には、データベース管理プログラムや各種設定ファイルが格納される。不揮発メモリには、データベースに格納される情報が含まれるデータベースファイルと、データベースファイルの更新ログ情報が含まれるログファイルとが格納される。
プロセッサは、少なくとも自装置内の1つの不揮発メモリに格納されたデータベースファイルおよびログファイルに最新の更新情報を反映させる。以下の説明において、最新の更新情報を反映したデータベースファイルおよびログファイルを格納した不揮発メモリを「マスタ不揮発メモリ」と称する場合がある。更新情報とは、DBクライアント端末から送信された命令や、データベース管理プログラムが生成した命令などが含まれる。以下の説明において、最新の更新情報が反映されたデータベースファイルを「マスタデータベースファイル」、最新のデータベース更新情報が反映されたログファイルを「マスタログファイル」と称する。「マスタデータベースファイル」および「マスタログファイル」は有線接続対象とされるファイルのことである。
プロセッサは、マスタ不揮発メモリ以外の不揮発メモリに格納されたデータベースファイルにも、マスタデータベースファイルと同時に(または所定の遅延時間を持たせて)、マスタデータベースファイルに反映した更新情報反映させてもよい。また、プロセッサは、マスタ不揮発メモリ以外の不揮発メモリに格納されたログファイルにも、マスタログファイルと同時に(または所定の遅延時間を持たせて)、マスタログファイルに反映した更新情報を反映してもよい。これにより、プロセッサがマスタデータベースファイルおよびマスタログファイルに接続できなくなった場合であっても、マスタ不揮発メモリ以外の不揮発メモリに接続することができ、冗長性を持つことができる。
データベース管理システムは、さらに冗長性を高めるために、上述のDBサーバを2つ以上備えることが望ましい。データベース管理システムが2以上のDBサーバを備える場合、例えば、1つのDBサーバを稼働機(マスタ)とし、他の装置を待機機(スレーブ)として稼働させる。データベース管理システムは、稼働機(以下、「DBサーバ#1」)に何らかの障害が発生し(例えば、CPU自体の故障や、CPUが不揮発メモリ内のファイルに接続できなくなる場など)更新情報が反映できなくなった場合、待機機(以下、「DBサーバ#n」)を稼働機に変更して、システムの処理を継続させる。
データベース管理システムは、DBサーバ#1の障害が復旧すると、DBサーバ#1はDBサーバ#nから障害発生時からの差分更新情報を入手して、自装置のデータベースファイルおよびログファイルに反映させた後、DBサーバ#1を稼働機に戻す。
DBサーバ#1のプロセッサは、DBサーバ#nの不揮発メモリの最新の更新が反映されたログファイルと、DBサーバ#1の復旧中とのログファイルとの更新情報の差分件数が閾値未満である場合、接続状況が失われたと判定されたデータベースファイルおよび接続状況が失われたと判定されたログファイルを一度に復旧した後、DBサーバ#1を稼働機に戻す。また、DBサーバ#1のプロセッサは、差分件数が閾値以上である場合、接続状況が失われたと判定されたデータベースファイルおよび接続状況が失われたと判定されたログファイルに、更新情報を順次反映して復旧を試み、最新の更新が反映されたタイミングでDBサーバ#1を稼働機に戻す。このような構成により、データベース管理システムは、DBサーバ#nによりデータ処理を継続させた上で、DBサーバ#1のオンライン復旧が可能となることから、DBサーバ以外の外部記憶装置の冗長化機能に依存することなく、耐障害性と障害発生時のデータ処理継続性とを併せ持つことができる。
<第1実施形態>
[全体構成]
図1は、第1実施形態のデータベース管理システム1の構成の一例を示す図である。データベース管理システム1は、例えば、DBサーバ100と、外部記憶装置200と、入力インターフェース300と、DBクライアント端末700と備える。データベース管理システム1には、さらに、DBサーバ100と同様のDBサーバ400と、外部記憶装置200と同様の外部記憶装置500と、入力インターフェース300と同様の入力インターフェース600とが冗長に配置される。DBサーバ100と、外部記憶装置200と、入力インターフェース300とは、例えば、専用線を介して互いに通信する。また、DBサーバ400と、外部記憶装置500と、入力インターフェース600とは、例えば、専用線を介して互いに通信する。
DBサーバ100と、DBサーバ400と、DBクライアント端末700とは、例えば、ネットワークNWを介して互いに通信する。ネットワークNWは、例えば、WAN(Wide Area Network)やLAN(Local Area Network)、インターネット、専用回線、無線基地局、プロバイダなどを含む。
DBサーバ100は、例えば、通信部120と、1以上のCPU140と、2以上の主記憶装置160と、2以上の不揮発メモリ180とを備える。図示の例において、DBサーバ100は、CPU140-1~CPU140-m(mは自然数)を備える。CPU140-1は、主記憶装置160-1および主記憶装置160-2、不揮発メモリ180-1および不揮発メモリ180-2を更新する。また、CPU140-mは、主記憶装置160-3および主記憶装置160-4、不揮発メモリ180-3および不揮発メモリ180-4を更新する。以下の説明において、個々のCPU140-1~CPU140-mを区別しない場合には、単にCPU140と呼ぶ。また、DBサーバ100の構成要素においても同様にハイフン以下の数字を省略する場合がある。
通信部120は、有線通信または無線通信を行ってネットワークNWに接続し、ネットワークNWを介して他装置と通信する。
CPU140は、1つ以上のメモリコントローラを内包する。CPU140は、メモリコントローラを介して、主記憶装置160と不揮発メモリ180に接続可能である。CPU140は、例えば、後述する主記憶装置160に格納されたプログラムに記憶されたコンポーネント(機能部)ごとのプログラムを実行することにより、全体制御部191、起動・停止部192、データ挿入・更新・削除部193、データベース作成部194、オンライン復旧部195、データ処理確定部196、冗長性喪失検出部197、データ処理取り消し部198、およびデータ読み出し部199として機能する。各機能部については後述する。
主記憶装置160には、例えば、データベース管理プログラム160Aと、設定ファイル160Bとが格納される。データベース管理プログラム160Aは、CPU140により実行されるコンポーネント(機能部)ごとのプログラムである。設定ファイル160Bには、マスタデータベースファイルやマスタログファイルに関する情報や、DBサーバ100の接続状況に関する情報が含まれる。設定ファイル160Bに含まれる情報については後述する。
不揮発メモリ180は、DRAM(Dynamic Random Access Memory)と同様のアクセス速度で接続することができ、電源を遮断した後であってもデータが永続化される記憶装置である。不揮発メモリ180は、例えば、Intel Optane(登録商標)DC Persistent Memoryである。
不揮発メモリ180には、例えば、データベースファイル180Aと、ログファイル180Bとが格納される。データベースファイル180Aには、データベース管理システム1において処理対象となるデータベースを構成する各種データが格納されている。ログファイル180Bには、データベースファイル180Aに対する更新履歴情報が格納されている。
外部記憶装置200は、例えば、HDD(Hard Disc Drive, Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、またはRAM(Random Access Memory)などにより実現される。外部記憶装置200には、DBサーバ100が稼働機であるか待機機であるかの情報や、マスタデータベースファイルが不揮発メモリ180内のどのファイルであるか、マスタログファイルが不揮発メモリ180内のどのファイルであるかの情報などの設定情報が格納される。
入力インターフェース300は、キーボードやマウス、ディスプレイを備える端末装置である。入力インターフェース300は、例えば、タブレット端末、パーソナルコンピュータなどである。
DBクライアント端末700は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータ等である。
なお、外部記憶装置200と外部記憶装置500とは、図示のように別の装置であってもよいし、同一の装置に集約されてもよい。また、入力インターフェース300と入力インターフェース600は、図示のように別の装置であってもよいし、同一の装置に集約されてもよい。また、入力インターフェース300と入力インターフェース600は配置が省略されてもよく、その場合、例えば、DBクライアント端末700がDBサーバ100およびDBサーバ400の入力インターフェースとして機能してもよい。
例えば、データベース管理システム1は、正常時には、冗長化された全てのデータベースファイル(図示のデータベースファイル180-1A、180-2A、180-3A、180-4A、480-1A、480-2A、480-3Aおよび480-4A)、およびログファイル(図示のログファイル180-1B、180-2B、180-3B、180-4B、480-1B、480-2B、480-3Bおよび480-4B)に更新情報の反映を行う。なお、データベースファイルやログファイルからの読み込みは、冗長化された他のデータベースファイルおよびログファイルから行われてもよい。
このような構成により、例えば、DBサーバ100のCPU140や不揮発メモリ180に障害が発生した場合でも、DBサーバ400においてデータベース更新処理が継続できるようにする。また、DBサーバ100の障害が解消した場合、DBサーバ400の不揮発メモリ480に基づいてDBサーバ100の不揮発メモリ180を復旧する。復旧処理については後述する。
〔DBサーバのコンポーネント〕
以下、DBサーバ100を用いてCPU140のコンポーネントについて説明する。なお、以下の説明においては、DBサーバ100が2つの不揮発メモリ180-1および不揮発メモリ180―2を備える構成を用いて説明するが、これに限定されるものではない。また、図1に示した、DBサーバ100以外の他のDBサーバ(例えば、図示のDBサーバ400)のCPUも、以下に説明するコンポーネントが機能するものである。
図2は、主記憶装置160に記憶されたコンポーネントを説明する図である。DBサーバ100のコンポーネントは、例えば、全体制御部191と、起動・停止部192と、データ挿入・更新・削除部193と、データベース作成部194と、オンライン復旧部195と、データ処理確定部196と、冗長性喪失検出部197と、データ処理取り消し部198と、およびデータ読み出し部199とを備える。
全体制御部191は、通信部120により受信されたDBクライアント端末700からの命令に基づいて、各コンポーネントを呼び出して動作させる。例えば、通信部120を介してDBクライアント端末700からデータベース作成命令が全体制御部191に出力されると、全体制御部191はデータベース作成部194に処理命令を出力して、データベース作成処理を行わせる。
起動・停止部192は、全体制御部191により出力された、DBクライアント端末700からの接続命令や更新命令に応じて、各コンポーネントを起動させたり、停止させたりする。
データベース作成部194は、全体制御部191からの呼び出しに基づいて、データベースファイル180-1Aおよびログファイル180-1Bに対して更新命令の内容を反映させて、対象データを格納するデータベースを生成する。
オンライン復旧部195は、DBサーバ100に何らかの障害が発生し、不揮発メモリ180-1が更新されていなかった場合に、接続状況が失われたと判定されたデータベースファイル180-1Aや接続状況が失われたと判定されたログファイル180-1Bを復旧する。なお、以下の説明において、接続状況が失われたと判定されたログファイルであり、復旧対象となるログファイルを「着目ログファイル」と称する場合がある。また、同様に、接続状況が失われたと判定されたログファイルに対応付いたデータベースファイルであり、復旧対象となるデータベースファイルを「着目データベースファイル」と称する場合がある。
データ処理確定部196は、データベースファイル180-1Aに対してデータ反映を確定させる際に、ログファイル180-1Bに反映履歴を反映する。また、データ処理確定部196は、データベースファイル180-2Aに対してデータ反映を確定させる際に、ログファイル180-2Bに反映履歴を反映する。
冗長性喪失検出部197は、データベースファイル180-1Aおよび180-2A、またはログファイル180-1Bまたは180-2Bのいずれかに対する接続状況が失われたこと(着目ログファイルや着目データベースファイルが存在すること)を検出する。
データ処理取り消し部198は、冗長性喪失検出部197により接続状況が失われたと判定されたデータベースファイルまたはログファイルがあり、且つ当該ファイルの接続状況が回復した場合に、当該ファイルに対して接続状況が失われていた間の情報を反映する。
データ読み出し部199は、後述するファイル稼働情報160-1Bbを参照し、データベースファイル180-1Aおよび180-2A、またはログファイル180-1Bおよび180-2Bから該当するデータを読み出す。
外部記憶装置200には、冗長化指定情報200aと、閾値情報200bとが含まれる。冗長化指定情報200aには、冗長化構成のファイル数に関する情報が格納される。閾値情報200bには、オンライン復旧時に参照する反映件数などが格納される。
図3は、冗長化指定情報200aに格納される情報の一例を示す図である。冗長化指定情報200aには、例えば、データベースの作成命令要求を示すdbinitコマンドに加え、冗長化構成に含まれるデータベースファイルおよびログファイルのそれぞれのファイルパスや、メモリ名などの引数が格納される。
冗長化指定情報200aは、例えば、データベース管理システム1の管理者による操作を入力インターフェース300が受け付け、全体制御部191を介してデータベース作成部194に出力される。冗長化指定情報200aは、外部記憶装置200にあらかじめ格納されていてもよいし、データベース管理システム1の管理者による操作を入力インターフェース300が受け付けた場合に受け付けた操作内容に基づいて生成されてもよい。冗長化指定情報200aがあらかじめ格納されている場合、全体制御部191は、受け付けられた冗長化指定情報200aが格納されたファイルパスの指定と、データベース作成コマンドとをデータベース作成部194に出力する。
設定ファイル160-1Bには、例えば、ログファイル同期可否情報160-1Baと、ファイル稼働情報160-1Bbとが含まれる。ログファイル同期可否情報160-1Baには、ログファイルおよびデータベースファイルの同期をとるために参照するフラグ情報(着目ログファイルがどのファイルか、着目データベースファイルがどのファイルかが分かる情報)が格納される。ファイル稼働情報160-1Bbには、マスタデータベースファイルおよびマスタログファイルの配置情報や、他のデータベースファイルおよびログファイルの配置情報とそれぞれの書き込み・読み込みエラー情報が格納される。
図4は、ファイル稼働情報160-1Bbに格納される情報の一例を示す図である。ファイル稼働情報160-1Bbには、図示のように、どの不揮発メモリ180に格納されたデータベースファイルおよびログファイルがマスタファイルとして機能しているかの情報や、データベースファイルおよびログファイルの配置情報、それぞれのファイルへの接続状況が失われるなどのアクセスエラーがあった場合にはその日時情報などが格納される。
図4のファイル稼働情報160-1Bbは、例えば、ファイル作成時点などのアクセスエラーが発生していない状態における情報の例であるため、アクセスエラー日時が「NULL」になっている。
〔データベース作成処理〕
データベース作成部194は、入力インターフェース300から図4にしめすような冗長化指定情報を受信すると、その引数で指定されているデータベースファイル配置先およびログファイル配置先のそれぞれにデータベースファイル180-1A、データベースファイル180-2A、ログファイル180-1Bおよびログファイル180-2Bを配置する。
データベース作成部194は、冗長配置したデータベースファイルおよびログファイルの中から、マスタファイルを選定する。データベース作成部194は、例えば、データベースファイルの配置先引数に最初に指定された「/不揮発メモリ1/データベースファイル1」(請求項における「第1データベースファイル」)をマスタデータベースファイルとして選定する。同様に、データベース作成部194は、引数で最初に指定された「/不揮発メモリ1/ログファイル1」(請求項における「第1ログファイル」)をマスタログファイルと選定する。なお、データベースファイルの配置先引数に指定されるデータベースファイルと、ログファイル配置先引数に指定されるログファイルとは、対を成す関係である。すなわち、「/不揮発メモリ1/データベースファイル1」に対するログファイルは、「/不揮発メモリ1/ログファイル1」となり、「/不揮発メモリ2/データベースファイル1」に対するログファイルは、「/不揮発メモリ2/ログファイル1」となる。以下の説明において、データベースファイルおよびログファイルが対を成す関係であることを指して、「対応付いた」と称する場合がある。
データベース作成部194は、例えば、冗長化情報解析部194aと、データファイル冗長配置部194bと、ファイル稼働情報配置部194cとを備える。
冗長化情報解析部194aは、冗長化指定情報200aを解析し、データベースファイルとログファイルの冗長配置指定を含む、冗長化指定情報を解析する。
データファイル冗長配置部194bは、冗長化指定情報200aを参照して、DBサーバ100に内包される1つ以上の不揮発メモリ180にデータベースファイルとログファイルを冗長に配置し、冗長に配置したデータベースファイルとログファイルの各々に対して、マスタデータベースファイルおよびマスタログファイルを選定する。
ここで「マスタ」とは、DBサーバ100の稼働中に実行されるファイルのうち、ファイルの読み出し処理において選択されるファイルのことを指す。以下の説明において、マスタファイル以外のファイルを指して「スレーブ」ファイルと称する場合がある。
データファイル冗長配置部194bは、例えば、不揮発メモリ180にデータベースファイル180-1Aまたは180-2Aを配置し、さらにログファイル180-1Bまたは180-2Bを配置する。なお、データファイル冗長配置部194bは、データベースファイル180-1Aおよび180-2Aや、ログファイル180-1Bおよび180-2Bが既に存在する場合には、新たにファイルを生成せずにその既存ファイルに接続してもよい。
ファイル稼働情報配置部194cは、マスタとするデータベースファイルおよびログファイルを選定して、選定結果を格納するファイル稼働情報160-1Bbを配置する。図2の例においては、ファイル稼働情報配置部194cは、データベースファイル180-1Aをマスタとすると選定した場合、同一の不揮発メモリ180-1に格納されたログファイル180-1Bをマスタとすると選択する。
図5は、データベース作成部194によるデータベース作成処理の流れの一例を示すフローチャートである。
まず、冗長化情報解析部194aは、データベースファイルおよびログファイルの冗長配置の情報を取得する(ステップS100)。次に、データファイル冗長配置部194bは、不揮発メモリ180にデータベースファイル180-1Aおよび180-2Aを配置し(ステップS102)、さらにログファイル180-1Bまたは180-2Bを配置する(ステップS104)。次に、ファイル稼働情報配置部194cは、マスタとするデータベースファイルおよびログファイルを選定する(ステップS106)。次に、ファイル稼働情報配置部194cは、ファイル稼働情報160-1Bbを配置し(ステップS108)、本フローチャートの処理を終了する。
〔データ読み出し処理〕
データ読み出し部199は、例えば、ファイル稼働情報参照部199aと、データ読み出し実行部199bと、冗長性喪失検出呼び出し部199cとを備える。
ファイル稼働情報参照部199aは、ファイル稼働情報160-1Bbを参照し、マスタデータベースファイルとマスタログファイルに関する情報(例えば、ファイルパス)を取得する。ファイル稼働情報参照部199aは、例えば、マスタデータベースファイルはデータベースファイル180-1Aであり、マスタログファイルはログファイル180-1Bであるという情報を取得する。
データ読み出し実行部199bは、ファイル稼働情報参照部199aにより取得された情報に基づいて、データベースファイル180-1A、またはログファイル180-1Bから対象のデータを読み出す。データ読み出し実行部199bは、対象のデータの読み出しに成功した場合、読み出した結果を全体制御部191に出力して、データ挿入・更新・削除部193に出力したり、通信部120を介してDBクライアント端末700に出力させたりする。
冗長性喪失検出呼び出し部199cは、データ読み出し実行部199bによる読み出し処理において、対象のデータの読み出しに失敗した場合、冗長性喪失検出部197の機能を呼び出すことで、マスタデータベースファイルおよびマスタログファイルの切り替えを行う。冗長性喪失検出呼び出し部199cは、マスタデータベースファイルおよびマスタログファイルの切り替え完了後に自ら(またはデータ読み出し実行部199bに依頼して)再度データの読み出しを行い、データ読み出しを完了する。
図6は、データ読み出し部199によるデータ読み出し処理の流れの一例を示すフローチャートである。
まず、ファイル稼働情報参照部199aは、マスタデータベースファイルとマスタログファイルに関する情報を取得する(ステップS200)。次に、データ読み出し実行部199bは、対象のデータを読み出す(ステップS202)。次に、冗長性喪失検出呼び出し部199cは、ステップS202の処理が成功したか否かを判定する(ステップS204)。ステップS202の処理が失敗したと判定した場合、冗長性喪失検出呼び出し部199cは、冗長性喪失検出部197の機能を呼び出して(ステップS206)、処理をステップS200に戻す。ステップS202の処理が成功したと判定した場合、冗長性喪失検出呼び出し部199cは、本フローチャートの処理を終了する。
〔冗長性喪失検出処理〕
冗長性喪失検出部197は、ファイル稼働情報160-1Bbに、読み込みもしくは書き込みに失敗したファイルへのへのアクセスエラーが発生したことを示す情報(例えば、エラーが発生したことを示すフラグや、アクセスエラー日時情報)を記録する。冗長性喪失検出部197は、アクセスエラーとなったファイルがマスタファイルである場合、あらかじめ設定された冗長化情報の記載順序に従って、新たなマスタファイルを選定して、選定結果をファイル稼働情報160-1Bbに書き込む。
冗長性喪失検出部197は、例えば、ファイル稼働情報160-1Bbにアクセスエラーの情報を書き込む場合に、アクセスエラーが発生した対象のデータベースファイルおよびログファイルの双方のアクセスエラーの情報を記録する。これは、アクセスエラーが発生した不揮発メモリ180が動作不良を起こしている可能性があるためであり、不揮発メモリ180上に配置されているデータベースファイルとログファイルの双方に対するアクセスができない(またはアクセスが安定して行えない)可能性が考慮されたためである。
冗長性喪失検出部197は、例えば、アクセスエラー記録部197aと、マスタファイル切替部197bとを備える。
アクセスエラー記録部197aは、マスタデータベースファイルまたはマスタログファイルへのアクセスエラー情報を、ファイル稼働情報160-1Bbに記録する。
マスタファイル切替部197bは、アクセスエラー情報がファイル稼働情報160-1Bbに記録された場合に、マスタデータベースファイルおよびマスタログファイルの切り替えを行う。
図7は、アクセスエラー前のファイル稼働情報160-1Bbに格納される情報の一例を示す図である。図7の時点では、カラムC1が「true」であることから、「/不揮発メモリ1/データベースファイル1」のデータベースファイルがマスタデータベースファイルであり、「/不揮発メモリ1/ログファイル1」のログファイルがマスタログファイルであることが分かる。
図8は、アクセスエラー後にファイル稼働情報160-1Bbに格納される情報の一例を示す図である。図8の時点では、カラムC2が「true」である「/不揮発メモリ2/データベースファイル1」のデータベースファイルがマスタデータベースファイルであり、「/不揮発メモリ2/ログファイル1」のログファイルがマスタログファイルである。また、カラムC3には、アクセスエラーが検出されたアクセスエラー日時(または、ファイルの切り替えが行われたアクセスエラー日時)の情報が格納される。
図9は、冗長性喪失検出部197による冗長性喪失検出処理の流れの一例を示すフローチャートである。
まず、アクセスエラー記録部197aは、データ読み出し部199などからアクセスエラー情報を取得する(ステップS300)。次に、アクセスエラー記録部197aは、ファイル稼働情報160-1Bbを参照して、マスタデータベースファイルおよびマスタログファイルの情報を取得する(ステップS302)。次に、アクセスエラー記録部197aは、ステップS300において取得されたマスタファイル(マスタデータベースファイルおよびマスタログファイル)のアクセスエラーか否かを判定する(ステップS304)。マスタファイルへのアクセスエラーであると判定された場合、マスタファイル切替部197bは、ファイル稼働情報160-1Bbを参照して、アクセスエラーが発生していないデータベースファイルおよびログファイルから、新たにマスタファイルとするファイルをランダムに選択し(ステップS306)、ファイル稼働情報160-1Bbに選定結果を書き込んで(ステップS308)、本フローチャートの処理を終了する。マスタファイルへのアクセスエラーでないと判定された場合、アクセスエラー記録部197aは、当該アクセスエラーの情報をファイル稼働情報160-1Bbに書き込んで(ステップS310)、本フローチャートの処理を終了する。
〔オンライン復旧処理〕
オンライン復旧部195は、DBサーバ100に接続するCPU140または、そのCPU140と通信可能な不揮発メモリ180が故障から復旧した際、入力インターフェース300またはDBクライアント端末700を介して、データベース管理システム1の管理者からの復旧命令に従い、オンライン復旧を行う。
オンライン復旧部195は、ファイル稼働情報160-1Bbを参照してアクセスエラーが発生した情報(アクセスエラーが発生したファイル名に関する情報と、アクセスエラーの発生日時に関する情報)を取得し、オンライン復旧を行う時点でのマスタログファイルと、故障から復旧した不揮発メモリ180に配置されたログファイルを走査し、アクセスエラー発生日時以前のログファイル内の内容が一致するかを判定する。オンライン復旧部195は、ログファイル内の内容が一致しないと判定した場合(差分があった場合)に、マスタログファイルの内容を不揮発メモリ180に配置されたログファイルに転送することで、オンライン復旧を行う。
オンライン復旧部195は、例えば、ログファイル差分転送部195aと、データベースファイル復旧部195bと、閾値比較部195cと、ログファイル同期準備部195dと、ログファイル同期可否情報生成部195eとを備える。
ログファイル差分転送部195aは、ファイル稼働情報160-1Bbを参照し、アクセスエラーの情報(例えば、アクセスエラーが発生したファイル名と、アクセスエラー日時)を取得し、処理時点でのマスタログファイルと、復旧対象のログファイルを比較する。処理時点でのマスタログファイルと、復旧対象のログファイルに差分があった場合には、マスタログファイルの内容を復旧対象のログファイルに転送する。
データベースファイル復旧部195bは、復旧対象のデータベースファイルを復旧する。データベースファイル復旧部195bは、例えば、後述するログ書き出し内容変更部196eによる復旧中のログファイルに書き出すログの内容に基づいて、対象のデータベースファイルを復旧する。
閾値比較部195cは、ログファイル差分転送部195aおよびデータベースファイル復旧部195bの処理により、処理時点での各ファイルと復旧対象の各ファイルの同期が取れたことが確認できると、マスタログファイルの内容のうち、復旧対象のログファイルに未反映の差分件数と、データベース管理システム1の管理者によりあらかじめ定められた、復旧対象のログファイルに一度に情報反映する件数の閾値とを比較する。
ログファイル同期準備部195dは、閾値比較部195cによる閾値比較の結果、未反映の差分件数が閾値以上である場合、未反映の内容を閾値以下の所定量の件数に分割して、復旧対象のログファイルに分割して転送することで、マスタログファイルと復旧対象のログファイルとの差分内容が解消されるように同期を行う。さらに、ログファイル同期準備部195dは、転送の度にデータベースファイル復旧部195bを呼び出し、復旧対象のデータベースファイルを復旧する。
ログファイル同期可否情報生成部195eは、閾値比較部195cによる閾値比較の結果、未反映の差分件数が閾値未満である場合、ログファイル同期可否情報160-1Baを生成する。
図10は、オンライン復旧命令を説明するための図である。例えば、データベース管理システム1の管理者は、DBサーバ100の障害がハードウェア交換等により解消されたことに伴い、データベースファイルおよびログファイルに対するアクセスエラーが解消された後、入力インターフェース300を介して図示のオンライン復旧命令を入力する。オンライン復旧部195は、図示のように、復旧対象のマスタデータベースファイルと、処理時点(現在)のマスタデータベースファイルと、閾値の件数とを含むオンライン復旧命令を受け付け、オンライン復旧処理を行う。
図11および図12は、オンライン復旧部195によるオンライン復旧処理の流れの一例を示すフローチャートである。
まず、オンライン復旧部195は、オンライン復旧命令の受信を契機として、ファイル稼働情報160-1Bbを取得し(ステップS400)、アクセスエラー日時の情報を取得する(ステップS402)。次に、オンライン復旧部195は、復旧対象ファイル(データベースファイルおよびログファイル)が存在するか否かを判定する(ステップS404)。復旧対象ファイルがあると判定した場合、オンライン復旧部195は、復旧対象のデータベースファイルと、そのデータベースファイルに対応付いたログファイルとを特定する(ステップS406)。次に、オンライン復旧部195は、マスタログファイルと復旧対象のデータベースファイルに対応するログファイルとを比較し、アクセスエラー日時以前に書き込まれたログファイルの内容が両者で一致しているかを検証する(ステップS408)。
ステップS404において復旧対象ファイルがないと判定した場合、オンライン復旧部195は、復旧対象ファイルを再作成して(ステップS410)、ステップS406に処理を進める。
図12に移り、オンライン復旧部195は、ステップS408における検証の結果、アクセスエラー日時以前の差分があるか否かを判定する(ステップS412)。差分があると判定された場合、ログファイル差分転送部195aは、差分を復旧対象のログファイルに書き込む(ステップS414)。次に、データベースファイル復旧部195bは、復旧対象のデータベースファイルを更新して(ステップS416)、処理を図11のステップS408に戻す。
ステップS412において差分がないと判定された場合、オンライン復旧部195は、
アクセスエラー日時以降のマスタログファイルと復旧対象のログファイルとを比較して、差分件数を取得する(ステップS418)。次に閾値比較部195cは、マスタログファイルの内容のうち、復旧対象のログファイルに未反映の差分件数と、閾値とを比較する(ステップS420)。差分件数が閾値未満である場合、ログファイル同期可否情報生成部195eは、ログファイル同期可否情報160-1Baを生成する(ステップS422)。差分件数が閾値以上である場合、ログファイル差分転送部195aは、差分を復旧対象のログファイルに書き込み(ステップS424)、さらにデータベースファイル復旧部195bに復旧対象のデータベースファイルを更新させて(ステップ426)、ステップS418に処理を戻す。以上、本フローチャートの処理の説明を終了する。
〔データ処理確定処理〕
データ処理確定部196は、入力インターフェース300やDBクライアント端末700などから入力されるデータ処理確定命令(COMMITコマンド)を全体制御部191が受信した場合に、データの確定処理を実行する。データ処理確定部196は、データ処理で新規に挿入したり、更新したりする更新後のデータを、データファイル冗長配置部194bによって配置された全てのデータベースファイルとログファイルに書き込んで各ファイルを冗長配置することにより、データの耐障害性を実現する。
データ処理確定部196は、マスタログファイルには、対象ログデータをそのまま書き込むことで、データの確定処理を実行する。さらに、データ処理確定部196は、マスタデータベースファイルにも、マスタログファイルに対して反映された対象ログデータで確定する挿入や更新データを書き込む。
また、データ処理確定部196は、後述するデータ処理取り消し部198のログ書き出し内容変更部198eを介して、復旧したログファイルに、前述の対象ログデータを反映して確定するデータ操作履歴を付加する形で、ログ書き出し内容を変換して書きこませる。データ処理確定部196は、データ処理取り消し部198による処理結果に基づいて、復旧するデータベースファイルを更新して、データベースファイルおよびログファイルの同期を行う。
データ処理確定部196は、1つ以上のデータファイルと1つ以上のログファイルに上述した書き込みが成功した場合、その処理を成功とする。データ処理確定部196は、いずれかのデータファイルまたはログファイルへの書き込みが失敗した場合、冗長性喪失検出部197を呼び出して、データベースファイルおよびログファイルの冗長性構成に変化があったことを検知させる。さらにデータ処理確定部196は、冗長性喪失検出部197の処理結果(新たに選定されたマスタファイルに関する情報)に基づいて、新たに選定されたマスタファイルを対象として、データ処理確定処理を行う。
データ処理確定部196は、例えば、ログ書き出し部196aと、データファイル書き出し部196bと、冗長性喪失検出呼び出し部196cと、ログファイル同期可否情報参照部196dと、ログ書き出し内容変更部196eと、ファイル稼働情報更新部196fとを備える。
ログ書き出し部196aは、ファイル稼働情報160-1Bbを参照して、データ処理の確定時に、冗長配置したログファイルにデータ操作の履歴を書き出す。データファイル書き出し部196bは、データ処理の確定時に、冗長配置したデータベースファイルに、確定するデータ処理の内容を書き出す。
冗長性喪失検出呼び出し部196cは、ログ書き出し部196aまたはデータファイル書き出し部196bの処理においてデータファイルまたはログファイルへのアクセスが失敗した場合、冗長性喪失検出部197を呼び出す。
ログファイル同期可否情報参照部196dは、データベースファイルおよびログファイルが障害から復旧中で、マスタログファイルおよび復旧中のログファイルに差分がある場合に、ログファイル同期可否情報160-1Baを参照する。
ログ書き出し内容変更部196eは、復旧中のログファイルに書き出すログの内容を、平常時のログ書き出し内容から変更する。ログ書き出し内容変更部196eは、ログファイル同期可否情報参照部196dにより参照された、ログファイル同期可否情報160-1Baの内容に基づいて、マスタログファイルと復旧中のログファイルとを同期する処理を、差分転送により行う。
また、ログ書き出し内容変更部196eは、アクセスエラーが記録されていない1つ以上のログファイルの書き込みが成功すると、データファイル書き出し部196bに、アクセスエラーが記録されていないデータベースファイル全てにデータ操作の結果を書き込ませる。
ファイル稼働情報更新部196fは、ログ書き出し内容変更部196eによる復旧処理の後、ログファイル同期可否情報160-1Baを初期化し、さらにファイル稼働情報160-1Bbからアクセスエラー情報を削除する。これにより、オンライン復旧部195によるオンライン復旧処理が完了すると、障害復旧前のマスタデータベースファイルおよびログファイルがマスタファイルに復帰させることができるようになる。
図13は、データ処理確定部196による確定処理の流れの一例を示すフローチャートである。
まず、ログ書き出し部196aは、ファイル稼働情報160-1Bbを参照してファイル稼働情報を取得する(ステップS500)。次に、ログファイル同期可否情報参照部196dは、ログファイル同期可否情報160-1Baが主記憶装置160に存在するか確認する(ステップS502)。次に、ログファイル同期可否情報参照部196dは、ステップS502においてログファイル同期可否情報160-1Baが存在することが確認できたか否かを判定する(ステップS504)。ログファイル同期可否情報参照部196dによりログファイル同期可否情報160-1Baが存在すると判定された場合、ログ書き出し内容変更部196eは、変換前ログをアクセスエラーが記録されていない全てのログファイルを復旧対象のログファイルとして取り扱い、ファイル稼働情報160-1Bbを参照して、データ処理の確定時に、冗長配置したログファイルにデータ操作の履歴を書き出す(ステップS506)。次に、データファイル書き出し部196bは、アクセスエラーが記録されていないが、対応付くログファイルがステップS506で更新されたデータベースファイルを、ログファイルに基づいて更新する(ステップS508)。次に、ログ書き出し内容変更部196eは、変換後ログ生成を復旧対象のログファイルに書き込む(ステップS510)。次に、データファイル書き出し部196bは、復旧対象のデータベースファイルを更新する(ステップS512)。次に、ファイル稼働情報更新部196fは、ファイル稼働情報160-1Bbからアクセスエラー情報を削除し(ステップS514)、さらにログファイル同期可否情報160-1Baを削除する(ステップS516)。
ステップS504において、ログファイル同期可否情報参照部196dによりログファイル同期可否情報160-1Baが存在しないと判定された場合、ログ書き出し内容変更部196eは、アクセスエラーが記録されていないデータベースファイルの全てにデータ操作の結果を書き込む(ステップS518)。次に、データファイル書き出し部196bは、ステップS518の処理結果に従って、アクセスエラーが記録されていないデータベースファイルの全てを更新する(ステップS520)。以上、本フローチャートの処理を終了する。
〔データ処理取り消し処理〕
データ処理取り消し部198は、上述のデータ処理確定部196と同様にデータベースファイルとログファイルの同期処理および復旧処理を行う。データ処理取り消し部198による処理のうち、データ処理確定部196の処理との差異がある点は、当該データ処理で確定するデータ操作やデータ操作履歴はないため、マスタのデータベースファイルとログファイルにはゼロデータとして何も書き込まないか、ログファイルに取り消し処理が実行されたことを示す情報のみを書き込む点である。なお、データ処理取り消し部198により復旧されたログファイルには、ログ書き出し内容変更部196eを呼び出して、未反映のログデータのみ、または取り消し操作が実行されたことを示す情報のみを付加して書き込ませる。データ処理取り消し部198は、このログ書き出し内容変更部196eによる書き込みに基づいてデータベースファイルおよびログファイルの同期を行う。
〔DBサーバの復旧の流れ〕
図14は、データベース管理システム1において、DBサーバ100における障害発生場面を示す図である。データベース管理システム1は、マスタのCPU140-1の不揮発メモリ180―1および不揮発メモリ180―2に障害が発生した場合に、スレーブのDBサーバ400に切り替えることで、データの耐障害性を高める。
例えば、DBサーバ100は、DBクライアント端末700からデータ処理命令を受信する(図14の(1))。
DBサーバ100のCPU140、またはそのCPU140に接続する不揮発メモリ180-1が何らかの故障を起こすと、各コンポーネントがデータベースファイル180-1Aおよびログファイル108-1Bにアクセスできなくなる(図14の(2))。
CPU140-2は、CPU140-1の代替で処理を継続させる(図14の(3))。
〔DBサーバの復旧〕
図15は、データベース管理システム1において、DBサーバ100の復旧が行われる場面を示す図である。不揮発メモリ180-1および不揮発メモリ180-2の交換などにより、CPU140-1による処理が再開可能となると、図15に示すようなオンライン復旧が行われる。以下、CPU140-2において動作するコンポーネントは符号に「Z」を付して説明する。
不揮発メモリ180-1および不揮発メモリ180-2の交換などにより障害が解消されると、ログファイル差分転送部195aZは、不揮発メモリ180-1および不揮発メモリ180-2のログファイルの復旧のために、ログファイル差分転送処理を行う。さらに、データベースファイル復旧部195bZは、不揮発メモリ180-1および不揮発メモリ180-2のデータベースファイルの復旧のために、データベースファイル復旧処理を開始する(図15の(4))。
なお、オンライン復旧部195Zによる復旧処理の間も、CPU140-2は、DBクライアント端末700から受信したデータ処理命令を実行している(図15の(5))。
ログファイル差分転送部195aZは、残差分が0件になるまでログファイル差分転送処理を行う(図15の(6))。図示のように、ログファイル180-3Bには、(5)のデータ処理命令の反映結果である新規ログが反映されている場合、ログファイル差分転送部195aZは、さらにその新規ログを不揮発メモリ180-1に反映する。これにより、オンライン復旧処理が完了する。
なお、データ挿入・更新・削除部193は、正常稼働中の不揮発メモリ180-3のログファイル180-3Bと復旧中の不揮発メモリ180-1のログファイル180-1Bとのログファイルとの差分残数が所定値未満になることを契機に、当該データ処理の確定処理(COMMIT)または取り消し処理(ROLLBACK)を行う。
例えば、データ挿入・更新・削除部193Zにより図15の(5)の確定処理が行われると、ログファイル差分転送部195aZは、ログファイル180-3Bには対象のデータ処理履歴を書き込む。
ログファイル差分転送部195aZは、ログファイル180-1Bには、ログファイル180-3Bと同様の書き込みに加えて、未反映のデータ処理履歴も合わせて書き込みを行う。これらの書き込みがデータベースファイルへ180-1Aに反映された時点で、データ挿入・更新・削除部193Zは、確定処理を完了する。
一方、取り消し処理の場合、ログファイル差分転送部195aZは、ログファイル180-3Bには取り消し処理が行われたことを示す履歴(もしくは何も書き込まなくてもよい)が反映される。
図15の(6)の処理が完了し、残差分が0件になると、不揮発メモリ180―3および不揮発メモリ180-4と、不揮発メモリ180―1および不揮発メモリ180-2の間での同期が終了することから、CPU140-2からCPU140-1に稼働系の切替が行われてよい。
上述のように、第1実施形態のデータベース管理システム1は、DBサーバ100はマスタの不揮発メモリ180のいずれかに障害が発生した場合に、参照対象および処理対象をスレーブの不揮発メモリ180に切り替えたり、メインのCPU140を切り替えたり、待機機であるDBサーバ400に切り替えたりすることで、データの耐障害性を高めることができる。
<第2実施形態>
図16は、第2実施形態のデータベース管理システム2の構成の一例を示す図である。データベース管理システム2は、第1計算機100と、外部記憶装置200と、入力インターフェース300と、DBクライアント端末700と、第2計算機800とを備える。第1計算機100は、第1実施形態のDBサーバ100と同様の装置である。第1計算機100と、外部記憶装置200と、入力インターフェース300と、DBクライアント端末700と、第2計算機800のそれぞれはネットワークNWを介して互いに通信する。なお、第1計算機100は稼働機であり、第2計算機800は待機機であるものとして説明する。
図17は、第2計算機800を示す図である。第2計算機800は、入力インターフェース300やDBクライアント端末700から発行された起動・停止命令を第1計算機100と略同時に受信する。第2計算機800は、起動・停止命令を受信すると、各コンポーネントを起動させる。
第2計算機800は、例えば、通信部810と、全体制御部820と、データ挿入・読み出し・更新・削除部830と、メモリコントローラ840-1~840-n(nは任意の自然数)を含むCPU840と、オンライン復旧部850と、データ処理取り消し部860と、不揮発メモリ870と、データベース作成部880と、データ処理確定部890とを備える。
通信部810は、通信部120と同様の機能を有する。
全体制御部820は、全体制御部191と同様の機能を有する。全体制御部820は、ネットワークNWを介して全体制御部191からの呼び出しや命令を受信し、受信した命令に基づいて、第2計算機800の各コンポーネントを呼び出す。
データ挿入・読み出し・更新・削除部830は、データ挿入・更新・削除部193と同様の機能を有する。例えば、データ挿入・更新・削除部193は、読み出しを行うマスタデータベースファイルが第2計算機800に存在する場合は、第2計算機800上のデータ挿入・読み出し・更新・削除部(リモート)を呼び出す。呼び出しを受けたデータ挿入・読み出し・更新・削除部830は、呼び出し内容に従い、第2計算機800のデータベースファイルから、データの読み出しを行う。なお、アクセスエラーが発生した場合は、呼び出し元であるデータ挿入・更新・削除部193は、その旨を通知する。データ挿入・更新・削除部193は、通知を受信すると、アクセスエラー情報を160-1Bbに書き込む。
オンライン復旧部850は、オンライン復旧部195と同様の機能を有し、第1計算機100の障害発生時にオンライン復旧処理を行う。また、データ処理取り消し部860は、データ処理取り消し部198と同様の機能を有する。
不揮発メモリ870には、不揮発メモリ180と同様に、データベースファイル870-Aと、ログファイル870-Bとが格納される。
データベース作成部880は、データベース作成部194と同様の機能を有する。なお、データベース作成部194は、第1計算機100および第2計算機800における冗長化指定情報(以下、冗長化指定情報200aと称する)にデータベースファイルおよびログファイルを配置する(第1計算機100を復旧する)命令が含まれる場合、第2計算機800の不揮発メモリ870のデータベースファイル870-Aと、ログファイル870-Bとを呼び出して配置する。このときデータベース作成部194は、第1計算機100と第2計算機800に配置したデータベースファイルとログファイルの情報を含む、ファイル稼働情報を第1計算機100の主記憶装置160上に配置する。
図18は、冗長化指定情報200aを説明するための図である。冗長化指定情報200aには、第1計算機100および第2計算機800によって冗長化を実現させる場合には、図示のように第1計算機100および第2計算機800の双方のデータベースファイルおよびログファイルの情報が含まれる。例えば、第1計算機100のみによって冗長化を実現させる場合には、第1計算機100のデータベースファイルおよびログファイルに関する情報のみが含まれる。
冗長性喪失検出部197は、例えば、マスタデータベースファイルとログファイルが第2計算機800にあり、且つ第2計算機800に接続できないなどによりデータの読み出しがエラーとなった場合、第1計算機100のデータ読み出し部199により呼び出しを受け、アクセスエラー情報をファイル稼働情報160-1Bbに書き込む。
図19は、ファイル稼働情報160-1Bbに格納される情報の他の一例を示す図である。第2実施形態におけるファイル稼働情報160-1Bbは、図4に示した第1実施形態の一例とは異なり、データベースファイルおよびログファイルの格納先として指定されるファイルが第1計算機100のファイルであってもよいし、第2計算機800のファイルであってもよい。
データ処理確定部890は、データ処理確定部196と同様の機能を有する。
上述のように、第2実施形態のデータベース管理システム1は、第1実施形態のデータベース管理システム1と同様の効果を奏する他、第1計算機100に障害が発生した場合に、スレーブ機である第2計算機800に処理主体を切り替えることで、障害発生時のデータ処理継続性を高めることができる。
以上説明した各実施形態のデータベース管理システムによれば、オンラインで実行されているデータ確定処理またはデータ処理取り消し処理の中で、データベースファイルとログファイルの同期処理や復旧処理を行うことにより障害発生前への状態復帰を行うことができるため、復旧対象のDBサーバや復旧時の参照されるDBサーバのデータ処理を停止させることなく(サービスレベルを著しく低下させることなく)、オンラインで復旧処理を完結させることができる。また、各実施形態のデータベース管理システムによれば、復旧専用のハードウェアを必要とせず、ソフトウェア制御で、汎用的なデータの耐障害性を高めつつ、オンラインでの障害からの復旧方法を提供することができる。すなわち、各実施形態のデータベース管理システムによれば、データベースの耐障害性と障害発生後復旧時のデータ処理継続性とを高めることができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1 データベース管理システム
100 DBサーバ(第1計算機)
120 通信部
160 主記憶装置
180 不揮発メモリ
191 全体制御部
192 起動・停止部
193 データ挿入・更新・削除部
194 データベース作成部
195 オンライン復旧部
196 データ処理確定部
197 冗長性喪失検出部
198 データ処理取り消し部
199 データ読み出し部
200 外部記憶装置
300 入力インターフェース
400 DBサーバ
480 不揮発メモリ
500 外部記憶装置
600 入力インターフェース
700 DBクライアント端末
800 第2計算機
810 通信部
820 全体制御部
830 データ挿入・読み出し・更新・削除部
850 オンライン復旧部
860 データ処理取り消し部
870 不揮発メモリ
880 データベース作成部
890 データ処理確定部

Claims (5)

  1. 1つ以上のプロセッサと、
    前記プロセッサに接続する1以上の主記憶装置と、
    前記プロセッサに接続する不揮発メモリ装置と、
    を備えるデータベース管理システムであって、
    前記不揮発メモリ装置に、前記データベース管理システムにおいて処理対象となるデータを格納するデータベースを生成するデータベース作成部と、
    前記データベースを構成する2以上のデータベースファイルまたは前記データベースファイルの更新履歴を格納する2以上のログファイルからデータを読み出す、データ読み出し部と、
    前記2以上のデータベースファイルのいずれか、または前記2以上のログファイルのいずれかに対する接続状況を検出する冗長性喪失検出部と、
    前記データベースファイルに対してデータ反映を確定させる際に、前記ログファイルに反映履歴を書き出すデータ処理確定部と、
    前記冗長性喪失検出部により接続状況が失われたと判定されたデータベースファイルまたは前記ログファイルがあり、接続状況が回復した場合に、前記データベースファイルおよび前記ログファイルに対して、接続状況が失われていた間の情報を反映するデータ処理取り消し部と、
    ファイル稼働情報に基づいて、障害が発生していた場合に接続状況が失われたと判定されたデータベースファイルまたは接続状況が失われたと判定されたログファイルを復旧するオンライン復旧部と、
    を備え、
    前記オンライン復旧部は、
    前記ファイル稼働情報に基づいて、前記2以上のデータベースファイルおよび前記2以上のログファイルのうち優先接続対象となるマスターデータベースファイルおよびマスターログファイルが前記障害の発生時点の状態まで復旧できた場合に、
    前記マスターログファイルに基づいて、前記マスターログファイルと異なり前記接続状況が失われたと判定された着目ログファイルと前記マスターログファイルとの差分件数所定の閾値比較し、
    前記差分件数が閾値未満である場合に、前記差分件数の情報を含むログファイル同期可否情報を生成し、前記接続状況が失われたと判定された着目データベースファイルおよび前記着目ログファイルを一度に復旧し、
    前記差分件数が閾値以上である場合に、転送されたログファイルの差分内容に基づいて、ログファイルの同期準備のタイミングを調整して、前記着目データベースファイルおよび前記着目ログファイルに前記閾値未満の差分を順次反映することで、前記着目データベースファイルおよび前記着目ログファイルを復旧し、
    前記冗長性喪失検出部は、
    前記マスターデータベースファイル、または前記マスターログファイルに対して接続できない状況を検出した場合、前記ファイル稼働情報に検出結果を反映させ、前記2以上のデータベースファイル、または前記2以上のログファイルのうち、前記検出した時点で前記マスターデータベースファイル、または前記マスターログファイルに設定されていないデータベースファイル、または前記ログファイルを、新たな前記マスターデータベースファイル、または前記マスターログファイルに設定し、
    前記データ処理確定部は、
    データ処理の確定時に、前記2以上のログファイルのうち前記マスターログファイルに設定されていない非マスターログファイルに、データ操作の履歴を書き出し、さらに確定するデータ処理の内容を、前記2以上のデータベースファイルのうち前記マスターログファイルに設定されていない非マスターデータベースファイルに書き出し、
    前記非マスターデータベースファイルまたは前記非マスターログファイルに接続できない場合、前記冗長性喪失検出部に冗長性喪失検出処理を行わせ、
    前記非マスターデータベースファイルおよび前記非マスターログファイルが接続できない障害から復旧中である場合に、前記ログファイル同期可否情報を参照し、前記マスターログファイルと前記非マスターログファイルとの同期を差分転送により行い、
    前記差分転送された内容をもとに、前記非マスターデータベースファイルを復旧し、
    前記ログファイルおよび前記データベースファイルの復旧が完了した場合に、ログファイル同期可否情報およびアクセスエラー情報を初期化し、
    前記データベース作成部は、
    1つ以上の不揮発メモリにデータベースファイルとログファイルの冗長配置指定を行って冗長化指定情報を解析し、前記ファイル稼働情報に、前記マスターデータベースファイルと前記マスターログファイルと、前記非マスターデータベースファイルと前記非マスターログファイルの配置情報を反映させ、
    前記冗長性喪失検出部は、
    前記2以上のデータベースファイルまたは前記2以上のログファイルのそれぞれに対する、接続エラー発生日時を前記ファイル稼働情報に反映させ、
    前記接続エラーが発生したデータベースファイルまたはログファイルが前記マスターデータベースファイルまたは前記マスターログファイルである場合、代替で新たな前記マスターデータベースファイルまたは前記マスターログファイルを選定し、その選定結果を前記アクセスエラー情報に反映させ、
    前記データ処理取り消し部は、
    前記差分件数が閾値未満である場合、前記新たなマスターログファイルには、当該データ処理を確定する処理での確定内容を反映させ、さらに前記マスターログファイルであった復旧中のログファイルには、前記確定内容に加えて、前記差分内容も追加した情報を反映させる、
    データベース管理システム。
  2. 前記データベース作成部は、前記不揮発メモリ装置に、処理対象となるデータを格納する1以上のデータベースファイルと、前記データベースファイルへの処理履歴を格納する1以上のログファイルを配置し、
    配置した前記データベースファイルに対して、優先接続対象となる前記ログファイルを指示すると共に、配置した前記ログファイルに対して、優先接続対象となる前記データベースファイルを指示する、前記ファイル稼働情報を生成することで、前記データベースを構成する、
    請求項1に記載のデータベース管理システム。
  3. 前記オンライン復旧部は、前記ログファイル同期可否情報の生成時に、主となるログファイルを格納する不揮発メモリに接続するCPUに接続する主記憶装置または前記CPUを搭載する計算機装置に接続する外部記憶装置に配置する、
    請求項1または2に記載のデータベース管理システム。
  4. 1以上の主記憶装置と、
    不揮発メモリ装置と、を備えるデータベース装置を管理するデータベース管理方法であって、
    前記不揮発メモリ装置に、前記データベース管理方法において処理対象となるデータを格納するデータベースを生成し、
    前記データベースを構成する2以上のデータベースファイルまたは前記データベースファイルの更新履歴を格納する2以上のログファイルからデータを読み出し、
    前記2以上のデータベースファイルのいずれか、または前記2以上のログファイルのいずれかに対する接続状況を検出し、
    前記データベースファイルに対してデータ反映を確定させる際に、前記ログファイルに反映履歴を書き出し、
    接続状況が失われたと判定されたデータベースファイルまたは前記ログファイルがあり、接続状況が回復した場合に、前記データベースファイルおよび前記ログファイルに対して、接続状況が失われていた間の情報を反映し、
    ファイル稼働情報に基づいて、障害が発生していた場合に接続状況が失われたと判定されたデータベースファイルまたは接続状況が失われたと判定されたログファイルを復旧
    前記復旧する処理において、
    前記ファイル稼働情報に基づいて、前記2以上のデータベースファイルおよび前記2以上のログファイルのうち優先接続対象となるマスターデータベースファイルおよびマスターログファイルが前記障害の発生時点の状態まで復旧できた場合に、
    前記マスターログファイルに基づいて、前記マスターログファイルと異なり前記接続状況が失われたと判定された着目ログファイルと前記マスターログファイルとの差分件数所定の閾値比較し、
    前記差分件数が閾値未満である場合に、前記差分件数の情報を含むログファイル同期可否情報を生成し、前記接続状況が失われたと判定された着目データベースファイルおよび前記着目ログファイルを一度に復旧し、
    前記差分件数が閾値以上である場合に、転送されたログファイルの差分内容に基づいて、ログファイルの同期準備のタイミングを調整して、前記着目データベースファイルおよび前記着目ログファイルに前記閾値未満の差分を順次反映することで、前記着目データベースファイルおよび前記着目ログファイルを復旧し、
    前記接続状況を検出する処理において、
    前記マスターデータベースファイル、または前記マスターログファイルに対して接続できない状況を検出した場合、前記ファイル稼働情報に検出結果を反映させ、前記2以上のデータベースファイル、または前記2以上のログファイルのうち、前記検出した時点で前記マスターデータベースファイル、または前記マスターログファイルに設定されていないデータベースファイル、または前記ログファイルを、新たな前記マスターデータベースファイル、または前記マスターログファイルに設定し、
    前記ログファイルに反映履歴を書き出すデータ処理の確定時に、前記2以上のログファイルのうち前記マスターログファイルに設定されていない非マスターログファイルに、データ操作の履歴を書き出し、さらに確定するデータ処理の内容を、前記2以上のデータベースファイルのうち前記マスターログファイルに設定されていない非マスターデータベースファイルに書き出し、
    前記非マスターデータベースファイルまたは前記非マスターログファイルに接続できない場合、前記接続状況を検出する処理を行い、
    前記非マスターデータベースファイルおよび前記非マスターログファイルが接続できない障害から復旧中である場合に、前記ログファイル同期可否情報を参照し、前記マスターログファイルと前記非マスターログファイルとの同期を差分転送により行い、
    前記差分転送された内容をもとに、前記非マスターデータベースファイルを復旧し、
    前記ログファイルおよび前記データベースファイルの復旧が完了した場合に、ログファイル同期可否情報およびアクセスエラー情報を初期化し、
    前記データベースを作成する処理において、
    1つ以上の不揮発メモリにデータベースファイルとログファイルの冗長配置指定を行って冗長化指定情報を解析し、前記ファイル稼働情報に、前記マスターデータベースファイルと前記マスターログファイルと、前記非マスターデータベースファイルと前記非マスターログファイルの配置情報を反映させ、
    前記接続状況を検出する処理において、
    前記2以上のデータベースファイルまたは前記2以上のログファイルのそれぞれに対する、接続エラー発生日時を前記ファイル稼働情報に反映させ、
    前記接続エラーが発生したデータベースファイルまたはログファイルが前記マスターデータベースファイルまたは前記マスターログファイルである場合、代替で新たな前記マスターデータベースファイルまたは前記マスターログファイルを選定し、その選定結果を前記アクセスエラー情報に反映させ、
    前記接続状況が失われていた間の情報を反映させる処理において、
    前記差分件数が閾値未満である場合、前記新たなマスターログファイルには、当該データ処理を確定する処理での確定内容を反映させ、さらに前記マスターログファイルであった復旧中のログファイルには、前記確定内容に加えて、前記差分内容も追加した情報を反映させる、
    データベース管理方法。
  5. 1以上の主記憶装置と、
    不揮発メモリ装置と、を備えるデータベース装置を管理するためのプログラムであって、
    前記不揮発メモリ装置に、処理対象となるデータを格納するデータベースを生成し、
    前記データベースを構成する2以上のデータベースファイルまたは前記データベースファイルの更新履歴を格納する2以上のログファイルからデータを読み出し、
    前記2以上のデータベースファイルのいずれか、または前記2以上のログファイルのいずれかに対する接続状況を検出し、
    前記データベースファイルに対してデータ反映を確定させる際に、前記ログファイルに反映履歴を書き出し、
    接続状況が失われたと判定されたデータベースファイルまたは前記ログファイルがあり、接続状況が回復した場合に、前記データベースファイルおよび前記ログファイルに対して、接続状況が失われていた間の情報を反映し、
    ファイル稼働情報に基づいて、障害が発生していた場合に接続状況が失われたと判定されたデータベースファイルまたは接続状況が失われたと判定されたログファイルを復旧
    前記復旧する処理において、
    前記ファイル稼働情報に基づいて、前記2以上のデータベースファイルおよび前記2以上のログファイルのうち優先接続対象となるマスターデータベースファイルおよびマスターログファイルが前記障害の発生時点の状態まで復旧できた場合に、
    前記マスターログファイルに基づいて、前記マスターログファイルと異なり前記接続状況が失われたと判定された着目ログファイルと前記マスターログファイルとの差分件数所定の閾値比較し、
    前記差分件数が閾値未満である場合に、前記差分件数の情報を含むログファイル同期可否情報を生成し、前記接続状況が失われたと判定された着目データベースファイルおよび前記着目ログファイルを一度に復旧し、
    前記差分件数が閾値以上である場合に、転送されたログファイルの差分内容に基づいて、ログファイルの同期準備のタイミングを調整して、前記着目データベースファイルおよび前記着目ログファイルに前記閾値未満の差分を順次反映することで、前記着目データベースファイルおよび前記着目ログファイルを復旧し、
    前記接続状況を検出する処理において、
    前記マスターデータベースファイル、または前記マスターログファイルに対して接続できない状況を検出した場合、前記ファイル稼働情報に検出結果を反映させ、前記2以上のデータベースファイル、または前記2以上のログファイルのうち、前記検出した時点で前記マスターデータベースファイル、または前記マスターログファイルに設定されていないデータベースファイル、または前記ログファイルを、新たな前記マスターデータベースファイル、または前記マスターログファイルに設定し、
    前記ログファイルに反映履歴を書き出すデータ処理の確定時に、前記2以上のログファイルのうち前記マスターログファイルに設定されていない非マスターログファイルに、データ操作の履歴を書き出し、さらに確定するデータ処理の内容を、前記2以上のデータベースファイルのうち前記マスターログファイルに設定されていない非マスターデータベースファイルに書き出し、
    前記非マスターデータベースファイルまたは前記非マスターログファイルに接続できない場合、前記接続状況を検出する処理を行い、
    前記非マスターデータベースファイルおよび前記非マスターログファイルが接続できない障害から復旧中である場合に、前記ログファイル同期可否情報を参照し、前記マスターログファイルと前記非マスターログファイルとの同期を差分転送により行い、
    前記差分転送された内容をもとに、前記非マスターデータベースファイルを復旧し、
    前記ログファイルおよび前記データベースファイルの復旧が完了した場合に、ログファイル同期可否情報およびアクセスエラー情報を初期化し、
    前記データベースを作成する処理において、
    1つ以上の不揮発メモリにデータベースファイルとログファイルの冗長配置指定を行って冗長化指定情報を解析し、前記ファイル稼働情報に、前記マスターデータベースファイルと前記マスターログファイルと、前記非マスターデータベースファイルと前記非マスターログファイルの配置情報を反映させ、
    前記接続状況を検出する処理において、
    前記2以上のデータベースファイルまたは前記2以上のログファイルのそれぞれに対する、接続エラー発生日時を前記ファイル稼働情報に反映させ、
    前記接続エラーが発生したデータベースファイルまたはログファイルが前記マスターデータベースファイルまたは前記マスターログファイルである場合、代替で新たな前記マスターデータベースファイルまたは前記マスターログファイルを選定し、その選定結果を前記アクセスエラー情報に反映させ、
    前記接続状況が失われていた間の情報を反映させる処理において、
    前記差分件数が閾値未満である場合、前記新たなマスターログファイルには、当該データ処理を確定する処理での確定内容を反映させ、さらに前記マスターログファイルであった復旧中のログファイルには、前記確定内容に加えて、前記差分内容も追加した情報を反映させる、
    処理を実行させるプログラム。
JP2019226213A 2019-12-16 2019-12-16 データベース管理システム、データベース管理方法、およびプログラム Active JP7120985B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019226213A JP7120985B2 (ja) 2019-12-16 2019-12-16 データベース管理システム、データベース管理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019226213A JP7120985B2 (ja) 2019-12-16 2019-12-16 データベース管理システム、データベース管理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2021096559A JP2021096559A (ja) 2021-06-24
JP7120985B2 true JP7120985B2 (ja) 2022-08-17

Family

ID=76431498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019226213A Active JP7120985B2 (ja) 2019-12-16 2019-12-16 データベース管理システム、データベース管理方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP7120985B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366407A (ja) 2001-06-05 2002-12-20 Nec Corp データベースレプリケーションシステム、及びデータベース自動リカバリ方法
JP2007241322A (ja) 2004-04-01 2007-09-20 Nippon Telegr & Teleph Corp <Ntt> 多重化データベースシステム及びそのデータ同期化方法、仲介装置、仲介プログラム、データベースサーバ、データベースサーバプログラム
JP2007531156A (ja) 2004-03-29 2007-11-01 マイクロソフト コーポレーション データベース復旧中のスナップショットクエリのためのシステムおよび方法
WO2008129620A1 (ja) 2007-04-09 2008-10-30 Fujitsu Limited 完全二重化システム、システム制御方法およびシステム制御プログラム
JP2009042846A (ja) 2007-08-06 2009-02-26 Hitachi Ltd 分散監視制御システム
JP2011118771A (ja) 2009-12-04 2011-06-16 Sony Corp 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
JP2011248678A (ja) 2010-05-27 2011-12-08 Fujitsu Ltd データベース二重化システム、記憶装置及びデータベース二重化方法
JP2012226453A (ja) 2011-04-15 2012-11-15 Toshiba Corp データベース装置およびデータベース再編成方法
JP2015001754A (ja) 2013-06-13 2015-01-05 富士通株式会社 プログラム、情報処理システムおよびデータ更新制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366407A (ja) 2001-06-05 2002-12-20 Nec Corp データベースレプリケーションシステム、及びデータベース自動リカバリ方法
JP2007531156A (ja) 2004-03-29 2007-11-01 マイクロソフト コーポレーション データベース復旧中のスナップショットクエリのためのシステムおよび方法
JP2007241322A (ja) 2004-04-01 2007-09-20 Nippon Telegr & Teleph Corp <Ntt> 多重化データベースシステム及びそのデータ同期化方法、仲介装置、仲介プログラム、データベースサーバ、データベースサーバプログラム
WO2008129620A1 (ja) 2007-04-09 2008-10-30 Fujitsu Limited 完全二重化システム、システム制御方法およびシステム制御プログラム
JP2009042846A (ja) 2007-08-06 2009-02-26 Hitachi Ltd 分散監視制御システム
JP2011118771A (ja) 2009-12-04 2011-06-16 Sony Corp 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
JP2011248678A (ja) 2010-05-27 2011-12-08 Fujitsu Ltd データベース二重化システム、記憶装置及びデータベース二重化方法
JP2012226453A (ja) 2011-04-15 2012-11-15 Toshiba Corp データベース装置およびデータベース再編成方法
JP2015001754A (ja) 2013-06-13 2015-01-05 富士通株式会社 プログラム、情報処理システムおよびデータ更新制御方法

Also Published As

Publication number Publication date
JP2021096559A (ja) 2021-06-24

Similar Documents

Publication Publication Date Title
US7353335B2 (en) Storage control method for database recovery in logless mode
US8990613B2 (en) Data transfer and recovery
CN106776130B (zh) 一种日志恢复方法、存储装置和存储节点
CN102891849B (zh) 业务数据同步方法、恢复方法及装置和网络设备
US10019324B2 (en) Data transfer and recovery
JP4715774B2 (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
CN107329859B (zh) 一种数据保护方法及存储设备
JP5201133B2 (ja) 二重化システム、システム制御方法およびシステム制御プログラム
CN114281591A (zh) 存储节点故障处理方法、装置、设备及存储介质
US11372727B2 (en) Method, device, and computer-readable storage medium for managing storage system
JP6083480B1 (ja) 監視装置、フォールトトレラントシステムおよび方法
US9141495B2 (en) Automatic failure recovery using snapshots and replicas
JP7120985B2 (ja) データベース管理システム、データベース管理方法、およびプログラム
WO2023151443A1 (zh) 同步主备数据库
CN115955488B (zh) 基于副本冗余的分布式存储副本跨机房放置方法与装置
JP6251965B2 (ja) 情報システムおよびデータベース復旧方法
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
US20210240351A1 (en) Remote copy system and remote copy management method
JP2015095015A (ja) データ配置方法、データ配置プログラムおよび情報処理システム
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JP5488681B2 (ja) 二重化システム、制御方法および制御プログラム
JP7095296B2 (ja) 分散型構成管理装置、分散型構成管理方法、及び、分散型構成管理プログラム
JP5130538B2 (ja) ネットワークファイルシステムおよびネットワークファイルシステム復旧方法
JP6940536B2 (ja) ストレージ装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム
JP5702651B2 (ja) 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220804

R150 Certificate of patent or registration of utility model

Ref document number: 7120985

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350