JP2014222451A - データベース管理システムおよびその書き込み方式管理方法 - Google Patents

データベース管理システムおよびその書き込み方式管理方法 Download PDF

Info

Publication number
JP2014222451A
JP2014222451A JP2013102186A JP2013102186A JP2014222451A JP 2014222451 A JP2014222451 A JP 2014222451A JP 2013102186 A JP2013102186 A JP 2013102186A JP 2013102186 A JP2013102186 A JP 2013102186A JP 2014222451 A JP2014222451 A JP 2014222451A
Authority
JP
Japan
Prior art keywords
time
writing method
write
synchronous
writing
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
JP2013102186A
Other languages
English (en)
Other versions
JP6239264B2 (ja
Inventor
誠 嶋村
Makoto Shimamura
誠 嶋村
圭 山地
Kei Yamaji
圭 山地
基孝 金松
Mototaka Kanematsu
基孝 金松
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013102186A priority Critical patent/JP6239264B2/ja
Publication of JP2014222451A publication Critical patent/JP2014222451A/ja
Application granted granted Critical
Publication of JP6239264B2 publication Critical patent/JP6239264B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】データの損失を生じることなく、かつシステム全体の負荷を最適化することができるデータベース管理システムおよびその書き込み方式管理方法を提供する。【解決手段】本実施形態に係るデータベース管理システムは、マスター側データベースを具備するマスターサーバと、スレーブ側データベースを具備するスレーブサーバと、を備えるデータベース管理システムであって、マスター側データベースにデータを書き込む処理時間と書込命令に対する応答時間とを算出する処理時間算出処理部と、処理時間と応答時間から書き込み方式ごとに応答処理時間を算出し、システム全体の負荷を書き込み方式ごとに推定する負荷推定部と、応答処理時間が第1の閾値時間未満の場合は、完全同期の書き込み方式のままデータを書き込む一方、応答処理時間が第1の閾値時間以上の場合には、半同期の書き込み方式でデータを書き込むように切り替える書込方式切替部と、を備える。【選択図】 図2

Description

本実施形態は、データベース管理システムおよびその書き込み方式管理方法に関する。
近年、データの格納や操作、検索を実現する情報管理技術として、データベースが利用されている。データベースには、さまざまなデータを管理し、常にユーザが快適に利用できるように、データベースを管理するデータベース管理システムが設けられている。
データベースには、主となるデータベースを示すマスター側のデータベース(以下、これをマスターデータベースともいう。)と、このマスターデータベースと全く同じ内容のデータベース(以下、これをレプリカデータベースという。)がある。レプリカデータベースは、マスターデータベースの複製(レプリカ)であり、マスターデータベースとデータの整合性を維持することが求められている。
ここで、この種のデータベース管理システムに関するものとして、マスターデータベースのレコードについて単位時間当たりの更新回数の頻度が上限値を上回っているか否かを判別し、更新回数の頻度が上限値を上回っている場合には、レプリカデータベースを更新するために差分データをシステムに送信するデータベースが開示されている(例えば、特許文献1参照)。
特開2006−318020号公報
しかしながら、マスターデータベースの更新回数のみを監視していても、ネットワークの負荷やレプリカデータベースに生じる負荷が考慮されていないため、レプリカデータベースにデータが書き込まれるタイミングは、マスターデータベースと同期が取れていなかった。この場合、レプリカデータベースは、マスターサーバから送信されるタイミングによっては送信された差分データを損失する可能性があった。
例えば、レプリカデータベースにデータを書き込むタイミングがマスターデータベースと完全に同期が取れている場合には、レプリカデータベースは、マスターサーバから送信される差分データを損失しないと考えられる。
しかしながら、ネットワークを他のサーバや他のレプリカデータベースと共有することによりネットワーク自体が高負荷となる場合や、1つのレプリカデータベースに想定外の負荷が繰り返しかかる場合には、完全な同期が取れていないことによってデータの損失を生じることがあった。
そこで、データの損失を生じることなく、かつシステム全体の負荷を最適化することができるデータベース管理システムおよびデータベース管理システムにおける書き込み方式管理方法が要望されている。
本実施の形態に係るデータベース管理システムは、マスター側データベースを具備するマスターサーバと、スレーブ側データベースを具備するスレーブサーバと、を備えるデータベース管理システムであって、前記マスター側データベースにデータを書き込む書込命令を受け付けて前記マスター側データベースに前記データを書き込む処理時間と、前記マスターサーバから前記スレーブサーバに前記データの書込命令を行ってその書込命令に対する応答時間とを算出する処理時間算出処理部と、前記処理時間と前記応答時間とに基づいて、書き込み方式ごとに応答処理時間を算出し、前記マスターサーバと前記スレーブサーバとを含むシステム全体の負荷を書き込み方式ごとに推定する負荷推定部と、完全同期の書き込み方式のときにおいて、前記応答処理時間が予め設定された第1の閾値時間未満の場合は、前記完全同期の書き込み方式のまま前記スレーブ側データベースにデータを書き込む一方、前記応答処理時間が前記第1の閾値時間以上の場合には、半同期の書き込み方式で前記スレーブ側データベースにデータを書き込むように切り替える書込方式切替部と、を備える。
本実施形態に係るデータベース管理システムの一例を示す概略構成図。 本実施形態にかかるデータベース管理システムの機能を示した機能ブロック図。 マスターサーバが完全同期の書き込み方式でスレーブデータベースにデータを書き込むシーケンスを示したシーケンス図。 マスターサーバが半同期の書き込み方式でスレーブデータベースにデータを書き込むシーケンスを示したシーケンス図。 マスターサーバが非同期の書き込み方式でスレーブデータベースにデータを書き込むシーケンスを示したシーケンス図。 マスターサーバの書込方式切替部が、データベース管理システムの負荷により、書き込み方式を切り替えることを示した説明図。 半同期の書き込み方式から完全同期の書き込み方式に書き込み方式を切り替える場合を示した説明図。 データベース管理システムの負荷に応じて、3種類の書き込み方式から最適な書き込み方式に切り替える切替方法を示した説明図。 本実施形態に係るマスターサーバのハードウエアの構成を示したハードウエアブロック図。 本実施形態に係るスレーブサーバのハードウエアの構成を示したハードウエアブロック図。 データベース管理システムの方式切替判断部が書き込み方式を切り替える書込方式切替処理を示したフローチャート。 データベース管理システムの方式切替判断部が、書き込み方式を非同期の書き込み方式か半同期の書き込み方式に切り替える書込方式切替処理を示したフローチャート。 スレーブサーバの方式変更要求受付部が、マスターサーバの書込方式切替部から送信された書込方式切替要求に応じて書込命令受信部に設定されている書き込み方式を切り替える書込方式切替処理を示したフローチャート。
本実施形態に係るデータベース管理システムは、マスター側のデータベース(以下、これをマスターデータベースともいう。)を具備するマスターサーバと、スレーブ側のデータベース(以下、これをスレーブデータベースともいう。)を具備するスレーブサーバと、を備えている。
また、本実施形態に係るデータベース管理システムは、マスターデータベースにデータを書き込む書込命令を受け付けてマスターデータベースにデータを書き込む処理時間と、マスターサーバからスレーブサーバにデータの書込命令を行って、その書込命令に対する応答時間とを算出する処理時間算出処理部と、その算出された処理時間と応答時間とに基づいて、書き込み方式ごとに応答処理時間を算出し、マスターサーバとスレーブサーバとを含むシステム全体の負荷を書き込み方式ごとに推定する負荷推定部と、完全同期の書き込み方式のときにおいて、応答処理時間が予め設定された第1の閾値時間未満の場合は、完全同期の書き込み方式のままスレーブデータベースにデータを書き込む一方、応答処理時間が第1の閾値時間以上の場合には、半同期の書き込み方式でスレーブデータベースにデータを書き込むように切り替える書込方式切替部と、を備えている。
これにより、本実施形態に係るデータベース管理システムは、システム全体の負荷の状況に応じて、完全同期の書き込み方式または半同期の書き込み方式に書き込み方式を切り替えてスレーブデータベースにデータを書き込むことができるようになっている。
図1は、本実施形態に係るデータベース管理システム500の一例を示す概略構成図である。
図1に示すように、データベース管理システム500は、クライアント端末100、マスターサーバ200、スレーブサーバ300およびネットワーク400などを備えて構成されている。
データベース管理システム500は、例えば、列車の座席予約システム、銀行の勘定系システム(一般的には、経理会計業務システム、特に銀行の基幹系システム)などに利用される。列車の座席予約システムでは、1つの列車における利用者の座席予約の情報以外にも列車の運行情報などを管理することができるようになっている。
クライアント端末100は、例えば、列車の座席予約を行うためにユーザが入力を行うクライアント端末である。
マスターサーバ200は、例えば、記憶領域や記憶媒体から構成されるマスターデータベースに記憶されている列車の座席の予約状況を管理する管理サーバである。
スレーブサーバ300は、例えば、マスターデータベースに記憶されている列車の予約状況の複製(レプリカ)の作成とデータの管理に機能を絞った管理サーバである。なお、予約状況の複製の作成とデータを管理する機能のことをレプリケーション(replication)ともいう。
ネットワーク400は、クライアント端末100、マスターサーバ200およびスレーブサーバ300を、相互に接続するためのネットワークである。
なお、クライアント端末100、マスターサーバ200およびスレーブサーバ300は、例えば、情報処理を行う情報処理装置やパーソナルコンピュータから構成されている。
図2は、本実施形態にかかるデータベース管理システム500の機能を示した機能ブロック図である。
クライアント端末100は、アプリケーションの機能により、クライアント端末100からマスターサーバ200のマスターデータベース215にデータを書き込む依頼を行う。例えば、クライアント端末100は、SQL(Structured Query Language)を用いて列車の座席の予約をマスターデータベースに行うようになっている。
マスターサーバ200は、書込実行部210、マスターデータベース215、レプリケーション実行部220および方式切替判断部255などを備えて構成されている。
書込実行部210は、書込命令受付部212と書込処理部214とを備えて構成されている。書込命令受付部212は、クライアント端末100から送信された書込命令を受け付ける受付機能を備えている。書込処理部214は、書込命令受付部212において受け付けた書込命令に基づいて、マスターデータベース215にデータを書き込むようになっている。また、書込実行部210は、クライアント端末100から書込命令を受け付けた時間及びマスターデータベース215に書き込みが終了した時間と、マスターサーバ200からスレーブサーバ300にデータの書込命令を行ってその書込命令に対する応答時間に関する情報を記憶する機能を備えている。
マスターデータベース215は、マスターサーバ200が備えるマスターデータベースである。
レプリケーション実行部220は、書込命令送信部222と応答受信部224とを備えて構成されている。
書込命令送信部222は、書込実行部210の書込命令受付部212から書込命令を取得すると、現在設定されている書き込み方式でスレーブサーバ300に書込命令を送信する。書き込み方式には、完全同期の書き込み方式および半同期の書き込み方式が該当し、さらに非同期の書き込み方式を備えるようにしてもよい。
例えば、マスターデータベース215に書き込み処理が終了した後、書込命令送信部222は、完全同期の書き込み方式および半同期の書き込み方式の場合は、スレーブサーバ300に書込命令を送信する一方、非同期の書き込み方式の場合には、所定のタイミングで書込命令を送信する。
応答受信部224は、スレーブサーバ300から書込命令によるデータの書込処理が終了した場合にその書込命令の結果を受信するようになっている。また、応答受信部224は、書込命令の結果をクライアント端末100に送信するため、書込処理部214に書込命令の結果を送信し、書込命令受付部212を介してクライアント端末100に書込命令の結果を送信するようになっている。
方式切替判断部255は、処理時間算出処理部230、負荷推定部240および書込方式切替部250とを備えて構成されている。
処理時間算出処理部230は、書込実行部210に記憶されているクライアント端末100から書込命令を受け付けた時間及びマスターデータベース215に書き込みが終了した時間からマスターデータベース215の書き込みに要した処理時間を算出する。また、処理時間算出処理部230は、書込実行部210に記憶されているマスターサーバ200からスレーブサーバ300にデータの書込命令を行ってその書込命令に対する応答時間に関する情報から、書込命令に対する応答時間を算出する機能を有している。
負荷推定部240は、処理時間算出処理部230で算出した処理時間と応答時間とに基づいて、書き込み方式ごとに応答処理時間を算出し、マスターサーバ200とスレーブサーバ300とを含むデータベース管理システム500全体(システム全体)の負荷を書き込み方式ごとに推定する機能を有している。また、負荷推定部240は、このシステムの負荷をシステム負荷指標値とすることができる。
書込方式切替部250は、完全同期の書き込み方式のときにおいて、応答処理時間が予め設定された第1の閾値時間未満の場合は、完全同期の書き込み方式のままスレーブサーバ300のデータベース315にデータを書き込む一方、応答処理時間が第1の閾値時間以上の場合には、半同期の書き込み方式でスレーブサーバ300のデータベース315にデータを書き込むように切り替える機能を有している。
本実施形態では、方式切替判断部255は、負荷推定部240で推定したデータベース管理システム500全体の負荷(すなわち、システム負荷指標値である。)に基づいて、書込方式切替部250で書き込み方式を決定し、レプリケーション実行部220と、スレーブサーバ300の書込命令受信部310の書込み方式を設定するようになっている。
なお、本実施形態は、これに限定されるものではなく、例えば、マスターサーバ200からスレーブサーバ300に非同期のタイミングでデータを書き込む要求を行う非同期の書き込み方式をさらに備えるようにしてもよい。
この場合、方式切替判断部255は、半完全同期の書き込み方式のときにおいて、応答処理時間が第1の閾値時間未満の場合は、半同期の書き込み方式のままスレーブデータベース315にデータを書き込む一方、応答処理時間が第1の閾値時間以上の場合には、非同期の書き込み方式でスレーブデータベース315にデータを書き込むように切り替える。
スレーブサーバ300は、書込命令受信部310、スレーブデータベース315、応答返信部320および方式変更要求受付部330を備えて構成されている。
書込命令受信部310は、マスターサーバ200のレプリケーション実行部220から書込命令を受信する機能を有している。書込命令受信部310は、書込命令を受信すると、スレーブデータベース315にデータを書き込むようになっている。また、書込命令受信部310は、スレーブデータベース315にデータを書き込むと、その書込結果を応答返信部320に送出する。
応答返信部320は、書込命令受信部310から書込結果を取得すると、マスターサーバ200の応答受信部224にその書込結果を送信する。この場合、スレーブサーバ300は、マスターサーバ200の書込実行部210とレプリケーション実行部220を介して、クライアント端末100に書込結果を送信する。
方式変更要求受付部330は、マスターサーバ200の書込方式切替部250から書き込み方式を切り替える切替変更指示を受け付けるようになっている。方式変更要求受付部330は、書込方式切替部250から切替変更指示を受け付けると、その切替変更指示に基づいて書込命令受信部310に切替変更指示を出し、書込命令受信部310の書き込み方式を変更させる機能を有している。
次に、データベース管理システム500において、マスターサーバ200がスレーブサーバ300のスレーブデータベース315にデータを書き込む書き込み方式について説明する。
図3は、マスターサーバ200が完全同期の書き込み方式(以下、これを完全同期式ともいう。)でスレーブデータベース315にデータを書き込むシーケンスを示したシーケンス図である。図3において、Sに数字を付した符号は、シーケンス図の各ステップを示している。
まず、クライアント端末100は、ネットワーク400を介してマスターサーバ200に書込命令を送信する(ステップS001)。
マスターサーバ200は、書込実行部210において書込命令を受け付けると、マスターデータベース215にデータを書き込む書込処理を実行する(ステップS003)。マスターサーバ200は、マスターデータベース215にデータの書込処理が完了すると、その書き込みが完了した時間情報を書込実行部210において記憶し、レプリケーション実行部220がスレーブサーバ300に書込命令を送信する(ステップS005)。
スレーブサーバ300は、書込命令受信部310において書込命令を受信し、スレーブデータベース315にデータを書き込む(ステップS007)。
スレーブサーバ300は、書込命令受信部310がスレーブデータベース315に書込処理を行った後、応答返信部320から書込結果を(例えば、書込成功)マスターサーバ200に返信する(ステップS009)。
マスターサーバ200は、スレーブサーバ300から受信した書込結果(例えば、書込成功)を、レプリケーション実行部220と書込実行部210を介してクライアント端末100に送信する(ステップS011)。マスターサーバ200は、レプリケーション実行部220から書込命令を送信し、応答返信部320から応答を受信するまでの時間情報を書込命令に対する応答時間に関する情報として書込実行部210において記憶する。
このように、マスターサーバ200は、マスターデータベース215にデータを書き込んだ後、スレーブサーバ300のスレーブデータベース315にデータを書き込み、スレーブサーバ300のスレーブデータベース315においてデータの書込処理が成功すると、クライアント端末100に応答を送信するようになっている。
なお、データベース管理システム500の初期設定は、完全同期の書き込み方式が設定されているものとする。次に、半同期の書き込み方式について説明する。
図4は、マスターサーバ200が半同期の書き込み方式(以下、これを半同期式ともいう。)でスレーブデータベース315にデータを書き込むシーケンスを示したシーケンス図である。図4において、Sに数字を付した符号は、シーケンス図の各ステップを示している。なお、図3と同じステップの箇所には同一の符号を付し、適宜、説明を省略する。
図4に示す半同期の書き込み方式による書込処理が、図3に示す完全同期の書き込み方式による書込処理と異なる点は、マスターサーバ200においてステップS003の書込処理が完了した後の処理が異なる。
具体的には、マスターサーバ200は、レプリケーション実行部220からスレーブサーバ300に書込命令を送信するとともに(ステップS005)、クライアント端末100に書込結果(例えば、書込成功)を送信する送信処理を行う点である(ステップS101)。
この場合、マスターサーバ200は、スレーブサーバ300からの書込結果(いわゆる応答)を待たないでクライアント端末100に書込結果を送信するので(ステップS101)、完全同期の書き込み方式よりも高速にクライアント端末100に書込結果を送信することができる。また、ステップS005のタイミングとステップS101のタイミングは、同時であってもよい。
また、本実施形態では、完全同期の書き込み方式と半同期の書き込み方式の他に非同期の書き込み方式(以下、これを非同期式ともいう。)をさらに備えることができる。次に、非同期の書き込み方式について説明する。
図5は、マスターサーバ200が非同期の書き込み方式でスレーブデータベース315にデータを書き込むシーケンスを示したシーケンス図である。図5において、Sに数字を付した符号は、シーケンス図の各ステップを示している。なお、図3と同じステップの箇所には同一の符号を付し、適宜、説明を省略する。
図5に示す非同期の書き込み方式による書込処理が、図3に示す完全同期の書き込み方式による書込処理と異なる点は、マスターサーバ200においてステップS003の書込処理が完了した後、マスターサーバ200は、スレーブサーバ300に書込命令をすぐには送信せず、一定時間の経過後または一定量の書込命令が一定量蓄積されるまで待機した後、まとめて書込命令を送信する点である。
具体的には、マスターサーバ200は、書込命令を受信して書込処理が完了すると(ステップS003)、スレーブサーバ300に書込命令を出さずクライアント端末100に書込結果(例えば、書込成功)を送信する(ステップS201)。
また、次にクライアント端末100がマスターサーバ200に書込命令を送信すると(ステップS021)、マスターサーバ200は、マスターデータベース215に書込処理を行い(ステップS023)、書込処理が終了する度にクライアント端末100に書込結果(例えば、書込成功)を送信する(ステップS221)。
その後、マスターサーバ200は、一定時間の経過後または一定量の書込命令が蓄積された後に、スレーブサーバ300に書込命令をまとめて送信する(ステップS205)。スレーブサーバ300は、スレーブデータベース315にデータを書き込む書込処理を一括して行った後(ステップS207)、マスターサーバ200に書込結果(例えば、書込成功)を送信する(ステップS209)。
非同期の書き込み方式の場合は、マスターサーバ200は、クライアント端末100に早期に応答を送信する一方、スレーブサーバ300に書込命令を送信するタイミングを所定のタイミングに設定したり一定量の書込命令をまとめて送信する。また、これに限定されるものではなく、例えば、データベース管理システム500のシステムの負荷が軽いとき、すなわち応答処理時間が短いときに書込命令を送信するように設定することもできる。このように、マスターサーバ200は、書き込み方式が非同期の書き込み方式の場合には、スレーブデータベース315にシステム全体の負荷が軽い状態で、データを書き込むことができる。
次に、方式切替判断部255がデータベース管理システム500の負荷に応じて書き込み方式を変更する方法について、説明する。
なお、本実施形態では、完全同期の書き込み方式、半完全の書き込み方式および非同期の書き込み方式の3つの方式について書き込み方式を切り替える場合について説明するが、本実施形態はこれに限定されるものではない。例えば、完全同期の書き込み方式と半完全の書き込み方式の2つの方式を備え、この2つの書き込み方式を切り替えるように設定してもよい。
図6は、マスターサーバ200の方式切替判断部255が、データベース管理システム500の負荷により、書き込み方式を切り替えることを示した説明図である。
図6では、負荷推定部240が推定するデータベース管理システム500の負荷により、書き込み方式を3つの方式の中うち、いずれかの方式に切り替えることを示している。ここで、図6の横軸は、推定されたシステム全体の負荷を示す一方、縦軸では、応答処理時間を示している。また、初期設定は、完全同期の書き込み方式である。
負荷推定部240は、処理時間算出処理部230において算出された書き込みに要する処理時間とスレーブサーバ300からの応答時間に基づいて、応答処理時間からシステム全体の負荷を推定しており、データベース管理システム500のシステム全体の負荷が大きくなると、処理時間算出処理部230で算出される応答処理時間は、線形的に遅くなる。
また、本実施形態に係るデータベース管理システム500では、一定の書込み性能を維持するために、応答時間に対して設定された性能保証ラインSLが設定されており、方式切替判断部255では、その性能保証ラインSLを超えないように、固定値である閾値α(第1の閾値時間)が予め設定される。
ここで、データベース管理システム500を最初に稼働させたときは、まず完全同期の書き込み方式(完全同期式)で稼働し、処理時間算出処理部230で算出した処理時間と応答時間に基づくシステム全体の負荷が閾値α以上となるとき、方式切替判断部255は、書込み方式を完全同期の書き込み方式(完全同期式)から半同期の書き込み方式(半同期式)に切り替える。データベース管理システム500は、書き込み方式を半同期の書き込み方式に変更することにより、データベース管理システム500の負荷を小さくして、書込命令を実行することができる。
また、書き込み方式を半同期の書き込み方式に変更した後でデータベース管理システム500の負荷が大きくなると、処理時間算出処理部230で算出される応答処理時間は、遅くなる。例えば、方式切替判断部255は、応答時間が遅くなることによってシステムの負荷を示す応答処理時間が閾値α以上になるときは、半同期の書き込み方式(半同期式)から非同期の書き込み方式(非同期式)に書き込み方式を切り替える。このように、データベース管理システム500は、書き込み方式を半同期の書き込み方式に変更することにより、書込命令処理を実行することができる。
また、本実施形態では、データベース管理システム500の負荷が軽減した場合にも、書き込み方式を切り替えて変更することができるようになっている。具体的には、データベース管理システム500は、システム全体の負荷の軽減によって書き込み方式を非同期の書き込み方式から半同期の書き込み方式に切り替えたり、書き込み方式を半同期の書き込み方式から完全同期の書き込み方式に切り替えることができる。以下、どのように書き込み方式を切り替えるか説明する。
図7は、半同期の書き込み方式から完全同期の書き込み方式に書き込み方式を切り替える場合を示した説明図である。
図7に示すように、半同期の書き込み方式が設定されているデータベース管理システム500全体の負荷が閾値β未満になった場合、方式切替判断部255は、書き込み方式を完全同期の書き込み方式に切り替えることを示している。
これは、データベース管理システム500におけるシステムの負荷が下がったことに伴い、マスターサーバ200の書込要求に対し、性能保証ラインSLを超えない範囲で一定の性能を満たしつつ、完全同期の書き込み方式にてデータを書き込むように書き込み方式を切り替えることを意味している。
なお、データベース管理システム500が非同期の書き込み方式で設定されている場合にも同様に、システム全体の負荷を示す応答時間が閾値β未満まで下がった場合は、方式切替判断部255は、書き込み方式を半同期の書き込み方式に変更することができる。
図8は、データベース管理システム500の負荷に応じて、3種類の書き込み方式のうち、いずれかの最適な書き込み方式に切り替える切替方法を示した説明図である。
データベース管理システム500の処理時間算出処理部230(図2)は、例えば、1分間に1回や2分間に1回など定期的に応答処理時間の平均値を算出している。図8に示すように、処理時間算出処理部230で算出した応答処理時間の平均値がそれぞれの書き込み方式に割り当てられた閾値に到達したとき、方式切替判断部255は、書込方式切替部250において書き込み方式を切り替える。
具体的には、方式切替判断部255は、完全同期の書き込み方式の場合において応答処理時間が閾値α以上になる場合には半同期の書き込み方式に切り替える一方、半同期の書き込み方式の場合において応答処理時間が閾値β1未満になる場合には、完全同期の書き込み方式に切り替える。また、方式切替判断部255は、半同期の書き込み方式の場合において応答処理時間が閾値α以上になる場合には非同期の書き込み方式に切り替える一方、非同期の書き込み方式の場合において応答処理時間が閾値β2未満になる場合には、半同期の書き込み方式に切り替える。
なお、図8の閾値β1は、半同期の書き込み方式における下限を示す時間であり、閾値β2は、非同期の書き込み方式における下限を示す時間である。そのため、閾値β1と閾値β2は同値であってもよく、また、異なる値であってもよい。
また、システム全体の負荷を示す応答処理時間は、マスターデータベース215にデータを書き込む処理時間と、スレーブサーバ300からの応答時間とによって算出されているので、例えば、スレーブサーバ300からの応答時間に基づいて、閾値β1や閾値β2を設定するようにしてもよい。具体的には、半同期の書き込み方式の場合において最初に得られた応答時間の50%の時間を閾値β1とし、非同期の書き込み方式の場合において最初に得られた応答時間の50%の時間を閾値β2とすることができる。
また、本実施形態では、閾値β1と閾値β2を有するだけでなく、書き込み方式を切り替えたときに閾値β1と閾値β2の値を動的に調整し、書き込み方式の切り替えによって切替処理が振動しないように閾値β1と閾値β2に調整時間を加算したり引き算するようにしてもよい。
例えば、方式切替判断部255は、完全同期の書き込み方式に切り替えた後、システム全体の負荷に基づいて、所定の時間内に完全同期の書き込み方式から半同期の書き込み方式に書き込み方式を切り替えた場合は、閾値β1(第2の閾値時間)から第1の調整時間だけ引き下げた時間に第2の閾値時間を更新する。
これにより、データベース管理システム500は、方式切替判断部255により半同期の書き込み方式に切り替えられたとき、書込み方式を半同期の書き込み方式で安定させることができる。なお、この場合、第1の調整時間は、例えば、5msとすることができる。また、所定の時間とは、1分や2分を設定することができる。
また、方式切替判断部255は、半同期の書き込み方式に切り替えた後、システム全体の負荷に基づいて、半同期の書き込み方式から完全同期の書き込み方式に書き込み方式を切り替えた場合は、閾値β1に第2の調整時間を加算した時間に閾値β1を更新する。
これにより、データベース管理システム500は、方式切替判断部255によって書き込み方式が切り替えた後、閾値β1の値を動的に調整することにより、半同期の書き込み方式から完全同期の書き込み方式に切り替えられやすくする。この場合、第2の調整時間は、例えば、2msとすることができる。
なお、方式切替判断部255は、第1の調整時間には、第2の調整時間よりも大きい調整時間を設定することが望ましい。
また、閾値β1について動的に調整する方法について説明したが、閾値β2についても同様に、動的に調整することができる。
具体的には、方式切替判断部255は、半同期の書き込み方式に切り替えた後、システム全体の負荷に基づいて、所定の時間内に半同期の書き込み方式から非同期の書き込み方式に書き込み方式を切り替えた場合は、閾値β2(第3の閾値時間)から第3の調整時間だけ引き下げた時間に閾値β2を更新する。
また、方式切替判断部255は、非同期の書き込み方式に切り替えた後、システム全体の負荷に基づいて、非同期の書き込み方式から半同期の書き込み方式に書き込み方式を切り替えた場合は、閾値β2に第4の調整時間を加算した時間に閾値β2を更新するようにしてもよい。
なお、第3の調整時間は、第1の調整時間と同等の時間を設定することができ、また、第4の調整時間は、第2の調整時間と同等の時間を設定することができる。
次に、マスターサーバ200とスレーブサーバ300のハードウエアの構成について、それぞれ説明する。
図9は、本実施形態に係るマスターサーバ200のハードウエアの構成を示したハードウエアブロック図である。
図9に示すように、マスターサーバ200は、CPU(Central Processing Unit)260、ROM(Read Only Memory)262、RAM(Random Access Memory)264、ネットワークインターフェース部266、操作入力部268、表示部270、記憶部272、内部バス274などを備えて構成されている。
CPU260は、ROM262に格納されている各種プログラムをRAM264にロードして、そのプログラムを展開することにより、各種プログラムの機能を実現することできる。RAM264は、ワークエリア(作業用メモリ)として利用されるようになっている。ROM262は、各種プログラムを格納するようになっている。ROM262に格納されている各種プログラムには、図2で示した各種機能を実現するためのプログラムが含まれる。
ネットワークインターフェース部266は、ネットワーク400(図1)を介して、クライアント端末100(図2)から書込命令を受信したり、スレーブサーバ300に書込命令を送信するためのインターフェース部である。
操作入力部268は、スレーブサーバ300(図2)をマスターサーバ200に登録するための設定登録を行ったり、クライアント端末100の書込命令を受け付けるための登録情報を編集するための入力装置である。なお、この操作入力部268は、キーボードやマウスなどにより構成されている。
表示部270は、書込命令の受信状況やスレーブサーバ300に書込命令を実施している際の進行状況などを表示するための表示装置である。この表示部は、液晶ディスプレイやモニタなどにより構成されている。
記憶部272は、マスターデータベース215(図2)を構成する記憶領域であり、RAMやハードディスクなどにより構成されている。
内部バス274は、CPU260がマスターサーバ200全体を統括制御するように、各構成要素と接続されている。
図10は、本実施形態に係るスレーブサーバ300のハードウエアの構成を示したハードウエアブロック図である。
図10に示すように、スレーブサーバ300は、CPU340、ROM342、RAM344、ネットワークインターフェース部346、操作入力部348、表示部350、記憶部352、内部バス354などを備えて構成されている。
CPU340は、ROM342に格納されている各種プログラムをRAM344にロードして、そのプログラムを展開することにより、各種プログラムの機能を実現することできる。RAM344は、ワークエリア(作業用メモリ)として利用されるようになっている。ROM342は、各種プログラムを格納するようになっている。ROM342に格納されている各種プログラムには、図2で示した各種機能を実現するためのプログラムが含まれる。
ネットワークインターフェース部346は、ネットワーク400(図1)を介して、マスターサーバ200から書込命令を受信したり、マスターサーバ200(図2)に書込応答を送信するためのインターフェース部である。
操作入力部348は、マスターサーバ200の設定登録を行ったり、クライアント端末100(図2)の書込命令を受け付けるための登録情報を編集するための入力装置である。なお、この操作入力部348は、キーボードやマウスなどにより構成されている。
表示部350は、書込命令の受信状況やスレーブサーバ300に書込命令を実施している進行状況などを表示することができる表示装置である。この表示部は、液晶ディスプレイやモニタなどにより構成されている。
記憶部352は、スレーブデータベース315を構成する記憶領域であり、RAMやハードディスクなどにより構成されている。
内部バス354は、CPU340がスレーブサーバ300全体を統括制御するように、各構成要素に接続されている。
(書込方式切替処理)
次に、データベース管理システム500において、方式切替判断部255が書き込み方式を切り替える書込方式切替処理について説明する。
図11は、データベース管理システム500の方式切替判断部255が書き込み方式を切り替える書込方式切替処理を示したフローチャートである。図11において、Sに数字を付した符号は、フローチャートの各ステップを示している。
図11に示すように、マスターサーバ200の方式切替判断部255は、応答処理時間を算出するために、所定の一定時間が経過したか否か待ち受ける(ステップS301)。なお、所定の一定時間とは、例えば、1分や2分などの時間を所定の一定時間として設定する。また、書き込み方式の初期値は、完全同期の書き込み方式が設定されている。
方式切替判断部255は、所定の一定時間が経過した場合(ステップS301のYes)、処理時間算出処理部230において、書込実行部210に記憶されているデータベース215に書き込み要した処理時間と書込命令に対する応答時間とを算出(取得)する。そして、方式切替判断部255は、負荷推定部240において、処理時間と応答時間とに基づいて、応答処理時間の平均値(これを平均応答処理時間ともいう。)を算出する(ステップS303)。
方式切替判断部255は、負荷推定部240において平均応答処理時間を算出すると(ステップS303)、その平均応答処理時間からシステム全体(データベース管理システム500全体)の負荷を推定する。方式切替判断部255は、書き込み方式の初期値が完全同期の書き込み方式(完全同期式)に設定されているため(ステップS305のNo)、完全同期の書き込み方式であって、かつ平均応答処理時間が閾値α以上か否かを判定する(ステップS307)。
方式切替判断部255は、書き込み方式が完全同期の書き込み方式であって、かつデータベース管理システム500全体の負荷を示す平均応答処理時間が閾値α未満の場合には(ステップS307のNo)、半同期の書き込み方式に切り替えるほどはシステム全体の負荷は大きくないと判定し、ステップS301に戻り、完全同期の書き込み方式でデータのレプリケーションを実行する。
一方、方式切替判断部255は、現在の書き込み方式が完全同期の書き込み方式(完全同期式)で、かつ平均応答処理時間が閾値α以上の場合には(ステップS307のYes)、データベース管理システム500全体の負荷では半同期の書き込み方式が適切と判定し、マスターサーバ200がスレーブデータベース315に半同期の書き込み方式(半同期式)で書き込むように切り替えを決定する(ステップS309)。
また、本実施形態実施に係るデータベース管理システム500では、半同期の書き込み方式に切り替えを決定した場合には、閾値β1の時間(第2の閾値時間)から所定の時間(第1の調整時間)だけ引き下げて、その引き下げた値に閾値β1を更新する(ステップS311)。例えば、方式切替判断部255は、閾値β1の時間から5msを引き下げた値を閾値β1とする。
これにより、本実施形態に係るデータベース管理システム500は、閾値β1をシステム全体の負荷(システム負荷指標値)に基づいて動的に調整することができるので、閾値β1の近傍で書き込み方式を切り替えることによる不安定な振動(バタツキ動作)を回避することができる。
データベース管理システム500では、方式切替判断部255の判定結果に基づいて、書込方式切替部250からスレーブサーバ300の方式変更要求受付部330に書き込み方式を切り替える書込方式切替要求(切替変更指示)を送信する(ステップS313)。
そして、書込方式切替部250では、スレーブサーバ300の方式変更要求受付部330から書き込み方式を切り替えた旨の応答を待ち受けており(ステップS315)、書き込み方式を切り替えた旨の応答を受信した場合には(ステップS315のYes)、レプリケーション実行部220の書込命令送信部222の書き込み方式を半同期の書込み方式に切り替えて(ステップS317)、ステップS301に戻る。
ステップS301に戻った以降の処理は、書込み方式が半同期の書き込み方式に切り替えられているので、方式切替判断部255は、所定の一定時間経過ごとに平均応答処理時間を算出し(ステップS303)、システム全体の負荷を判定する(ステップS305)。
すなわち、方式切替判断部255は、書き込み方式が半同期の書き込み方式で、かつ平均応答処理時間が閾値β1よりも小さい場合には(ステップS305のYes)、データベース管理システム500全体の負荷は軽いと判定し、スレーブサーバ300の書き込み方式を半同期の書き込み方式から完全同期の書き込み方式(完全同期式)に切り替えを決定する(ステップS319)。
この場合、データベース管理システム500は、システム全体の負荷に基づいて、閾値αの時間(第1の閾値時間)内にスレーブサーバ300がスレーブデータベース315に所定のデータを書き込むことができると判定し、スレーブサーバ300のスレーブデータベース315に完全同期の書き込み方式で書き込むように切り替えを決定する。
また、本実施形態実施に係るデータベース管理システム500では、半同期の書き込み方式から完全同期の書き込み方式に切り替えを決定した場合は、閾値β1の時間に所定の時間(第2の調整時間)を加算した閾値β1の値に更新する(ステップS321)。例えば、方式切替判断部255は、閾値β1の時間に2msを加算した値を閾値β1とする。また、第1の調整時間と第2の調整時間との関係では、第1の調整時間には、第2の調整時間よりも大きい調整時間を設定することが望ましい。
これにより、本実施形態に係るデータベース管理システム500は、閾値β1(第2の閾値時間)をシステム全体の負荷に基づいて動的に調整することができるので、閾値β1の近傍で書き込み方式を切り替えることによる不安定な振動(バタツキ動作)を回避することができる。
一方、現在の書き込み方式が半同期の書き込み方式(半同期式)で、かつ平均応答処理時間が閾値β1未満でない場合は(ステップS305のNo)、方式切替判断部255は、データベース管理システム500全体の負荷は完全同期の書き込み方式に切り替えるほどは軽くないと判定し、システム全体の負荷がそれぞれの閾値を満たすまで継続して上記フローを繰り返す。
以上説明したように、本実施形態実施に係るデータベース管理システム500は、方式切替判断部255において平均応答処理時間を算出し、その算出された平均応答処理時間に基づいて、データベース管理システム500全体の負荷を推定する。そして、方式切替判断部255は、完全同期の書き込み方式のときにおいて、平均応答処理時間が予め設定された閾値α未満の場合は、完全同期の書き込み方式のままスレーブデータベース315にデータを書き込む一方、平均応答処理時間が閾値α以上の場合には、半同期の書き込み方式でスレーブデータベース315にデータを書き込むように切り替える。
これにより、本実施形態に係るデータベース管理システム500は、完全同期の書き込み方式で書き込むことができる状態が多くなり、スレーブサーバ300のスレーブデータベース315に、書き込むべきデータの損失する可能性を低減させることができる。
また、本実施形態では、非同期の書き込み方式を組み合わせて設けることができるので、非同期の書き込み方式が設けられた場合の非同期の書き込み方式と、半同期の書き込み方式とを切り替える処理について説明する。
なお、この場合の書き込み方式を切り替える処理については、図11と似たような処理になるため、説明を適宜省略し、異なる処理のみについて異なる符号を付して説明する。具体的には、図11のフローチャートにおいて、ステップS305からステップS311までの処理と、ステップS319およびステップ321が異なるため、これらの処理を中心に説明する。
図12は、データベース管理システム500の方式切替判断部255が、書き込み方式を非同期の書き込み方式か半同期の書き込み方式に切り替える書込方式切替処理を示したフローチャートである。図12において、Sに数字を付した符号は、フローチャートの各ステップを示している。
図12に示すように、例えば、マスターサーバ200の方式切替判断部255は、半同期の書き込み方式が設定されている場合において、処理時間算出処理部230において、書き込みに要した処理時間とスレーブサーバ300からの応答時間とを算出すると、負荷推定部240において平均応答処理時間を算出し、システム全体の負荷を推定する(ステップS303)。方式切替判断部255は、半同期の書き込み方式が設定されているため(ステップS401のNo)、半同期の書き込み方式であって、かつ平均応答処理時間が閾値α以上か否かを判定する(ステップS403)。
方式切替判断部255は、書き込み方式が半同期の書き込み方式であって、かつデータベース管理システム500全体の負荷を示す平均応答処理時間が閾値α未満の場合には(ステップS403のNo)、非同期の書き込み方式に切り替えるほどシステム全体の負荷は大きくないと判定し、ステップS301に戻り、半同期の書き込み方式でデータのレプリケーションを実行する。
一方、方式切替判断部255は、現在の書き込み方式が半同期の書き込み方式(半同期式)で、かつ平均応答処理時間が閾値α以上の場合には(ステップS403のYes)、データベース管理システム500全体の負荷では非同期の書き込み方式が適切と判定し、マスターサーバ200がスレーブデータベース315に非同期の書き込み方式(非同期式)で書き込むように切り替えを決定する(ステップS405)。
また、本実施形態実施に係るデータベース管理システム500では、非同期の書き込み方式に切り替えを決定した場合には、閾値β2の時間(第3の閾値時間)から所定の時間(第3の調整時間)だけ引き下げて、その引き下げた値に閾値β2を更新する(ステップS407)。例えば、方式切替判断部255は、閾値β2の時間から5msを引き下げた値を閾値β2とする。
このように、本実施形態に係るデータベース管理システム500は、閾値β2をシステム全体の負荷(システム負荷指標値)に基づいて動的に調整することができるので、閾値β2の近傍で書き込み方式を切り替えることによる不安定な振動(バタツキ動作)を回避することができる。
また、ステップS405で非同期式に切り替えを決定し、その後、ステップS317で書き込み方式を切り替えた後にステップS301に戻ってきた場合には、書き込み方式が非同期の書き込み方式に切り替えられている。方式切替判断部255は、所定の一定時間経過ごとに平均応答処理時間を算出して(ステップS303)、システムの負荷を判定する(ステップS401)。
方式切替判断部255は、書き込み方式が非同期の書き込み方式で、かつ平均応答処理時間が閾値β2よりも小さい場合は(ステップS401のYes)、データベース管理システム500全体の負荷は軽いと判定し、スレーブサーバ300の書き込み方式を非同期の書き込み方式から半同期の書き込み方式(半同期式)に切り替えを決定する(ステップS409)。
この場合、データベース管理システム500は、システム全体の負荷に基づいて、閾値αの時間(第1の閾値時間)内にスレーブサーバ300がスレーブデータベース315に所定のデータを書き込むことができると判定し、スレーブサーバ300のスレーブデータベース315に半同期の書き込み方式で書き込むように切り替えを決定する。
また、本実施形態実施に係るデータベース管理システム500では、非同期の書き込み方式から半同期の書き込み方式に切り替えを決定した場合には、閾値β2の時間に所定の時間(第4の調整時間)を加算した閾値β2の値に更新する(ステップS411)。例えば、方式切替判断部255は、閾値β2の時間に2msを加算した値を閾値β2とする。また、第3の調整時間と第4の調整時間との関係では、第3の調整時間には、第4の調整時間よりも大きい調整時間を設定することが望ましい。
これにより、本実施形態に係るデータベース管理システム500は、閾値β2(第3の閾値時間)をシステム全体の負荷に基づいて動的に調整することができるので、閾値β2の近傍で書き込み方式を切り替えることによる不安定な振動(バタツキ動作)を回避することができる。
一方、現在の書き込み方式が非同期の書き込み方式(非同期式)で、かつ平均応答処理時間が閾値β2未満でない場合は(ステップS401のNo)、方式切替判断部255は、データベース管理システム500全体の負荷は半同期の書き込み方式に切り替えるほど軽くないと判定し、システム全体の負荷がそれぞれの閾値を満たすまで継続して上記フローを繰り返す。
そして、書き込み方式の切り替えが決定された場合、データベース管理システム500は、マスターサーバ200のレプリケーション実行部220からスレーブサーバ300の書込命令受信部310に書き込み方式を切り替える書込方式切替要求を送信する(ステップS317)。
このように、本実施形態に係るデータベース管理システム500は、方式切替判断部255が推定するシステム全体の負荷に基づいて、書き込み方式を非同期の書き込み方式か半同期の書き込み方式かに切り替えることができる。
なお、図11のステップS311およびS321と図12のステップS407およびS411において、それぞれ調整時間を加算や減算することにより閾値β1および閾値β2の引き上げや引き下げを行っていたが、書込み方式を切り替えた場合のみ実行すればよく、書込み方式を変更しない場合には、閾値の引き上げや引き下げを行う必要はない。
上述した図11および図12のフローチャートでは、データベース管理システム500におけるマスターサーバ200の動作を説明したが、次に、スレーブサーバ300の動作について説明する。
(スレーブの書込方式切替処理)
データベース管理システム500におけるスレーブサーバ300が、送信された書込方式切替要求(切替変更指示)に応じて書込命令受信部310に設定されている書き込み方式を切り替える書込方式切替処理について説明する。
図13は、スレーブサーバ300の方式変更要求受付部330が、マスターサーバ200の書込方式切替部250から送信された書込方式切替要求に応じて書込命令受信部310に設定されている書き込み方式を切り替える書込方式切替処理を示したフローチャートである。なお、図13において、Sに数字を付した符号は、フローチャートの各ステップを示している。
図13に示すように、スレーブサーバ300の方式変更要求受付部330は、マスターサーバ200の書込方式切替部250から送信される書込方式切替要求を待ち受けるようになっている(ステップS501)。そして、方式変更要求受付部330は、書込方式切替部250から書込方式切替要求を受信した場合は(ステップS501のYes)、書込命令受信部310の書き込み方式を、受信した書き込み方式に切り替える(ステップS503)。
書込命令受信部310の書き込み方式が、書込方式切替要求に対応する書き込み方式に切り替えられた後、スレーブサーバ300は、方式変更要求受付部330から、その書き込み方式に切り替えた旨の応答を、方式切替判断部255の書込方式切替部250に送信し、処理を終了する(ステップS505)。
なお、本実施形態では、書込命令受信部310の書き込み方式を変更した後、方式変更要求受付部330を介して書込方式切替部250に応答を返信するようになっているが、これに限定されるものではない。例えば、書込命令受信部310は、応答返信部320とレプリケーション実行部220を介して、方式切替判断部255の書込方式切替部250に応答を返信するようにしてもよい。
また、本実施形態では、データベース管理システム500において書き込み方式を切り替える処理について説明したが、本実施形態はこれに限定されるものではない。例えば、マスターサーバ200単体のみを用いて、システム全体の負荷に基づいて書き込み方式を切り替えるサーバを実現するようにしてもよい。
また、本実施形態では、上記の内容に限定されるものではない。具体的には、マスターデータベース215に書き込むデータに優先度を割り当てて、書込方式切替部250は、割り当てられたその優先度に応じて、優先度の高いデータは、完全同期の書き込み方式が選択されるように、優先度の低いデータよりも閾値β(第2の閾値時間)を高く設定するようにしてもよい。
また、マスターデータベース215に書き込むデータのうち指定された所定のデータについては、書き込み方式を完全同期の書き込み方式に固定するようにしてもよい。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
100 クライアント端末
200 マスターサーバ
210 書込実行部
212 書込命令受付部
214 書込処理部
215 マスターデータベース
220 レプリケーション実行部
222 書込命令送信部
224 応答受信部
230 応答時間算出部
233 応答時間算出処理部
240 負荷推定部
250 書込方式切替部
255 方式切替判断部
300 スレーブサーバ
310 書込命令受信部
315 スレーブデータベース
320 応答返信部
330 方式変更要求受付部
400 ネットワーク
500 データベース管理システム

Claims (17)

  1. マスター側データベースを具備するマスターサーバと、スレーブ側データベースを具備するスレーブサーバと、を備えるデータベース管理システムであって、
    前記マスター側データベースにデータを書き込む書込命令を受け付けて前記マスター側データベースに前記データを書き込む処理時間と、前記マスターサーバから前記スレーブサーバに前記データの書込命令を行ってその書込命令に対する応答時間とを算出する処理時間算出処理部と、
    前記処理時間と前記応答時間とに基づいて、書き込み方式ごとに応答処理時間を算出し、前記マスターサーバと前記スレーブサーバとを含むシステム全体の負荷を書き込み方式ごとに推定する負荷推定部と、
    完全同期の書き込み方式のときにおいて、前記応答処理時間が予め設定された第1の閾値時間未満の場合は、前記完全同期の書き込み方式のまま前記スレーブ側データベースにデータを書き込む一方、前記応答処理時間が前記第1の閾値時間以上の場合には、半同期の書き込み方式で前記スレーブ側データベースにデータを書き込むように切り替える書込方式切替部と、
    を備えるデータベース管理システム。
  2. 前記書込方式切替部は、
    前記第1の閾値時間よりも短い時間が設定された第2の閾値時間を有し、
    前記半同期の書き込み方式に切り替えられた後、前記システム全体の負荷に基づいて、前記応答処理時間が前記第2の閾値時間未満の場合には、前記半同期の書き込み方式から前記完全同期の書き込み方式に切り替える
    請求項1に記載のデータベース管理システム。
  3. 前記第1の閾値時間は、前記マスター側データベースにデータの書込みを保証するために設けられた固定された閾値であり、
    前記第2の閾値時間は、前記応答処理時間から推定される前記システム全体の負荷に基づいて、動的に変動して調整された閾値である
    請求項2に記載のデータベース管理システム。
  4. 前記書込方式切替部は、
    前記完全同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、所定の時間内に前記完全同期の書き込み方式から前記半同期の書き込み方式に書き込み方式を切り替えた場合は、前記第2の閾値時間から第1の調整時間だけ引き下げた時間に前記第2の閾値時間を更新する
    請求項2または3に記載のデータベース管理システム。
  5. 前記書込方式切替部は、
    前記半同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、前記半同期の書き込み方式から前記完全同期の書き込み方式に書き込み方式を切り替えた場合は、前記第2の閾値時間に第2の調整時間を加算した時間に前記第2の閾値時間を更新する
    請求項2から4のいずれか1項に記載のデータベース管理システム。
  6. 前記書込方式切替部は、
    前記完全同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、所定の時間内に前記完全同期の書き込み方式から前記半同期の書き込み方式に書き込み方式を切り替えた場合は、前記第2の閾値時間から第1の調整時間だけ引き下げた時間に前記第2の閾値時間を更新する一方、
    前記半同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、前記半同期の書き込み方式から前記完全同期の書き込み方式に書き込み方式を切り替えた場合は、前記第2の閾値時間に第2の調整時間を加算した時間に前記第2の閾値時間を更新し、
    前記第1の調整時間には、前記第2の調整時間よりも大きい調整時間を設定する
    請求項2または3に記載のデータベース管理システム。
  7. 前記マスター側データベースに書き込むデータに優先度を割り当てて、
    前記書込方式切替部は、
    割り当てられたその優先度に応じて、優先度の高いデータは、前記完全同期の書き込み方式が選択されるように、優先度の低いデータよりも前記第2の閾値時間を高く設定する
    請求項2または3に記載のデータベース管理システム。
  8. 前記書込方式切替部は、
    前記マスター側データベースに書き込むデータのうち指定された所定のデータについては、前記完全同期の書き込み方式に固定する
    請求項1から7のいずれか1項に記載のデータベース管理システム。
  9. 前記マスターサーバから前記スレーブサーバに非同期のタイミングでデータを書き込む要求を行う非同期の書き込み方式をさらに備え、
    前記書込方式切替部は、
    前記半完全同期の書き込み方式のときにおいて、前記応答処理時間が前記第1の閾値時間未満の場合は、前記半同期の書き込み方式のまま前記スレーブ側データベースにデータを書き込む一方、前記応答処理時間が前記第1の閾値時間以上の場合には、前記非同期の書き込み方式で前記スレーブ側データベースにデータを書き込むように切り替える
    請求項1に記載のデータベース管理システム。
  10. 前記書込方式切替部は、
    前記第1の閾値時間よりも短い時間が設定された第3の閾値時間を有し、
    前記非同期の書き込み方式に切り替えられた後、前記システム全体の負荷に基づいて、前記応答処理時間が前記第3の閾値時間未満の場合には、前記非同期の書き込み方式から前記半同期の書き込み方式に切り替える
    請求項9に記載のデータベース管理システム。
  11. 前記第1の閾値時間は、前記システム全体において前記データの書込みを保証するために設けられた固定された閾値であり、
    前記第3の閾値時間は、前記応答処理時間から推定される前記システム全体の負荷に基づいて、動的に変動して調整された閾値である
    請求項10に記載のデータベース管理システム。
  12. 前記書込方式切替部は、
    前記半同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、所定の時間内に前記半同期の書き込み方式から前記非同期の書き込み方式に書き込み方式を切り替えた場合は、前記第3の閾値時間から第3の調整時間だけ引き下げた時間に前記第3の閾値時間を更新する
    請求項10または11に記載のデータベース管理システム。
  13. 前記書込方式切替部は、
    前記非同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、前記非同期の書き込み方式から前記半同期の書き込み方式に書き込み方式を切り替えた場合は、前記第3の閾値時間に第4の調整時間を加算した時間に前記第3の閾値時間を更新する
    請求項10から12のいずれか1項に記載のデータベース管理システム。
  14. 前記書込方式切替部は、
    前記半同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、所定の時間内に前記半同期の書き込み方式から前記非同期の書き込み方式に書き込み方式を切り替えた場合は、前記第3の閾値時間から第3の調整時間だけ引き下げた時間に前記第3の閾値時間を更新する一方、
    前記非同期の書き込み方式に切り替えた後、前記システム全体の負荷に基づいて、前記非同期の書き込み方式から前記半同期の書き込み方式に書き込み方式を切り替えた場合は、前記第3の閾値時間に第4の調整時間を加算した時間に前記第3の閾値時間を更新し、
    前記第3の調整時間には、前記第4の調整時間よりも大きい調整時間を設定する
    請求項10または11に記載のデータベース管理システム。
  15. マスター側データベースを具備するマスターサーバと、スレーブ側データベースを具備するスレーブサーバと、を備えるデータベース管理システムにおける書き込み方式管理方法であって、
    前記マスター側データベースにデータを書き込む書込命令を受け付けて前記マスター側データベースに前記データを書き込む処理時間と、前記マスターサーバから前記スレーブサーバに前記データの書込命令を行ってその書込命令に対する応答時間とを算出する処理時間算出処理ステップと、
    前記処理時間と前記応答時間とに基づいて、書き込み方式ごとに応答処理時間を算出し、前記マスターサーバと前記スレーブサーバとを含むシステム全体の負荷を書き込み方式ごとに推定する負荷推定ステップと、
    完全同期の書き込み方式のときにおいて、前記応答処理時間が予め設定された第1の閾値時間未満の場合は、前記完全同期の書き込み方式のまま前記スレーブ側データベースにデータを書き込む一方、前記応答処理時間が前記第1の閾値時間以上の場合は、半同期の書き込み方式で前記スレーブ側データベースにデータを書き込むように切り替える書込方式切替ステップと、
    を含むデータベース管理システムにおける書き込み方式管理方法。
  16. クライアントと、マスター側データベースを具備するマスターサーバと、スレーブ側データベースを具備するスレーブサーバとをネットワークで接続し、少なくともた完全同期のレプリケーション方式と半同期のレプリケーション方式とを選択的に実行可能なデータベース管理システムにおいて、
    前記マスターサーバは、
    前記クライアントからの書込命令を受け付けて前記マスター側データベースにデータを書き込むまでの処理時間と、前記スレーブサーバにレプリケーションを指示してからレプリケーションが完了するまでの応答時間とにより前記システム全体の負荷を推定する推定部と、
    前記完全同期のレプリケーション方式を実行中において、推定した前記システム全体の負荷が増大した場合には、前記半同期のレプリケーション方式に変更し、その半同期のレプリケーション方式を実行中において、推定した前記システム全体の負荷が減少した場合には、前記完全同期のレプリケーション方式に変更する切替部と、
    を備えるデータベース管理システム。
  17. 前記推定部は、
    前記処理時間と前記応答時間との和が、予め設定された第1の閾値を越えた場合には、前記半同期のレプリケーション方式に切り替えるように前記切替部を制御する
    請求項16記載のデータベース管理システム。
JP2013102186A 2013-05-14 2013-05-14 データベース管理システムおよびその書き込み方式管理方法 Active JP6239264B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013102186A JP6239264B2 (ja) 2013-05-14 2013-05-14 データベース管理システムおよびその書き込み方式管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013102186A JP6239264B2 (ja) 2013-05-14 2013-05-14 データベース管理システムおよびその書き込み方式管理方法

Publications (2)

Publication Number Publication Date
JP2014222451A true JP2014222451A (ja) 2014-11-27
JP6239264B2 JP6239264B2 (ja) 2017-11-29

Family

ID=52121942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013102186A Active JP6239264B2 (ja) 2013-05-14 2013-05-14 データベース管理システムおよびその書き込み方式管理方法

Country Status (1)

Country Link
JP (1) JP6239264B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123967A (zh) * 2016-11-28 2018-06-05 中国石油天然气股份有限公司 一种集群系统的数据同步方法和系统
CN112527809A (zh) * 2020-12-10 2021-03-19 盛立金融软件开发(杭州)有限公司 一种数据库数据写入方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288631A (ja) * 1996-04-24 1997-11-04 Hitachi Ltd 高速lan制御方式
JP2001043030A (ja) * 1999-07-29 2001-02-16 Nec Corp 情報処理システムおよびデータコピー方法
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム
JP2006338064A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd ディザスタリカバリ方法およびシステム
JP2007078417A (ja) * 2005-09-12 2007-03-29 Denso Corp 電流センサおよび電流検出方法
JP2010188882A (ja) * 2009-02-18 2010-09-02 Jtekt Corp パワーステアリング装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288631A (ja) * 1996-04-24 1997-11-04 Hitachi Ltd 高速lan制御方式
JP2001043030A (ja) * 1999-07-29 2001-02-16 Nec Corp 情報処理システムおよびデータコピー方法
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム
JP2006338064A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd ディザスタリカバリ方法およびシステム
JP2007078417A (ja) * 2005-09-12 2007-03-29 Denso Corp 電流センサおよび電流検出方法
JP2010188882A (ja) * 2009-02-18 2010-09-02 Jtekt Corp パワーステアリング装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123967A (zh) * 2016-11-28 2018-06-05 中国石油天然气股份有限公司 一种集群系统的数据同步方法和系统
CN112527809A (zh) * 2020-12-10 2021-03-19 盛立金融软件开发(杭州)有限公司 一种数据库数据写入方法、装置、设备及存储介质
CN112527809B (zh) * 2020-12-10 2023-10-27 盛立安元科技(杭州)股份有限公司 一种数据库数据写入方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP6239264B2 (ja) 2017-11-29

Similar Documents

Publication Publication Date Title
CN109684358B (zh) 数据查询的方法和装置
US10838626B2 (en) Methods, apparatuses, and computer program products for controlling write requests in storage system
US10650026B2 (en) Automatic mode switching in a synchronous replication environment
JP4612715B2 (ja) 情報処理システム、データ更新方法およびデータ更新プログラム
CN110892684B (zh) 用于管理消息传递对话的系统
CN103095691A (zh) 物联网节点访问控制方法
EP3252617A1 (en) Transaction processing method, processing node, central node and cluster
EP2988220A1 (en) Computer system, computer-system management method, and program
US9589007B2 (en) Method for issuing multipart receipts in connection to extensive database operations
EP3811231B1 (en) Reducing data loss in remote databases
CN107211003A (zh) 分布式存储系统及管理元数据的方法
CN106874281A (zh) 实现数据库读写分离的方法和装置
WO2020093714A1 (zh) 一种数据处理方法、装置、设备及可读存储介质
JP6239264B2 (ja) データベース管理システムおよびその書き込み方式管理方法
CN113094430A (zh) 一种数据处理方法、装置、设备以及存储介质
US20140006725A1 (en) Storage virtualization apparatus and storage virtualization method
US20130239114A1 (en) Fine Grained Adaptive Throttling of Background Processes
JP2014229088A (ja) データ処理システム、データ処理装置および記憶媒体
US9607068B2 (en) Parallel truncation point management for log based replication
US10728186B2 (en) Preventing reader starvation during order preserving data stream consumption
CN105339906B (zh) 控制对永久存储设备的数据写入的方法
CN111131076A (zh) 基于消息队列的多用途数据接收方法及系统、计算机设备
WO2016090938A1 (zh) 一种数据通信方法、装置及计算机存储介质
JP6046523B2 (ja) インメモリ型分散データベース、データ分散方法及びプログラム
CN113641688B (zh) 节点更新方法、相关装置及计算机程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170321

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171101

R151 Written notification of patent or utility model registration

Ref document number: 6239264

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151