JP4621273B2 - データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム - Google Patents

データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム Download PDF

Info

Publication number
JP4621273B2
JP4621273B2 JP2008201705A JP2008201705A JP4621273B2 JP 4621273 B2 JP4621273 B2 JP 4621273B2 JP 2008201705 A JP2008201705 A JP 2008201705A JP 2008201705 A JP2008201705 A JP 2008201705A JP 4621273 B2 JP4621273 B2 JP 4621273B2
Authority
JP
Japan
Prior art keywords
data
server
standby
synchronization
log data
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.)
Expired - Fee Related
Application number
JP2008201705A
Other languages
English (en)
Other versions
JP2010039746A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008201705A priority Critical patent/JP4621273B2/ja
Priority to US12/367,052 priority patent/US20100036894A1/en
Publication of JP2010039746A publication Critical patent/JP2010039746A/ja
Application granted granted Critical
Publication of JP4621273B2 publication Critical patent/JP4621273B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication

Description

本発明は、データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステムの技術に関する。
サービス処理を動作させるサーバ装置は、計算機であるために障害が発生する可能性がある。そこで、実行系のサーバ装置と待機系のサーバ装置とをペアにして、障害許容性のある高信頼なシステムが、提案されている(特許文献1参照)。
特許文献1に開示されているシステムは、複数のサーバ装置をペアにして冗長化する冗長構成を採用する。冗長構成では、ペアを構成するサーバ装置間でそれぞれ管理しているデータ内容を、ペア相手に送信することにより、データ同期を実現する。そして、片方のサーバ装置に障害が発生したときには、もう片方のサーバ装置を活用することにより、障害対策を行う。
特開2005−251055号公報
DBMS(Data Base Management System)を動作させるサーバ装置は、処理対象のデータが消失しないように、特に高度な信頼性が要求される。そのため、データベースを有するサーバ装置間を冗長構成とし、それらのサーバ装置間のデータ同期処理をあらかじめ行うことにより、片方のサーバ装置の故障によるデータ消失を抑制することができる。このようなデータベースの冗長構成は、サーバ装置内のメモリ内にデータを保持するインメモリデータベースの形態において、特に有効である。
一方、データベースの処理性能に対しても、さらなる向上が要求される。データベースの処理性能は、例えば、単位時間あたりに処理するトランザクションの数により、計測される。よって、データベースの処理性能を向上するためには、そのデータベースを実行するサーバ装置の計算機資源(リソース)の使用効率を高めることが重要である。例えば、CPU負荷が前記したデータ同期処理によって過剰に高まってしまうと、新たなトランザクションを処理できずに、データベースの処理性能が低下してしまう。
サーバ装置による資源の使用率は、時間の経過により、変動する。使用率の変動は、例えば、以下の要因により発生する。これにより、サーバ装置の資源のうち、DBMSが使用できる資源が少なくなり、データベースシステムの可用性が低下してしまう。
・特定のDBMSに対してトランザクションが一時的に集中した結果、その特定のDBMSを実行するサーバ装置の負荷が急上昇する場合。
・1台のサーバ装置が、複数のDBMSを同時に起動しているときに、所定のDBMSでは使用率が低いが、別のDBMSでは使用率が高い場合。
・1台のサーバ装置が、冗長構成における1つの実行系(高負荷)と、1つの待機系(低負荷)と、を同時に実行しているときに、障害発生に伴って待機系が実行系に切り替わることで、2つの実行系(高負荷)を実行することになった場合。
・サーバ装置を構成するハードウェアの障害により、障害が発生したハードウェアが使用不能となった結果、同じサーバ装置内の別のハードウェアの使用率が高くなる場合。
そこで、本発明は、前記した問題を解決し、データベースの信頼性を高めつつ、データベースの処理性能を向上することを、主な目的とする。
前記課題を解決するため、本発明は、クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とするデータベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するデータ同期方法であって、
前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
データ同期方法。
ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
(a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
(b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする
その他の手段は、後記する。
本発明によれば、データベースの信頼性を高めつつ、データベースの処理性能を向上することが可能になった。
以下に、本発明が適用されるデータベースシステムの一実施形態について、図面を参照して詳細に説明する。
図1は、データベースシステムのハードウェア構成を示す構成図である。データベースシステムは、クライアント1と、実行系サーバ2と、待機系サーバ3(待機系サーバ3a、待機系サーバ3b、待機系サーバ3c)と、がネットワーク9で接続されて構成される。なお、待機系サーバ3の台数は、1台でもよいし、複数台(図1では3台を例示)のクラスタリング構成でもよい。
ネットワーク9は、例えば、IP(Internet Protocol)ネットワークとして、または、各サーバ(実行系サーバ2および待機系サーバ3)がブレードサーバである場合には内部バスとして、構成される。
なお、図1の各装置(クライアント1、実行系サーバ2、待機系サーバ3)は、それぞれ演算処理を行う際に用いられる記憶手段としてのメモリ92(92a,92b,92c)と、前記演算処理を行う演算処理装置と、ネットワーク9を介して他装置と通信を行う通信インターフェース20(20a,20b,20c)と、を少なくとも備えるコンピュータとして構成される。なお、メモリは、RAM(Random Access Memory)などにより構成される。演算処理機能は、CPU(Central Processing Unit)91(91a,91b,91c)によって構成される演算処理装置が、メモリ上のプログラムを実行することで、実現される。
クライアント1は、実行系サーバ2に対して、実行系サーバ2が管理するデータベース(以下、DBと略す)に対するアクセスを要求する。アクセス要求は、少なくとも以下の2種類の要求(操作要求、決着要求)に分類できる。なお、クライアント1と実行系サーバ2との要求のやりとりのために、トランザクションが開始される。
「操作要求」は、データベースに格納されているデータ内容への操作を要求するメッセージである。操作要求は、例えば、挿入(insert)、更新(update)、および、削除(delete)であり、これらの操作により、データ内容が書き換わる。1つのトランザクション内で、0回以上の操作要求が発生する。実行系サーバ2は、1回目の操作要求を受信したときに、その操作要求に関するトランザクションがまだ開始されていないときには、トランザクションを開始することとしてもよい。
「決着要求」は、操作要求により書き換わったデータ内容を、最終的にデータベースに対して確定するか否かを決着するためのメッセージである。決着要求は、書き換わったデータ内容を確定する「コミット要求」、または、書き換わったデータ内容を破棄する「ロールバック要求」に分類される。そして、決着要求に対してデータ内容を確定または破棄した後、トランザクションは終了する。
実行系サーバ2は、クライアント1に対してデータベース業務を提供する。具体的には、実行系サーバ2は、クライアント1からの要求(操作要求、決着要求)を受け、自身が管理するデータベースに対して、要求で指定されたデータ内容を反映する。
実行系サーバ2および待機系サーバ3は、障害対策としての冗長構成を採用する。待機系サーバ3は、実行系サーバ2に障害が発生したとき、実行系サーバ2の役割を代行することにより、障害が発生した実行系サーバ2の業務を引き継ぐ。
よって、実行系サーバ2および待機系サーバ3は、名称こそ異なるものの、同じサーバ装置が実行系サーバ2として動作する時間帯もあれば、待機系サーバ3として動作する時間帯もある。そのため、実行系サーバ2および待機系サーバ3は、同じ装置構成を採用している。
なお、障害時に実行系サーバ2から待機系サーバ3へと役割が円滑に引き継がれるため、実行系サーバ2のデータベースの内容と、待機系サーバ3のデータベースの内容と、は同じ内容に同一化(データ内容の同期処理)がなされる。
一方、実行系サーバ2のデータベースの内容はクライアント1からの操作要求を直接受信することにより随時更新されるのに対し、待機系サーバ3はクライアント1とは直接やりとりを行わないため、直接的に最新のデータベースの内容を知ることができない。そのため、待機系サーバ3は、データベースの更新内容を差分形式のログとして、間接的に実行系サーバ2から通知を受ける。
図2は、データベースシステムの各サーバ装置(実行系サーバ2、待機系サーバ3)の詳細を示す構成図である。
実行系サーバ2は、通信インターフェース20bと、実行系DB10aと、資源利用状況監視部32と、トランザクション制御部40と、を有する。
待機系サーバ3は、通信インターフェース20cと、ログデータ適用部13と、待機系DB10bと、を有する。
なお、各データベース(実行系DB10a、待機系DB10b)は、各データベースが属するサーバ装置内の揮発性のメモリ装置(メモリ92)にデータを格納するインメモリデータベースとしてもよいし、不揮発性のハードディスク装置にデータを格納するデータベースとしてもよい。
例えば、メモリ92bは、実行系DB10aを格納し、メモリ92cは、待機系DB10bを格納する。
一方、ハードディスク装置を用いる場合には、共有ディスク(図示省略)により、データをやりとりすることができる。
さらに、実行系サーバ2の各処理部(資源利用状況監視部32、トランザクション制御部40)は、例えば、実行系サーバ2のCPU91bがプログラムを実行することにより、実行系サーバ2のメモリ92b上に構成される。
同様に、待機系サーバ3のログデータ適用部13は、例えば、待機系サーバ3のCPU91cがプログラムを実行することにより、待機系サーバ3のメモリ92c上に構成される。
なお、図2において、実行系サーバ2および待機系サーバ3の構成要素は、互いに異なるように図示したが、両サーバ装置の役割は入れ替わるため、1台のサーバ装置内には、図2の実行系サーバ2内の構成要素、および、図2の待機系サーバ3内の構成要素の両方が、含まれている。
よって、例えば、図2の実行系サーバ2は、ログデータ適用部13が含まれていることが図示されていないが、ログデータ適用部13が実行系サーバ2としては使用されていないことにより、説明を簡潔にするために図示を省略している。
また、所定のサーバ装置が実行系サーバ2として動作している時間帯には、待機系サーバ3の構成要素は使用しないので、所定のサーバ装置が待機系サーバ3として動作するまでの間は、待機系サーバ3の構成要素を有さないこととしてもよい。そして、所定のサーバ装置が待機系サーバ3に切り替わるときに、待機系サーバ3の構成要素を備えるよう、待機系サーバ3の構成要素を実現するためのプログラムの実行などを行うこととしてもよい。
実行系サーバ2の通信インターフェース20bは、ログデータ送信部21と、ログデータ送信バッファ22と、を有する。
待機系サーバ3の通信インターフェース20cは、ログデータ受信部23と、ログデータ受信バッファ24と、を有する。
ログデータ送信バッファ22は、送信対象のログデータ(実行系DBログデータ12a、実行系インデクスデータ14a)が、実行系DB10aから読み取られ、送信までの間に一時的に格納される。
ログデータ送信部21は、ログデータ送信バッファ22に格納されている送信対象のログデータを、ログデータ受信部23に対して送信する。
ログデータ受信部23は、ログデータ送信部21から受信したログデータを、ログデータ受信バッファ24に格納する。
ログデータ受信バッファ24は、受信したログデータを、ログデータ適用部13が適用するまでの間、一時的に保管する。
実行系サーバ2は、実行系DB10aを有し、待機系サーバ3は、待機系DB10bを有する。実行系DB10aおよび待機系DB10bは、トランザクション中のデータ同期処理の結果、トランザクションの終了後には互いに同じデータ内容を格納する。
まず、実行系DB10aは、実行系DBデータ11aと、実行系DBログデータ12aと、実行系インデクスデータ14aと、実行系インデクスログデータ15aと、を格納する。
同様に、待機系DB10bは、待機系DBデータ11bと、待機系DBログデータ12bと、待機系インデクスデータ14bと、待機系インデクスログデータ15bと、を格納する。
つまり、実行系DBデータ11aおよび待機系DBデータ11b、実行系DBログデータ12aおよび待機系DBログデータ12b、実行系インデクスデータ14aおよび待機系インデクスデータ14b、実行系インデクスログデータ15aおよび待機系インデクスログデータ15bは、それぞれ互いに対応し、トランザクションの終了後には互いに同じデータ内容となる。
Figure 0004621273
表1は、実行系DBデータ11aに対して、実行系DBログデータ12aが反映される一例を示す。表1で示される3つの表は、上から順に、実行系DBデータ11a(ログデータ反映前)、実行系DBログデータ12a、実行系DBデータ11a(ログデータ反映後)である。
実行系DBデータ11a(ログデータ反映前、ログデータ反映後)は、行(レコード)ごとに、その行を特定するための行IDと、その行を構成する行データと、を対応づけて構成する。行データは、1つ以上の列要素(表1では、列1から列nまでのn個の列要素)により構成される。
実行系DBログデータ12aは、クライアント1からの操作要求による実行系DBデータ11aの更新履歴を差分形式で示す。実行系DBログデータ12aは、トランザクション通番と、操作種別と、行IDと、行データと、を対応づけて構成する。これらの実行系DBログデータ12aの各パラメータは、クライアント1からの操作要求から抽出される。
例えば、1行目のレコードは、トランザクション通番「10」のトランザクションにおける操作要求「更新」により追加されたレコードであり、操作対象が行ID「1」であり、操作内容が行データ「A2,B2,…,C2」への更新である。
なお、操作種別は、挿入(insert)、更新(update)、および、削除(delete)のいずれかであり、これらの操作により、データ内容が書き換わる。よって、実行系DBログデータ12aの行データは、書き換わった後のデータ内容が記載されている。
実行系DBデータ11a(ログデータ反映後)は、トランザクションに対する決着要求の受信を契機に、実行系DBデータ11a(ログデータ反映前)に対して実行系DBログデータ12aが反映された結果である。例えば、トランザクション通番「10」への決着要求が受信されると、実行系DBログデータ12aのレコードのうちのトランザクション通番が「10」であるレコードが、反映される。その結果、例えば、実行系DBデータ11a(ログデータ反映後)の行ID「1」のレコードは、反映前の「A,B,…,C」から反映後の「A2,B2,…,C2」へと更新される。
Figure 0004621273
表2は、実行系インデクスデータ14aに対して、実行系インデクスログデータ15aが反映される一例を示す。表2で示される3つの表は、上から順に、実行系インデクスデータ14a(ログデータ反映前)、実行系インデクスログデータ15a、実行系インデクスデータ14a(ログデータ反映後)である。
実行系インデクスデータ14a(ログデータ反映前、ログデータ反映後)は、行(レコード)ごとに、1つの行データのキー値と、1つ以上の行IDと、を対応づけて構成する。
行データのキー値は、実行系DBデータ11aの行データ中の列要素が取りうる値であり、実行系DBデータ11aへの操作要求などのアクセス要求において、そのアクセス対象を特定するための検索キーである。
行IDは、行データのキー値が存在する列要素を含む行をリストアップしたものである。
このように、実行系インデクスデータ14aを作成することにより、実行系DBデータ11aへのアクセス効率が高まる。つまり、検索キーとして行データのキー値が指定されたときに、実際に実行系DBデータ11aの行データを全探索する代わりに、実行系インデクスデータ14aを1回検索することにより、アクセス対象となる実行系DBデータ11aの行IDを高速で特定することができる。
実行系インデクスログデータ15aは、実行系インデクスデータ14aの更新履歴を差分形式で示す。なお、実行系インデクスデータ14aは、実行系DBデータ11aを説明(要約)するものなので、実行系DBデータ11aの更新に伴って更新される。
実行系インデクスログデータ15aは、トランザクション通番と、操作種別と、行IDと、行データのキー値と、を対応づけて構成する。これらの実行系インデクスログデータ15aの各パラメータは、クライアント1からの操作要求から抽出される。
トランザクション通番は、操作要求を受け付けるトランザクションを特定する。
行IDおよび行データのキー値は、実行系インデクスデータ14aへの更新内容を示す。
操作種別は、「追加」または「削除」のいずれかである。なお、操作要求と操作種別との対応関係は、操作要求「挿入」が操作種別「追加」に、操作要求「削除」が操作種別「削除」に、操作要求「更新」が操作種別「追加、削除」に、それぞれ対応する。例えば、1つの操作要求「AをBに更新」は、1つの操作種別「Aを削除」と、1つの操作種別「Bを追加」に分割される。
操作種別が「追加」である場合は、対応する「行ID」および「行データのキー値」は、実行系インデクスデータ14aに新規に追加された行に書き込まれる値、または、既存の行に上書きされる値である。
操作種別が「削除」である場合は、対応する「行ID」および「行データのキー値」は、実行系インデクスデータ14aから削除される行に記録されている値、または、既存の行における更新前の値である。
表2では、例えば、実行系インデクスログデータ15aの1行目のレコード(「10」、「削除」、「B」、「1」)は、トランザクション通番「10」のトランザクションにおける操作要求により追加されたレコードであり、実行系インデクスデータ14aにおける行ID「1」と行データのキー値「B」との組み合わせ(実行系インデクスデータ14aの1行目)に対して、操作種別「削除」を実行する旨を示している。
よって、実行系インデクスデータ14a(ログデータ反映前)に対して、実行系インデクスログデータ15aが適用されると、行データのキー値「B」を含む行の行IDが、「1,10,12」から「1」が削除されることにより、「10,12」となる。
資源利用状況監視部32は、自装置である実行系サーバ2と、その系切替相手となる待機系サーバ3と、の資源(リソース)の使用率や、データベースシステムの動作状況を監視する。資源とは、例えば、CPU、メモリ、ネットワーク帯域などである。
Figure 0004621273
表3に示す資源利用状況テーブル31は、資源利用状況監視部32による監視結果である資源の利用状況、および、データベースシステムの動作状況を格納する。
そのため、資源利用状況テーブル31は、例えば、実行系サーバ2のCPU使用率R1、実行系サーバ2のメモリ使用率R2、待機系サーバ3のCPU使用率R3、待機系サーバ3のメモリ使用率R4、ログデータ受信部23のバッファキュー長R5、および、クライアント1からの決着要求に対する応答時間R6を、対応づけて格納する。
トランザクション制御部40は、自装置である実行系サーバ2と、クライアント1とのトランザクションに関する制御を実施する。具体的には、トランザクション制御部40は、以下の処理を実行する。
・トランザクション通番の管理:トランザクション通番は、トランザクションを識別するための番号であり、トランザクションが終了する度に、インクリメント(1ずつ増加)される。なお、同一のトランザクション内において、複数回の操作要求を受け付けた場合、それらの操作要求により書き込まれるレコードのトランザクション通番は、全て同じである。さらに、実行系サーバ2と待機系サーバ3とで、同じトランザクション通番を使用する。
・操作要求の処理:クライアント1から操作要求を受け付けると、その操作要求で指定された「行ID、行データのキー値、操作種別」をもとに、実行系DBログデータ12aおよび実行系インデクスログデータ15aを作成し、現在のトランザクション通番に対応づけて実行系DB10aへと書き込む。
・ログデータの反映処理:表1で示したように、実行系DBデータ11aに対して実行系DBログデータ12aを反映するとともに、表2で示したように、実行系インデクスデータ14aに対して実行系インデクスログデータ15aを反映する。
・ログデータの送信指示:送信対象のログデータ(実行系DBログデータ12aだけの場合、または、実行系DBログデータ12aとその実行系インデクスログデータ15aとの組の場合がある)を、ログデータ送信バッファ22に書き込むことにより、送信対象のログデータの送信を指示する。
・決着要求の処理:クライアント1から決着要求を受け付けると、待機系サーバ3に対して、未送信である送信対象のログデータを全て送信するとともに、送信対象のログデータを待機系DB10bに書き込む(つまり、データ内容の同期を行う)ように指示する。
さらに、本実施形態の特徴として、トランザクション制御部40は、データ内容の同期を行うための反映方式が複数存在するときに、その中から1つの反映方式を決定するための仕組みを有する。
Figure 0004621273
表4は、反映方式の定義を示すテーブルである。このテーブルでは、2通りの送信内容および2通りの送信契機の組み合わせにより、4通りの反映方式(1)〜(4)が提示されている。これらの4通りの反映方式は、実行系DBデータ11aに対して行われた変更が、待機系DBデータ11bに対しても反映されることにより、実行系DB10aと待機系DB10bとのデータの同期が実現できるという基本的な効果は共通しつつ、以下に示す性能的な特徴に違いがある。
送信契機に着目した効果は、次の通りである。
方式(1,2)は、決着要求の受信時にログデータを送信するため、決着要求を受信するまでは、実行系サーバ2のCPU使用率を低く抑えられる。
方式(3,4)は、操作要求の受信時にログデータを送信するため、実行系サーバ2において決着要求の受信前にデータベースの処理と送信処理とが並列処理され、トランザクション全体の応答時間を短くできる。
送信内容に着目した効果は、次の通りである。
方式(1,3)は、実行系DBデータ11aと実行系インデクスログデータ15aとの組を送信するため、送信された待機系サーバ3は、待機系インデクスログデータ15bを新規に作成する必要はなく、実行系インデクスログデータ15aを待機系インデクスログデータ15bとしてコピーするだけで済む。その結果、待機系サーバ3のCPU使用率を低く抑えられる。
方式(2,4)は、実行系インデクスログデータ15aの送信を省略するため、ログデータ送信バッファ22およびログデータ受信バッファ24には実行系インデクスログデータ15aを格納せずに済む。その結果、バッファの容量を小さくできるので、両装置のメモリ使用率、および、実行系サーバ2のCPU使用率を低く抑えられる。
以上説明した2通りの送信契機と、2通りの送信内容との組み合わせにより、4通りの反映方式(1)〜(4)の定義テーブルが構成される。さらに、別の実施形態として、2通りの送信契機の反映方式を記載する定義テーブルを構成してもよいし、2通りの送信内容の反映方式を記載する定義テーブルを構成してもよい。
Figure 0004621273
トランザクション制御部40は、評価係数テーブル41(表5上段)と、評価値テーブル42(表5中段)と、反映方式決定部43(表5下段)と、を有する。
評価係数テーブル41は、資源利用状況テーブル31の各列要素に対して乗算(重み付け)する評価係数を、反映方式ごとに格納する。よって、評価係数テーブル41の各列要素の形式は、資源利用状況テーブル31の各列要素の形式と同じである。評価係数は、値が高いほど該当資源を使用する、もしくは時間を要することを示す。
評価値テーブル42は、資源利用状況テーブル31と評価係数テーブル41とを参照した反映方式決定部43による評価値を、反映方式ごとに格納する。なお、評価値の値が小さいほど、反映方式として採用されやすい(換言すると、高評価である)。
反映方式決定部43は、互いに対応する2つの列要素(資源利用状況テーブル31の列要素と、評価係数テーブル41の列要素)を乗算(重み付け演算)し、それらの演算結果の合計を計算することで、反映方式ごとの評価値を計算する。この重み付け合計の計算式は、表5に記載する。
図3は、反映方式決定部43が、反映方式を決定する処理を表すフローチャートである。
まず、以下に示す各変数の初期化を行う(S11)。
変数「n」は、反映方式の個数を示し、反映方式の番号の最大値(例えば、表4に示すように4通りなら、4)が代入される。
変数「j」は、ループを1回実行する度に1ずつ加算されるループ制御用変数であり、現在計算している反映方式の番号を示し、初期値「1」が代入される。
変数「Ej」は、現在計算しているj番目の反映方式における評価値を示し、初期値に「0(まだ計算されていない旨を示す)が代入される。
変数「Ek」は、前回までに計算された変数「Ej」のうちの最も値の小さい変数「Ej」であり、初期値に充分大きい値(変数型が取りうる最大値)が代入される。これにより、1回目に計算される変数「Ej」の値は、確実に変数「Ek」の値を置き換える。
変数「k」は、現時点で最も決定される可能性の高い反映方式の番号を示し、初期値に「0(反映方式がまだ決定されていない旨を示す)が代入される。
次に、反映方式ごとに評価値を計算するループ(S21〜S25)を実行する。このループは、1回のループで1つの反映方式を評価するものであり、ループ制御用変数「j」の値を初期値「1」から開始し、ループを1回実行する度に1ずつ加算し、変数「n」の値+1になったときに、終了する。
ループ内において、まず、j番目の反映方式における評価値を計算する(S22)。具体的には、資源利用状況テーブル31の各値と、評価係数テーブル41の各値と、を重み付け合計することで、j番目の反映方式における評価値を1つの評価値として集計する。その集計結果である評価値は、評価値テーブル42に書き込まれるとともに、変数「Ej」に代入される。
次に、判定式「Ej<Ek」により、今回計算した変数「Ej」が、前回までに計算された最小値「Ek」を下回るか否かを判定する(S23)。もし、判定式を満たす場合(S23,Yes)、最小値「Ek」に今回計算した変数「Ej」を代入するとともに、変数「k」に変数「j」の値(反映方式番号)を代入することで(S24)、決定される可能性の高い反映方式の番号を更新する。以上、S21〜S25のループにより、最も評価値の低い反映方式の番号が、変数「k」の値として計算される。
ループ外において、ループにより計算されたk番目の反映方式を、今回のトランザクションの処理における反映方式として決定する(S31)。
Figure 0004621273
表6は、図3に示すフローチャートの実行結果の一例を示す。下線のつけられた評価値をもつ反映方式が、採用される反映方式となる。
図4は、反映方式(1)を実行する処理を示すフローチャートである。この反映方式(1)は、S112で選択される。
まず、クライアント1は、1回目の操作要求を送信すると(S101)、実行系サーバ2のトランザクション制御部40は、その操作要求を受信し、トランザクションを開始する(S111)。
反映方式決定部43は、反映方式を決定する処理(図3参照)を呼び出すことで、操作要求の反映方式を決定する(S112)。
トランザクション制御部40は、受信した1回目の操作要求で指定されたデータ内容をもとに、実行系DBログデータ12a、および、実行系インデクスログデータ15aを作成し、実行系DB10aに対して反映する(S113)。
次に、クライアント1は、2回目の操作要求を送信すると(S102)、実行系サーバ2のトランザクション制御部40は、その操作要求を受信する(S114)。
トランザクション制御部40は、受信した2回目の操作要求で指定されたデータ内容をもとに、実行系DBログデータ12a、および、実行系インデクスログデータ15aを作成し、実行系DB10aに対して反映する(S115)。
ここで、クライアント1は、決着要求を送信すると(S103)、実行系サーバ2のトランザクション制御部40は、その操作要求を受信する(S116)。
ログデータ送信部21は、2回分の操作要求で作成されたログデータ(実行系DBログデータ12a、および、実行系インデクスログデータ15a)を、送信対象のログデータとして、ログデータ受信部23に送信する(S117)。このように、決着要求を受信する前に複数回分の操作要求が発生したときには、1回分の操作要求のログデータを1回の送信処理として送信してもよいし、複数回分の操作要求のログデータを1回の送信処理にまとめて送信してもよい。
ログデータ受信部23は、ログデータ送信部21から送信されたログデータを受信して、ログデータ受信バッファ24へ書き込む(S131)。ここで、ログデータ受信部23は、S131で送信対象のログデータが全て正常に受信できたときには、送信元の実行系サーバ2に対して、正常受信完了の応答(ACK)を送信することとしてもよい(図4の破線矢印に記載)。そして、実行系サーバ2は、送信後にACKが到着しないときには、エラーとなったログの内容を再送するなどのエラー対策を行う。
ログデータ適用部13は、受信したログデータ(実行系DBログデータ12a)を、ログデータ受信バッファ24から読み出し、待機系DB10b(待機系DBログデータ12b)へ反映する(S132)。
ログデータ適用部13は、受信したログデータ(実行系インデクスログデータ15a)を、ログデータ受信バッファ24から読み出し、待機系DB10b(待機系インデクスログデータ15b)へ反映する(S133)。
トランザクション制御部40は、待機系サーバ3からのACKの到着を待ってから、受信した決着要求(S116)に対する応答を送信した後(S118)、トランザクションを終了する(S119)。クライアント1は、既に送信した決着要求(S103)への応答を、実行系サーバ2から受信する(S104)。
以上説明したように、図4に示す反映方式(1)では、決着要求の受信時を送信契機として、2種類のログデータ(実行系DBログデータ12a、および、実行系インデクスログデータ15a)を送信することを特徴とする(S117参照)。
図5は、反映方式(2)を実行する処理を示すフローチャートである。この反映方式(2)は、S112で選択される。以下、図4の反映方式(1)と同じ処理には同じ符号を付け、処理の相違点に着目して、以下で説明する。
まず、2回分の操作要求の受信、および、そのデータ内容の反映は、図4と同じである(S101〜S116)。
次に、決着要求を受信すると(S116)、図4では2種類のログデータを送信対象としていたが(S117)、その代わりに、1種類のログデータ(実行系DBログデータ12a)を送信対象として送信する(S217)。待機系サーバ3は、受信した実行系DBログデータ12aを、受信バッファへ書き込む(S231)。
そして、実行系DBログデータ12aの反映処理は図4と図5とで同じであるが(S132)、図5においては実行系インデクスログデータ15aは送信されていないため、新たに、待機系DB10bの待機系DBデータ11bおよび待機系DBログデータ12bから作成し、待機系DB10bの待機系インデクスログデータ15bに反映する(S233)。
以上説明したように、図5に示す反映方式(2)では、決着要求の受信時を送信契機として、1種類のログデータ(実行系DBログデータ12a)を送信することを特徴とする(S217参照)。
図6は、反映方式(3)を実行する処理を示すフローチャートである。この反映方式(3)は、S112で選択される。以下、図4の反映方式(1)と同じ処理には同じ符号を付け、処理の相違点に着目して、以下で説明する。
まず、1回目の操作要求を受信すると(S101)、その内容を実行系DB10aに反映するところまでは図4のS113と同じであるが、その後にその反映内容を示す2種類のログデータ(実行系DBログデータ12a、実行系インデクスログデータ15a)を作成し、待機系サーバ3に送信する(S313)。
待機系サーバ3は、受信したログデータをログデータ受信バッファ24へ書き込むが(S341)、この時点ではまだ待機系DB10bへの反映は行わない。
同様に、2回目の操作要求に対する処理が行われる(S315,S342)。つまり、操作要求の発生回数分だけ、ログデータの送信処理が行われる。
なお、操作要求は複数回発生する可能性があるので、待機系サーバ3からの受信時(S341、S342)での受領確認(ACK)は行わず、実行系サーバ2は、ログデータを送信した後(S313)、直ちに、次の操作要求を受信(S114)できるように処理を進めることが、望ましい。
そして、実行系サーバ2は、決着要求を受信すると(S116)、ログデータの送信は既に済んでいるので(S341,S342参照)、決着要求を受信した旨を通知する(S317)。待機系サーバ3は、その通知を受信する(S343)。なお、図4におけるACKの送信に対応する処理として、複数回のログデータの受信(S341,S342)が全て正常に受信できたときには、1回のACKの送信処理が行われる。
受信した2種類のログデータの反映処理(S344,S345)は、図4の処理(S132,S133)と同じ処理である。これは、送信契機が図4と図6とで異なっていても、送信内容が同じためである。
以上説明したように、図6に示す反映方式(3)では、操作要求の受信時を送信契機として、2種類のログデータ(実行系DBログデータ12a、および、実行系インデクスログデータ15a)を送信することを特徴とする(S313,S315参照)。
図7は、反映方式(4)を実行する処理を示すフローチャートである。この反映方式(4)は、S112で選択される。以下、図6の反映方式(3)と同じ処理には同じ符号を付け、処理の相違点に着目して、以下で説明する。
まず、ログデータの送信契機は図6と図7とで同じであるが、その送信内容は、図7では1種類(実行系DBログデータ12a)であり、実行系インデクスログデータ15aの送信は行わない(S413,S415)。よって、待機系サーバ3は、実行系DBログデータ12aのみをログデータ受信バッファ24へ書き込む(S441,S442)。
次に、決着要求を受信した後の処理において、実行系DBログデータ12aを待機系DBログデータ12bに反映する処理は、図6と図7とで同じである(S344)。
一方、実行系インデクスログデータ15aは送信されていないので、図5のS233と同様に、新規に作成して、待機系インデクスログデータ15bへと反映する(S445)。
以上説明したように、図7に示す反映方式(4)では、操作要求の受信時を送信契機として、1種類のログデータ(実行系DBログデータ12a)を送信することを特徴とする(S413,S415参照)。
図8は、図4で説明した反映方式(1)を実行する処理を、図1で説明した待機系サーバ3のクラスタリング構成で実施するフローチャートである。
まず、実行系サーバ2は、2種類のログデータを送信する(S117)ときに、1回のマルチキャスト通信で各待機系サーバ3(待機系サーバ3a、待機系サーバ3b、待機系サーバ3c)に送信することが、望ましい。これにより、ネットワークの使用効率を高めつつ、輻輳を抑制することができる。
そして、実行系サーバ2は、受信した決着要求(S116)に対する応答を送信する(S118)条件として、S117での送信相手となる各待機系サーバ3から、個別にACKの到着を待ち、全てのACK(図8では、3つのACK)が到着されたこととしてもよい。
以上説明した本実施形態では、実行系サーバ2と待機系サーバ3との間のデータ同期処理(反映方式)を複数備えるとともに、実行系サーバ2の資源および待機系サーバ3の資源の利用状況に応じて、最適な反映方式を決定することを、特徴とする。
これにより、システム稼動中の負荷の変動や、ハードウェア障害、システム構成変更が発生して資源の使用率が変動しても、余裕のある資源を優先して利用する反映方式が選択される。よって、実行系サーバ2および待機系サーバ3の双方を含めたデータベースシステム全体で、高信頼性および可用性を高めることができる。
本発明の一実施形態に関するデータベースシステムのハードウェア構成を示す構成図である。 本発明の一実施形態に関するデータベースシステムの各サーバ装置の詳細を示す構成図である。 本発明の一実施形態に関する反映方式を決定する処理を示すフローチャートである。 本発明の一実施形態に関する反映方式(1)を実行する処理を示すフローチャートである。 本発明の一実施形態に関する反映方式(2)を実行する処理を示すフローチャートである。 本発明の一実施形態に関する反映方式(3)を実行する処理を示すフローチャートである。 本発明の一実施形態に関する反映方式(4)を実行する処理を示すフローチャートである。 本発明の一実施形態に関する反映方式(1)を実行する処理を、待機系サーバのクラスタリング構成で実施する処理を示すフローチャートである。
符号の説明
1 クライアント
2 実行系サーバ
3 待機系サーバ
3b 待機系サーバ
3c 待機系サーバ
9 ネットワーク
10a 実行系DB
10b 待機系DB
11a 実行系DBデータ
11b 待機系DBデータ
12a 実行系DBログデータ
12b 待機系DBログデータ
13 ログデータ適用部
14a 実行系インデクスデータ
14b 待機系インデクスデータ
15a 実行系インデクスログデータ
15b 待機系インデクスログデータ
20 通信インターフェース
21 ログデータ送信部
22 ログデータ送信バッファ
23 ログデータ受信部
24 ログデータ受信バッファ
31 資源利用状況テーブル
32 資源利用状況監視部
40 トランザクション制御部
41 評価係数テーブル
42 評価値テーブル
43 反映方式決定部
91 CPU
92 メモリ

Claims (11)

  1. クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とするデータベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するデータ同期方法であって、
    前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
    前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
    前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
    前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
    前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
    前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
    前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
    前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
    データ同期方法。
    ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
    (a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
    (b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする
  2. 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
    請求項1に記載のデータ同期方法。
  3. 前記実行系サーバは、前記実行系DBにおいて格納するデータをメモリに格納し、
    前記待機系サーバは、前記待機系DBにおいて格納するデータをメモリに格納することを特徴とする
    請求項1または請求項2に記載のデータ同期方法。
  4. 前記待機系サーバは、データベースシステム内に複数台配置され、
    前記同期用データ送信部は、決定された前記反映方式に従って、前記DB同期用データを冗長構成の相手となる複数台の前記待機系サーバに対してマルチキャスト通信で送信することを特徴とする
    請求項1ないし請求項3のいずれか1項に記載のデータ同期方法。
  5. 請求項1ないし請求項4のいずれか1項に記載のデータ同期方法を、コンピュータである前記実行系サーバおよび前記待機系サーバにそれぞれ実行させるためのデータ同期プログラム。
  6. クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とするデータベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するためのデータベースサーバ装置であって、
    前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
    前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
    前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
    前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
    前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
    前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
    前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
    前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
    データベースサーバ装置。
    ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
    (a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
    (b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする
  7. 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
    請求項6に記載のデータベースサーバ装置。
  8. クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とし、データベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するデータベースシステムであって、
    前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
    前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
    前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
    前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
    前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
    前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
    前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
    前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
    データベースシステム。
    ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
    (a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
    (b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする
  9. 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
    請求項8に記載のデータベースシステム。
  10. 前記実行系サーバは、前記実行系DBにおいて格納するデータをメモリに格納し、
    前記待機系サーバは、前記待機系DBにおいて格納するデータをメモリに格納することを特徴とする
    請求項8または請求項9に記載のデータベースシステム。
  11. 前記待機系サーバは、前記データベースシステム内に複数台配置され、
    前記同期用データ送信部は、決定された前記反映方式に従って、前記DB同期用データを冗長構成の相手となる複数台の前記待機系サーバに対してマルチキャスト通信で送信することを特徴とする
    請求項8ないし請求項10のいずれか1項に記載のデータベースシステム。
JP2008201705A 2008-08-05 2008-08-05 データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム Expired - Fee Related JP4621273B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008201705A JP4621273B2 (ja) 2008-08-05 2008-08-05 データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム
US12/367,052 US20100036894A1 (en) 2008-08-05 2009-02-06 Data synchronization method, data synchronization program, database server and database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008201705A JP4621273B2 (ja) 2008-08-05 2008-08-05 データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム

Publications (2)

Publication Number Publication Date
JP2010039746A JP2010039746A (ja) 2010-02-18
JP4621273B2 true JP4621273B2 (ja) 2011-01-26

Family

ID=41653890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008201705A Expired - Fee Related JP4621273B2 (ja) 2008-08-05 2008-08-05 データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム

Country Status (2)

Country Link
US (1) US20100036894A1 (ja)
JP (1) JP4621273B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101493826B (zh) * 2008-12-23 2012-12-19 中兴通讯股份有限公司 基于web应用的数据库系统及其数据管理方法
US8266107B2 (en) * 2009-03-11 2012-09-11 International Business Machines Corporation Method for mirroring a log file by threshold driven synchronization
WO2012070144A1 (ja) * 2010-11-26 2012-05-31 株式会社日立製作所 データベースの管理方法、データベース管理装置及び記憶媒体
US8718978B2 (en) * 2011-02-28 2014-05-06 Apple Inc. Performance logging framework
JP6024138B2 (ja) * 2012-03-21 2016-11-09 日本電気株式会社 クラスタシステム
US8924799B2 (en) * 2012-04-16 2014-12-30 Yahoo! Inc. Method and system for providing a predefined content to a user
US11841844B2 (en) * 2013-05-20 2023-12-12 Amazon Technologies, Inc. Index update pipeline
US10102228B1 (en) 2014-02-17 2018-10-16 Amazon Technologies, Inc. Table and index communications channels
US10216768B1 (en) 2014-02-17 2019-02-26 Amazon Technologies, Inc. Table and index communications channels
US9678799B2 (en) 2015-02-12 2017-06-13 International Business Machines Corporation Dynamic correlated operation management for a distributed computing system
CN105550362B (zh) * 2015-12-31 2019-11-19 浙江大华技术股份有限公司 一种存储系统的索引数据修复方法和存储系统
CN107844491B (zh) * 2016-09-19 2021-11-16 阿里巴巴集团控股有限公司 一种在分布式系统中实现强一致性读操作的方法与设备
CN106776894B (zh) * 2016-11-29 2018-03-16 北京众享比特科技有限公司 日志数据库系统和同步方法
CN107423336B (zh) * 2017-04-27 2021-01-15 努比亚技术有限公司 一种数据处理方法、装置及计算机存储介质
US10984011B1 (en) * 2017-12-31 2021-04-20 Allscripts Software, Llc Distributing non-transactional workload across multiple database servers
CN108304527B (zh) * 2018-01-25 2022-02-01 杭州哲信信息技术有限公司 一种数据提取方法
CN108363791A (zh) * 2018-02-13 2018-08-03 沈阳东软医疗系统有限公司 一种数据库的数据同步方法和装置
JP7013988B2 (ja) * 2018-03-22 2022-02-01 日本電気株式会社 制御装置、制御方法、制御プログラム、及び制御システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145530A (ja) * 2002-10-23 2004-05-20 Hitachi Ltd ディスクサブシステム及びストレージ管理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61248130A (ja) * 1985-04-26 1986-11-05 Hitachi Ltd ブ−リアン評価方式
JPH0566984A (ja) * 1991-09-10 1993-03-19 Fujitsu Ltd データベースにおけるインデツクスのリカバリ方法
JPH05204739A (ja) * 1992-01-29 1993-08-13 Nec Corp 重複型分散データベースの同期方式
JPH0954718A (ja) * 1995-08-15 1997-02-25 Nec Software Ltd 分散データベース非同期更新機能処理方式
JPH1049418A (ja) * 1996-08-02 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> ジャーナルデータの反映方法及び装置と、冗長構成形計算機システム
US7143080B2 (en) * 2001-12-27 2006-11-28 Tedesco Michael A Method, system and apparatus for separately processing database queries
JP4318211B2 (ja) * 2004-03-08 2009-08-19 富士通株式会社 高信頼システム、冗長構成制御方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145530A (ja) * 2002-10-23 2004-05-20 Hitachi Ltd ディスクサブシステム及びストレージ管理システム

Also Published As

Publication number Publication date
US20100036894A1 (en) 2010-02-11
JP2010039746A (ja) 2010-02-18

Similar Documents

Publication Publication Date Title
JP4621273B2 (ja) データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム
US11928029B2 (en) Backup of partitioned database tables
US11036591B2 (en) Restoring partitioned database tables from backup
US11327949B2 (en) Verification of database table partitions during backup
US10467105B2 (en) Chained replication techniques for large-scale data streams
US9471585B1 (en) Decentralized de-duplication techniques for largescale data streams
KR101303989B1 (ko) 분산 스토리지 시스템
US9026679B1 (en) Methods and apparatus for persisting management information changes
US7606839B2 (en) Systems and methods for providing client connection fail-over
US7698251B2 (en) Fault tolerant facility for the aggregation of data from multiple processing units
JP4291060B2 (ja) トランザクション処理方法,トランザクション制御装置およびトランザクション制御プログラム
CN101263494B (zh) 用于监控与存储网络中的对象相关的事务的方法和装置
JP4590105B2 (ja) ウェブサーバコンテンツ複製
JP5594828B2 (ja) データ分散保管装置及び方法及びプログラム及び記録媒体
RU2315349C1 (ru) Способ репликации информации в распределенных базах данных и система для его осуществления
Kappe A scalable architecture for maintaining referential integrity in distributed information systems
EP1898310B1 (en) Method of improving efficiency of replication monitoring
US10606709B1 (en) Method and system for intelligently load balancing database backup operations in information technology environments
US11507277B2 (en) Key value store using progress verification
CN110471897B (zh) 文件管理方法及装置
US20230376391A1 (en) Data ingestion replication and disaster recovery
JP5480046B2 (ja) 分散トランザクション処理システム、装置、方法およびプログラム
JP2024037585A (ja) トランザクション管理方法及びトランザクション管理装置
CN113791935B (zh) 一种数据备份方法、网络节点及系统
US20240022627A1 (en) Domain name system based global server load balancing service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100913

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees