JP2012069031A - データベースシステム - Google Patents

データベースシステム Download PDF

Info

Publication number
JP2012069031A
JP2012069031A JP2010214776A JP2010214776A JP2012069031A JP 2012069031 A JP2012069031 A JP 2012069031A JP 2010214776 A JP2010214776 A JP 2010214776A JP 2010214776 A JP2010214776 A JP 2010214776A JP 2012069031 A JP2012069031 A JP 2012069031A
Authority
JP
Japan
Prior art keywords
database
data
update
log
processing
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.)
Granted
Application number
JP2010214776A
Other languages
English (en)
Other versions
JP5621465B2 (ja
Inventor
Keita Iwano
桂太 岩野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010214776A priority Critical patent/JP5621465B2/ja
Publication of JP2012069031A publication Critical patent/JP2012069031A/ja
Application granted granted Critical
Publication of JP5621465B2 publication Critical patent/JP5621465B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

【課題】データベースの切り替え時に、切り替えに伴うサービスの停止時間を最小限に抑えることが可能なデータベースシステムを提供する。
【解決手段】アプリケーション部101が要求するデータ更新処理を反映したデータを保持するメモリデータベース103と、メモリデータベース103に対するデータ更新処理のログデータを管理し、ログデータをディスクデータベース106に随時反映させる更新ログ管理部104とを備え、更新ログ管理部104は、ログデータを処理順序の保持が必要な処理のログデータと順序の保持が不要な処理のログデータに分けて管理し、メモリデータベース103が使用できなくなった時は、処理順序の保持が必要な処理のログデータを全てディスクデータベース106に反映させた後、アプリケーション部101からのデータ更新処理をディスクデータベース106に直接反映させることを可能にする。
【選択図】図1

Description

本発明は、データベースシステムに関する。
メモリデータベースはディスクデータベースに比べて高速に動作するが、障害発生時にはデータが失われてしまう。そのための対策として、メモリデータベースの更新時にログを作成しておき、随時バックエンドのディスクデータベースにログを反映させていく(遅延更新)構成をとることが一般的である。
データベースの複製を作成する技術として、例えば特許文献1には、更新が行なわれるマスタデータベースと、マスタデータベースの複製を格納するレプリカと、レプリカ上のマスタデータベースの更新データに関して、特定のデータベーステーブル、優先テーブル項目及び優先キーのいずれか一つを更新する優先順位であって、高い優先順位を持つ特定の更新データを、低い優先順位を有する更新データよりも前に更新するように予め決められた優先順位を示す優先順位情報を保持する優先順位情報記憶部と、高い優先順位の更新データが低い優先順位の更新データよりも早く抽出されるように、優先順位情報に従って、更新データを読んで、更新データを抽出する振分部と、抽出された更新データでレプリカを更新する管理部とを備えたデータベースシステムが開示されている。
特許第3686564号公報
高可用性が求められるシステムにおいては、フロントのデータベースが何らかの理由で利用できなくなった場合には、一時的にバックエンドのデータベースをフロント側として機能させることになるが、その際、全てのデータをバックエンドのデータベースに反映させると時間を要し、その間はサービスを提供できないという問題がある。
特許文献1に開示されたシステムでは、指定された優先順位に従ってレプリカへのデータ反映を行っているが、フロントのデータベースが使用できなくなった際にバックエンドのデータベースに切り替える間のサービスの停止時間を短縮することには対応できない。
そこで、本発明の目的は、データベースの切り替え時に、最低限必要な情報を切り替え先のデータベースに反映させながら、切り替えに伴うサービスの停止時間を最小限に抑えることが可能なデータベースシステムを提供することである。
本発明に係るデータベースシステムは、アプリケーションが要求するデータ更新処理を反映したデータを保持するメインデータベースと、前記メインデータベースに対する前記データ更新処理のログデータを管理し、前記ログデータをサブデータベースに随時反映させる更新ログ管理部と、を備え、前記更新ログ管理部は、前記ログデータを処理順序の保持が必要な処理のログデータと順序の保持が不要な処理のログデータに分けて管理し、前記メインデータベースが使用できなくなった時は、前記処理順序の保持が必要な処理のログデータを全て前記サブデータベースに反映させた後、前記アプリケーションからのデータ更新処理を前記サブデータベースに直接反映させることを可能にするものである。
本発明によれば、データベースの切り替え時に、最低限必要な情報を切り替え先のデータベースに反映させながら、切り替えに伴うサービスの停止時間を最小限に抑えることができる。
本発明の実施の形態による、データベースシステムの構成を示すブロック図。 本発明の実施の形態による、メモリデータベースの動作のフローチャート。 本発明の実施の形態による、更新ログ管理部の機能を説明する図。 本発明の実施の形態による、更新ログ管理テーブルの構成例を示す図。 本発明の実施の形態による、メモリデータベース操作とディスクデータベース操作の対応定義の例を示す図である。 本発明の実施の形態による、データベース切り替え時の処理のフローチャート。 本発明の実施の形態による、データベース切り替え時の、アクセス制御部の処理のフローチャート。
次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
図1は、本発明の実施の形態によるデータベースシステム1の構成を示すブロック図である。図に示すように、データベースシステム1は、アプリケーション部101、アクセス制御部102、メモリデータベース103、更新ログ管理部104、メモリ/ディスクDB操作変換部105、ディスクデータベース106を備えている。
データベースシステム1は、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。なお、データベースシステム1は、単一のコンピュータにより構成されるものであっても、通信ネットワークを介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
アプリケーション部101、アクセス制御部102、更新ログ管理部104、メモリ/ディスクDB操作変換部105は、CPUがROM等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。メモリデータベース103はRAM等のメモリによって実現される。ディスクデータベース106は、ハードディスクなどの外部記憶装置によって実現される。
次に、データベースシステム1の動作について説明する。
まず、通常の動作、すなわち、メモリデータベース103が使用可能である場合の動作について説明する。
アプリケーション部101は、アクセス制御部102を介してメモリデータベース103またはディスクデータベース106にアクセスし、データベースに格納されているデータの参照や更新を行う。
アプリケーション部101は、データ更新処理を行う場合、更新内容が順序性の保持を要するものであれば、アクセス時にその情報も付加する。順序性保持の要不要はアプリケーション部101が決定する。例えば、データの内容が入出金情報等、矛盾があってはならない情報の場合は順序性保持要と判断し、データの参照やバッチ処理など、データベースシステムによるサービスの継続に必ずしも必要でない情報の場合は、順序性保持不要と判断する。
アクセス制御部102は、アプリケーション部101からのアクセスをメモリデータベース103に転送する。
メモリデータベース103の動作について図2のフローチャートを用いて説明する。
メモリデータベース103は、アプリケーション部101からのアクセスを受信すると(ステップS11)、処理内容がデータ更新の要求であるか否かを判定する(ステップS12)。ステップS12でデータ更新要求であると判断された場合(Yes)には、ステップS13に進む。データ更新要求ではない場合(No)には、ステップS14に進んでデータを返却する。
ステップS13では、アプリケーション部101に記憶されている対象データの更新データ更新を行う。さらに、ステップS15では、当該データ更新処理が、順序性保持を要するものであるか否かを判定する。順序性保持を要する更新処理である場合(Yes)には、ステップS16へ進み、更新ログ管理部104に、順序性保持を要する旨と共に更新内容を通知する。順序性保持が不要な更新処理である場合(No)には、ステップS17へ進み、更新ログ管理部104に更新内容を通知する。
更新ログ管理部104は、メモリデータベース103から通知された更新内容を更新ログ管理テーブルに格納する。図3に示すように、更新ログ管理部104は、メモリデータベース103で更新された内容を記録する更新ログ管理テーブル有している。更新ログ管理テーブルは、順序性保持を要する更新ログ用のテーブルと、順序性保持が不要な更新ログ用のテーブルがそれぞれ1つずつ用意される。
図4は、更新ログ管理テーブルの構成例を示す図である。更新ログ管理テーブルには、メモリデータベース103が更新された時刻、更新の操作種別(書き込み、削除等)、更新されたレコードのキー種別、更新後のレコードの内容等が記録される。
データベースシステム1は、メモリデータベース103の更新内容のログをディスクデータベースに反映させる遅延更新を行っている。遅延更新時、更新ログ管理部104は、システムの負荷が低い時など、適切なタイミングで、各更新ログ管理テーブルのデータを更新時刻の古いログから順に随時、メモリ/ディスクDB操作変換部105を介してディスクデータベース106に反映させていく。この時、更新ログの順序性保持の要不要は区別しない。また、ディスクデータベース106への反映が完了したログは、更新ログ管理テーブルから削除される。
メモリ/ディスクDB操作変換部105は、メモリデータベース103で実行された操作をディスクデータベース106に対応した処理に変換する。図5は、メモリデータベース103用の命令と、それに対応するSQL等、ディスクデータベース106用の命令の定義情報の例である。メモリ/ディスクDB操作変換部105は、この定義情報に従ってアプリケーション部101や更新ログ管理部104からのアクセスをディスクデータベース106用の操作に変換する。
ディスクデータベース106は、メモリ/ディスクDB操作変換部105を介して入力される更新ログ管理部104からの遅延更新情報や、メモリデータベース103停止時にはアプリケーション部101からのデータ更新・参照要求を受けて、データの更新・返却を行う。
なお、アクセス制御部102はアプリケーション部101からのアクセスをディスクデータベース106に転送する場合には、メモリ/ディスクDB操作変換部105を介して転送を行う。そのため、アプリケーション部101には、どちらのデータベースにアクセスしているかは意識させない。
次に、メモリデータベース103が使用できなくなった場合の動作について、図6、7を用いて説明する。
メモリデータベース103が障害発生等の理由で使えなくなった場合、図6に示すように、更新ログ管理部104は、まず要順序性の更新ログテーブルのログだけをディスクデータベース106に全て反映させる。反映が完了したら、アクセス制御部102に反映完了通知を送信する。通常の更新ログテーブルに残っているログデータは、適切なタイミングで随時ディスクデータベース106に反映させていく。なお、これらの更新ログ反映処理もメモリ/ディスクDB操作変換部105を通して行われる。
また、アクセス制御部102は、図7に示すように、アプリケーション部101のアクセスを検知したら(ステップS21)、メモリデータベース103にアクセス可能か否かを判定する(ステップS22)。
メモリデータベース103にアクセス可能な場合(Yes)には、メモリデータベース103に処理依頼を転送する(ステップS23)。一方、メモリデータベース103にアクセスできない場合(No)には、処理の内容が順序性を要するデータへのアクセスであるか否かを判定する(ステップS24)。
ステップS24で順序性を要するデータへのアクセスではない(No)と判定された場合には、処理依頼をメモリ/ディスクDB操作変換部105を介してディスクデータベース106に転送する(ステップS26)。
一方、ステップS24で順序性を要するデータへのアクセスである(Yes)と判定された場合には、更新ログ管理部104から、要順序性更新ログの反映完了通知を受信済みであるか否かを判定する(ステップS25)。
反映完了通知を受信している場合(ステップS25;Yes)には、処理依頼をメモリ/ディスクDB操作変換部105を介してディスクデータベース106に転送する(ステップS26)。反映完了通知を受信していない場合(ステップS25;No)には、ディスクデータベース106への転送を保留し、反映完了通知を受信次第、転送を開始する。
以上のように、本実施形態によれば、メモリデータベース103に対する更新ログデータを、順序性が必要な処理と不要な処理に分けて管理し、メモリデータベース103が使用出来なくなり、アプリケーション部101がアクセスするデータベースをディスクデータベース106に切り替える際には、順序性が必要な更新ログデータのみをディスクデータベース106に反映させたら、アプリケーション部101のディスクデータベース106へのアクセスを許可するようにした。このため、データベースの切り替え時に、最低限必要な情報を切り替え先のディスクデータベース106に反映させながら、切り替えに伴うサービスの停止時間を最小限に抑えることができる。
また、メモリデータベース103に対する更新ログにさらに反映優先度(高、中、低など)を設け、データベース切り替え時に、例えば優先度高のログを全て反映したらサービスを再開し、その他のログについては、優先度中、低の順で順次反映させるようにしてもよい。
本発明は、バックエンドのデータベースに対する遅延更新を行っており、かつ障害発生などでデータベースの切り替えを行う際に、切り替えに伴うサービス停止時間を極力短縮したいシステムに適している。
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)アプリケーションが要求するデータ更新処理を反映したデータを保持するメインデータベースと、
前記メインデータベースに対する前記データ更新処理のログデータを管理し、前記ログデータをサブデータベースに随時反映させる更新ログ管理部と、を備え、
前記更新ログ管理部は、
前記ログデータを処理順序の保持が必要な処理のログデータと順序の保持が不要な処理のログデータに分けて管理し、前記メインデータベースが使用できなくなった時は、前記処理順序の保持が必要な処理のログデータを全て前記サブデータベースに反映させた後、前記アプリケーションからのデータ更新処理を前記サブデータベースに直接反映させることを可能にする、データベースシステム。
(付記2)前記更新ログ管理部は、
各々の前記ログデータの反映優先度を管理し、前記メインデータベースから前記サブデータベースへの切り替え時には、所定の前記反映優先度を付与されたログデータを全て前記サブデータベースに反映させた後、前記アプリケーションからのデータ更新処理を前記サブデータベースに直接反映させることを可能にする、付記1に記載のデータベースシステム。
1 データベースシステム、101 アプリケーション部、102 アクセス制御部、103 メモリデータベース、104 更新ログ管理部、105 メモリ/ディスクDB操作変換部、106 ディスクデータベース

Claims (2)

  1. アプリケーションが要求するデータ更新処理を反映したデータを保持するメインデータベースと、
    前記メインデータベースに対する前記データ更新処理のログデータを管理し、前記ログデータをサブデータベースに随時反映させる更新ログ管理部と、を備え、
    前記更新ログ管理部は、
    前記ログデータを処理順序の保持が必要な処理のログデータと順序の保持が不要な処理のログデータに分けて管理し、前記メインデータベースが使用できなくなった時は、前記処理順序の保持が必要な処理のログデータを全て前記サブデータベースに反映させた後、前記アプリケーションからのデータ更新処理を前記サブデータベースに直接反映させることを可能にする、データベースシステム。
  2. 前記更新ログ管理部は、
    各々の前記ログデータの反映優先度を管理し、前記メインデータベースから前記サブデータベースへの切り替え時には、所定の前記反映優先度を付与されたログデータを全て前記サブデータベースに反映させた後、前記アプリケーションからのデータ更新処理を前記サブデータベースに直接反映させることを可能にする、請求項1に記載のデータベースシステム。
JP2010214776A 2010-09-27 2010-09-27 データベースシステム Expired - Fee Related JP5621465B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010214776A JP5621465B2 (ja) 2010-09-27 2010-09-27 データベースシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010214776A JP5621465B2 (ja) 2010-09-27 2010-09-27 データベースシステム

Publications (2)

Publication Number Publication Date
JP2012069031A true JP2012069031A (ja) 2012-04-05
JP5621465B2 JP5621465B2 (ja) 2014-11-12

Family

ID=46166194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010214776A Expired - Fee Related JP5621465B2 (ja) 2010-09-27 2010-09-27 データベースシステム

Country Status (1)

Country Link
JP (1) JP5621465B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015111152A1 (ja) * 2014-01-22 2015-07-30 株式会社日立製作所 データベース管理システム及び方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520236A (ja) * 1991-07-15 1993-01-29 Toshiba Corp システム障害時のメツセージ復旧方式
JPH05233546A (ja) * 1992-02-24 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 論理リカバリ方法
JPH06337810A (ja) * 1993-03-30 1994-12-06 Fujitsu Ltd ログデータの分類取得システム
JP2001175681A (ja) * 1999-12-21 2001-06-29 Hitachi Ltd データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001209565A (ja) * 2000-01-28 2001-08-03 Hitachi Ltd サブシステム及びこれらの統合システム
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520236A (ja) * 1991-07-15 1993-01-29 Toshiba Corp システム障害時のメツセージ復旧方式
JPH05233546A (ja) * 1992-02-24 1993-09-10 Nippon Telegr & Teleph Corp <Ntt> 論理リカバリ方法
JPH06337810A (ja) * 1993-03-30 1994-12-06 Fujitsu Ltd ログデータの分類取得システム
JP2001175681A (ja) * 1999-12-21 2001-06-29 Hitachi Ltd データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001209565A (ja) * 2000-01-28 2001-08-03 Hitachi Ltd サブシステム及びこれらの統合システム
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015111152A1 (ja) * 2014-01-22 2015-07-30 株式会社日立製作所 データベース管理システム及び方法
GB2537446A (en) * 2014-01-22 2016-10-19 Hitachi Ltd Database management system and method
JPWO2015111152A1 (ja) * 2014-01-22 2017-03-23 株式会社日立製作所 データベース管理システム及び方法
US10366075B2 (en) 2014-01-22 2019-07-30 Hitachi, Ltd. Database management system and method

Also Published As

Publication number Publication date
JP5621465B2 (ja) 2014-11-12

Similar Documents

Publication Publication Date Title
CN101090401B (zh) 一种群集环境下的数据缓存方法及系统
CN102158540A (zh) 分布式数据库实现系统及方法
US11928089B2 (en) Data processing method and device for distributed database, storage medium, and electronic device
JP2016519379A (ja) トランザクションの順序付け
JPH06162086A (ja) 遠隔データベースの制御方法及び装置
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
US20120278429A1 (en) Cluster system, synchronization controlling method, server, and synchronization controlling program
CN113268472B (zh) 一种分布式数据存储系统及方法
JP2022550401A (ja) データのアップロード方法、システム、装置及び電子機器
US7543121B2 (en) Computer system allowing any computer to copy any storage area within a storage system
US9069632B2 (en) Message processing
WO2016101759A1 (zh) 一种数据路由方法、数据管理装置和分布式存储系统
US8174966B2 (en) Switching program, switching method and duplex system
CN116501700B (zh) 一种app格式化文件离线存储方法、装置、设备及存储介质
US20120159005A1 (en) Coordination of direct i/o with a filter
JP5621465B2 (ja) データベースシステム
JP2008310591A (ja) クラスタシステム、計算機、および障害回復方法
CN111031126A (zh) 集群缓存共享方法、系统、设备及存储介质
JP4676825B2 (ja) プログラム制御方法、計算機および計算機制御プログラム
US10996986B2 (en) Method and system for scheduling i/o operations for execution
JP2010134583A (ja) データベース処理方法、データベース処理プログラム、および、データベース指示装置
KR100324276B1 (ko) 교환기에서 데이터베이스 관리 시스템의 데이터 백업 방법
US10908982B2 (en) Method and system for processing data
CN116821058B (zh) 元数据访问方法、装置、设备及存储介质
CN113886500A (zh) 一种数据处理方法、装置、服务器以及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140908

R150 Certificate of patent or registration of utility model

Ref document number: 5621465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees