JP4621273B2 - データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム - Google Patents
データ同期方法、データ同期プログラム、データベースサーバ装置、および、データベースシステム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Description
・特定のDBMSに対してトランザクションが一時的に集中した結果、その特定のDBMSを実行するサーバ装置の負荷が急上昇する場合。
・1台のサーバ装置が、複数のDBMSを同時に起動しているときに、所定のDBMSでは使用率が低いが、別のDBMSでは使用率が高い場合。
・1台のサーバ装置が、冗長構成における1つの実行系(高負荷)と、1つの待機系(低負荷)と、を同時に実行しているときに、障害発生に伴って待機系が実行系に切り替わることで、2つの実行系(高負荷)を実行することになった場合。
・サーバ装置を構成するハードウェアの障害により、障害が発生したハードウェアが使用不能となった結果、同じサーバ装置内の別のハードウェアの使用率が高くなる場合。
前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
データ同期方法。
ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
(a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
(b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする
その他の手段は、後記する。
ネットワーク9は、例えば、IP(Internet Protocol)ネットワークとして、または、各サーバ(実行系サーバ2および待機系サーバ3)がブレードサーバである場合には内部バスとして、構成される。
実行系サーバ2および待機系サーバ3は、障害対策としての冗長構成を採用する。待機系サーバ3は、実行系サーバ2に障害が発生したとき、実行系サーバ2の役割を代行することにより、障害が発生した実行系サーバ2の業務を引き継ぐ。
よって、実行系サーバ2および待機系サーバ3は、名称こそ異なるものの、同じサーバ装置が実行系サーバ2として動作する時間帯もあれば、待機系サーバ3として動作する時間帯もある。そのため、実行系サーバ2および待機系サーバ3は、同じ装置構成を採用している。
一方、実行系サーバ2のデータベースの内容はクライアント1からの操作要求を直接受信することにより随時更新されるのに対し、待機系サーバ3はクライアント1とは直接やりとりを行わないため、直接的に最新のデータベースの内容を知ることができない。そのため、待機系サーバ3は、データベースの更新内容を差分形式のログとして、間接的に実行系サーバ2から通知を受ける。
実行系サーバ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は、ログデータ適用部13が含まれていることが図示されていないが、ログデータ適用部13が実行系サーバ2としては使用されていないことにより、説明を簡潔にするために図示を省略している。
待機系サーバ3の通信インターフェース20cは、ログデータ受信部23と、ログデータ受信バッファ24と、を有する。
ログデータ送信バッファ22は、送信対象のログデータ(実行系DBログデータ12a、実行系インデクスデータ14a)が、実行系DB10aから読み取られ、送信までの間に一時的に格納される。
ログデータ送信部21は、ログデータ送信バッファ22に格納されている送信対象のログデータを、ログデータ受信部23に対して送信する。
ログデータ受信部23は、ログデータ送信部21から受信したログデータを、ログデータ受信バッファ24に格納する。
ログデータ受信バッファ24は、受信したログデータを、ログデータ適用部13が適用するまでの間、一時的に保管する。
まず、実行系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は、それぞれ互いに対応し、トランザクションの終了後には互いに同じデータ内容となる。
例えば、1行目のレコードは、トランザクション通番「10」のトランザクションにおける操作要求「更新」により追加されたレコードであり、操作対象が行ID「1」であり、操作内容が行データ「A2,B2,…,C2」への更新である。
なお、操作種別は、挿入(insert)、更新(update)、および、削除(delete)のいずれかであり、これらの操作により、データ内容が書き換わる。よって、実行系DBログデータ12aの行データは、書き換わった後のデータ内容が記載されている。
行データのキー値は、実行系DBデータ11aの行データ中の列要素が取りうる値であり、実行系DBデータ11aへの操作要求などのアクセス要求において、そのアクセス対象を特定するための検索キーである。
行IDは、行データのキー値が存在する列要素を含む行をリストアップしたものである。
このように、実行系インデクスデータ14aを作成することにより、実行系DBデータ11aへのアクセス効率が高まる。つまり、検索キーとして行データのキー値が指定されたときに、実際に実行系DBデータ11aの行データを全探索する代わりに、実行系インデクスデータ14aを1回検索することにより、アクセス対象となる実行系DBデータ11aの行IDを高速で特定することができる。
実行系インデクスログデータ15aは、トランザクション通番と、操作種別と、行IDと、行データのキー値と、を対応づけて構成する。これらの実行系インデクスログデータ15aの各パラメータは、クライアント1からの操作要求から抽出される。
トランザクション通番は、操作要求を受け付けるトランザクションを特定する。
行IDおよび行データのキー値は、実行系インデクスデータ14aへの更新内容を示す。
操作種別は、「追加」または「削除」のいずれかである。なお、操作要求と操作種別との対応関係は、操作要求「挿入」が操作種別「追加」に、操作要求「削除」が操作種別「削除」に、操作要求「更新」が操作種別「追加、削除」に、それぞれ対応する。例えば、1つの操作要求「AをBに更新」は、1つの操作種別「Aを削除」と、1つの操作種別「Bを追加」に分割される。
操作種別が「追加」である場合は、対応する「行ID」および「行データのキー値」は、実行系インデクスデータ14aに新規に追加された行に書き込まれる値、または、既存の行に上書きされる値である。
操作種別が「削除」である場合は、対応する「行ID」および「行データのキー値」は、実行系インデクスデータ14aから削除される行に記録されている値、または、既存の行における更新前の値である。
よって、実行系インデクスデータ14a(ログデータ反映前)に対して、実行系インデクスログデータ15aが適用されると、行データのキー値「B」を含む行の行IDが、「1,10,12」から「1」が削除されることにより、「10,12」となる。
そのため、資源利用状況テーブル31は、例えば、実行系サーバ2のCPU使用率R1、実行系サーバ2のメモリ使用率R2、待機系サーバ3のCPU使用率R3、待機系サーバ3のメモリ使用率R4、ログデータ受信部23のバッファキュー長R5、および、クライアント1からの決着要求に対する応答時間R6を、対応づけて格納する。
・トランザクション通番の管理:トランザクション通番は、トランザクションを識別するための番号であり、トランザクションが終了する度に、インクリメント(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に書き込む(つまり、データ内容の同期を行う)ように指示する。
方式(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通りの送信内容の反映方式を記載する定義テーブルを構成してもよい。
評価係数テーブル41は、資源利用状況テーブル31の各列要素に対して乗算(重み付け)する評価係数を、反映方式ごとに格納する。よって、評価係数テーブル41の各列要素の形式は、資源利用状況テーブル31の各列要素の形式と同じである。評価係数は、値が高いほど該当資源を使用する、もしくは時間を要することを示す。
評価値テーブル42は、資源利用状況テーブル31と評価係数テーブル41とを参照した反映方式決定部43による評価値を、反映方式ごとに格納する。なお、評価値の値が小さいほど、反映方式として採用されやすい(換言すると、高評価である)。
反映方式決定部43は、互いに対応する2つの列要素(資源利用状況テーブル31の列要素と、評価係数テーブル41の列要素)を乗算(重み付け演算)し、それらの演算結果の合計を計算することで、反映方式ごとの評価値を計算する。この重み付け合計の計算式は、表5に記載する。
変数「n」は、反映方式の個数を示し、反映方式の番号の最大値(例えば、表4に示すように4通りなら、4)が代入される。
変数「j」は、ループを1回実行する度に1ずつ加算されるループ制御用変数であり、現在計算している反映方式の番号を示し、初期値「1」が代入される。
変数「Ej」は、現在計算しているj番目の反映方式における評価値を示し、初期値に「0(まだ計算されていない旨を示す)が代入される。
変数「Ek」は、前回までに計算された変数「Ej」のうちの最も値の小さい変数「Ej」であり、初期値に充分大きい値(変数型が取りうる最大値)が代入される。これにより、1回目に計算される変数「Ej」の値は、確実に変数「Ek」の値を置き換える。
変数「k」は、現時点で最も決定される可能性の高い反映方式の番号を示し、初期値に「0(反映方式がまだ決定されていない旨を示す)が代入される。
反映方式決定部43は、反映方式を決定する処理(図3参照)を呼び出すことで、操作要求の反映方式を決定する(S112)。
トランザクション制御部40は、受信した1回目の操作要求で指定されたデータ内容をもとに、実行系DBログデータ12a、および、実行系インデクスログデータ15aを作成し、実行系DB10aに対して反映する(S113)。
トランザクション制御部40は、受信した2回目の操作要求で指定されたデータ内容をもとに、実行系DBログデータ12a、および、実行系インデクスログデータ15aを作成し、実行系DB10aに対して反映する(S115)。
ログデータ送信部21は、2回分の操作要求で作成されたログデータ(実行系DBログデータ12a、および、実行系インデクスログデータ15a)を、送信対象のログデータとして、ログデータ受信部23に送信する(S117)。このように、決着要求を受信する前に複数回分の操作要求が発生したときには、1回分の操作要求のログデータを1回の送信処理として送信してもよいし、複数回分の操作要求のログデータを1回の送信処理にまとめて送信してもよい。
ログデータ適用部13は、受信したログデータ(実行系インデクスログデータ15a)を、ログデータ受信バッファ24から読み出し、待機系DB10b(待機系インデクスログデータ15b)へ反映する(S133)。
次に、決着要求を受信すると(S116)、図4では2種類のログデータを送信対象としていたが(S117)、その代わりに、1種類のログデータ(実行系DBログデータ12a)を送信対象として送信する(S217)。待機系サーバ3は、受信した実行系DBログデータ12aを、受信バッファへ書き込む(S231)。
待機系サーバ3は、受信したログデータをログデータ受信バッファ24へ書き込むが(S341)、この時点ではまだ待機系DB10bへの反映は行わない。
同様に、2回目の操作要求に対する処理が行われる(S315,S342)。つまり、操作要求の発生回数分だけ、ログデータの送信処理が行われる。
なお、操作要求は複数回発生する可能性があるので、待機系サーバ3からの受信時(S341、S342)での受領確認(ACK)は行わず、実行系サーバ2は、ログデータを送信した後(S313)、直ちに、次の操作要求を受信(S114)できるように処理を進めることが、望ましい。
受信した2種類のログデータの反映処理(S344,S345)は、図4の処理(S132,S133)と同じ処理である。これは、送信契機が図4と図6とで異なっていても、送信内容が同じためである。
一方、実行系インデクスログデータ15aは送信されていないので、図5のS233と同様に、新規に作成して、待機系インデクスログデータ15bへと反映する(S445)。
これにより、システム稼動中の負荷の変動や、ハードウェア障害、システム構成変更が発生して資源の使用率が変動しても、余裕のある資源を優先して利用する反映方式が選択される。よって、実行系サーバ2および待機系サーバ3の双方を含めたデータベースシステム全体で、高信頼性および可用性を高めることができる。
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)
- クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とするデータベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するデータ同期方法であって、
前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
データ同期方法。
ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
(a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
(b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする - 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
請求項1に記載のデータ同期方法。 - 前記実行系サーバは、前記実行系DBにおいて格納するデータをメモリに格納し、
前記待機系サーバは、前記待機系DBにおいて格納するデータをメモリに格納することを特徴とする
請求項1または請求項2に記載のデータ同期方法。 - 前記待機系サーバは、データベースシステム内に複数台配置され、
前記同期用データ送信部は、決定された前記反映方式に従って、前記DB同期用データを冗長構成の相手となる複数台の前記待機系サーバに対してマルチキャスト通信で送信することを特徴とする
請求項1ないし請求項3のいずれか1項に記載のデータ同期方法。 - 請求項1ないし請求項4のいずれか1項に記載のデータ同期方法を、コンピュータである前記実行系サーバおよび前記待機系サーバにそれぞれ実行させるためのデータ同期プログラム。
- クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とするデータベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するためのデータベースサーバ装置であって、
前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
データベースサーバ装置。
ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
(a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
(b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする - 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
請求項6に記載のデータベースサーバ装置。 - クライアントからの要求に従ってデータを更新する実行系サーバと、前記実行系サーバに障害が発生したときに前記実行系サーバの処理を代行する待機系サーバとを有し冗長構成とし、データベースシステムにおける前記実行系サーバが有する実行系DBと、前記待機系サーバが有する待機系DBとを、データ同期処理するデータベースシステムであって、
前記実行系サーバは、前記実行系DBに加えて、資源利用状況テーブル、資源利用状況監視部、トランザクション制御部、反映方式決定部、評価係数テーブル、および、同期用データ送信部を有し、
前記待機系サーバは、前記待機系DBに加えて、同期用データ適用部を有し、
前記トランザクション制御部は、データ内容を指定して更新させるための操作要求を前記クライアントから受信すると、受信した前記操作要求を処理するためのトランザクションを開始した後、前記受信した操作要求で指定される更新内容を、DBログデータとして前記実行系DBに反映するとともに、前記実行系DBにアクセスするためのインデクスデータのうち、前記DBログデータに対応するインデクスデータを、インデクスログデータとして、前記実行系DBに反映し、
前記資源利用状況監視部は、前記データベースシステムを構成する各サーバにおける資源の使用率情報およびデータベースの動作状況情報のうちの少なくとも1つの情報を収集して前記資源利用状況テーブルに格納し、
前記評価係数テーブルには、前記資源利用状況テーブルに格納される収集値ごとの評価係数が予め格納されており、
前記反映方式決定部は、前記資源利用状況テーブルに格納されている収集値と、前記評価係数テーブルに格納されている収集値ごとの評価係数と、を重み付け合計することにより、反映方式ごとの評価値を計算し、その評価値が最小となる前記反映方式を決定し、
前記同期用データ送信部は、決定された前記反映方式に従って、前記実行系DBに反映されたデータを、DB同期用データとして、冗長構成の相手となる前記待機系サーバに送信し、
前記同期用データ適用部は、トランザクションを決着させるための決着要求が前記クライアントから前記実行系サーバへと送信されると、決定された前記反映方式に従って、受信した前記DB同期用データを前記待機系DBに反映すること、を特徴とする
データベースシステム。
ただし、前記反映方式は、以下の(a)または(b)に示す前記DB同期用データの送信内容から1つを選択することにより定義する
(a)前記DBログデータを送信内容とするが、前記インデクスログデータは送信せずに前記待機系サーバ側で別途作成させる
(b)前記DBログデータに加えて、前記インデクスログデータを送信内容とする - 前記反映方式決定部は、前記DB同期用データの送信契機を前記操作要求の受信時とする前記反映方式、および、前記DB同期用データの送信契機を前記決着要求の受信時とする前記反映方式のうち、いずれか1つの反映方式を前記評価値をもとに決定することを特徴とする
請求項8に記載のデータベースシステム。 - 前記実行系サーバは、前記実行系DBにおいて格納するデータをメモリに格納し、
前記待機系サーバは、前記待機系DBにおいて格納するデータをメモリに格納することを特徴とする
請求項8または請求項9に記載のデータベースシステム。 - 前記待機系サーバは、前記データベースシステム内に複数台配置され、
前記同期用データ送信部は、決定された前記反映方式に従って、前記DB同期用データを冗長構成の相手となる複数台の前記待機系サーバに対してマルチキャスト通信で送信することを特徴とする
請求項8ないし請求項10のいずれか1項に記載のデータベースシステム。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004145530A (ja) * | 2002-10-23 | 2004-05-20 | Hitachi Ltd | ディスクサブシステム及びストレージ管理システム |
Family Cites Families (7)
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 | 富士通株式会社 | 高信頼システム、冗長構成制御方法及びプログラム |
-
2008
- 2008-08-05 JP JP2008201705A patent/JP4621273B2/ja not_active Expired - Fee Related
-
2009
- 2009-02-06 US US12/367,052 patent/US20100036894A1/en not_active Abandoned
Patent Citations (1)
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 |