JP2012513632A - 選択的データベースレプリケーション - Google Patents

選択的データベースレプリケーション Download PDF

Info

Publication number
JP2012513632A
JP2012513632A JP2011541637A JP2011541637A JP2012513632A JP 2012513632 A JP2012513632 A JP 2012513632A JP 2011541637 A JP2011541637 A JP 2011541637A JP 2011541637 A JP2011541637 A JP 2011541637A JP 2012513632 A JP2012513632 A JP 2012513632A
Authority
JP
Japan
Prior art keywords
database
update command
main
server
primary
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
JP2011541637A
Other languages
English (en)
Other versions
JP5514834B2 (ja
Inventor
ステファン ホワィノット
Original Assignee
ノーテル ネットワークス リミテッド
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 ノーテル ネットワークス リミテッド filed Critical ノーテル ネットワークス リミテッド
Publication of JP2012513632A publication Critical patent/JP2012513632A/ja
Application granted granted Critical
Publication of JP5514834B2 publication Critical patent/JP5514834B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/273Asynchronous replication or reconciliation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【解決手段】
主サーバと関連した主データベースから副サーバと関連した副データベースにデータを選択的にレプリケートするための方法及びシステム。副サーバは、レプリケーションタスクが第1更新コマンドを使用して主データベースを修正したことを確認する。副サーバは、主データベースの主テーブルが更新されたことを確認する。副サーバは、主テーブルに連結された副連合テーブルを生成する。副サーバは、主データベースからの第1更新コマンドに基づき第2更新コマンドを取得して、副連合テーブルを使用して副データベースの副テーブルに第2更新コマンドを適用する。
【選択図】 図1

Description

本発明は一般に、データベースをレプリケートすることに関し、特に、クラスタ内で動作するデータベースの選択的なレプリケーションに関する。
コンピュータ・アプリケーションは、情報を記憶するため、データベースを使用する。データベースは典型的には、データベース管理システム(DataBase Management System:DBMS)と通常呼ばれるソフトウェア機能の精巧な組を備え、DBMSは、ユーザがデータベースの特定及び生成をし、当該データベースを更新及び問い合わせをし、そして当該データベースを維持することを可能にする。データベースは、セキュリティを提供し、更新が不可分性、頑強性、一貫性とを有することを確保するが、複雑さという犠牲をしばしば払っている。ビジネス用のデータベースを維持するため、専任のデータベースの専門家を雇用することは、ビジネスにとって珍しいことではない。アプリケーションプロバイダは、構成データのような、重要なデータを記憶するのにデータベースを使用しようとしてもよいが、複雑なデータベースソフトウェアの維持と関連した追加のサポートコストを負うことを顧客に要求すること、又はある場合には、アプリケーションが特定のDBMSを使用していることを知られることさえ望まない。したがって、アプリケーションプロバイダは、DBMSの利益を望んでもよいが、DBMSと関連した複雑さから顧客を守ることを望んでもよい。
あるアプリケーションは、ネットワーク上で分散した態様で協同して動作するように設計される。たとえば、通信システムは、クラスタ内で互いにネットワークが組まれた多数のデータサーバを伴ってもよい。クラスタ内の各サーバは、当該クラスタ内の他のサーバと通信する。各サーバは、構成情報のような情報が維持される関連したデータベースを有してもよい。データベースに維持される情報は、ホストネーム又はインターネット・プロトコル(Internet Protocol:IP)アドレスのような独立したサーバに関してもよく、サーバがシンプルネットワークマネジメントプロトコル(Simple Network Management Protocol:SNMP)を実装しているか否かのように、ネットワーク上の各サーバに共通していてもよい。1つのサーバがマスタ即ち主サーバとして識別され、残りのサーバがスレーブ即ち副サーバとして指定されることは、分散型システムでは珍しいことではない。主サーバに対してなされるある構成変更が、副サーバの各々に対してなされることを必要とされてもよい。実際には、このような変更が主サーバに対してなされる毎に、適当な構成変更は、人間がかかわらずに、副サーバに対してなされる。多くの最新のDBMSは、今日データベースのレプリケーションを介してのように、分散型データベース間でデータを伝達するための一定の能力を有しているが、レプリケートされたデータベースの構築及び維持は、かなりの専門技術を必要とするおそれがある。さらに、レプリケーションは、破損したデータベースを修復し又は新たな副データベースをクラスタに加えるという複雑さを増大させ、副データベースの選択的な更新を許容せず、各データベースが同じDBMSベンダーからのものであることを必要とする。このようにして、顧客による多大なデータベースの専門技術を必要とせず、マルチベンダー環境において確実に機能し、そして分散型ネットワーク上で実質的に同時に選択的なレプリケーションを可能にする、分散型データベース間でデータベース情報をレプリケートするための仕組みに対する要請がある。
当業者は、添付図面を参照して好ましい実施形態に関する以下の詳細な説明を読むと、本発明の範囲を認識し、その付加的な態様を理解するであろう。
本発明は、構成データのようなデータを、主データベースから1以上の副データベースに選択的にレプリケートすることに関する。レプリケーションタスクは、主サーバと関連した主データベースの更新を備え、主サーバは、副サーバと関連した1以上の副データベース上でレプリケートされる必要がある。副サーバは、主データベースの主テーブルが第1更新コマンドで修正されたことを確認する。第1更新コマンドは、1以上のデータベース修正命令文を含むことができる。副サーバは、第1更新コマンドに基づく第2更新コマンドを確認する。副サーバは、主サーバの主テーブルに連結された副サーバにおいて副連合テーブルを生成する。副連合テーブルは、構造化問い合わせ言語(Structured Query Language:SQL)命令文のような従来のデータベースコマンドを使用して、主テーブルからのデータを副サーバ上にアクセスさせる。副サーバは、副連合テーブルを使用して第2更新コマンドを副テーブルに適用し、これにより主データベースからの更新を副データベースにレプリケートする。
本発明の一の実施形態によれば、主サーバは、第1更新コマンドに基づき第2更新コマンドを生成し、第2更新コマンドを主データベースの更新コマンドテーブルに記憶する。主サーバは、第1更新コマンドがトリガ又はアラートを介して主テーブルに適用されていたとき、副サーバに通知する。主サーバからの通知を受けると、副サーバは、主データベースの更新コマンドテーブルにアクセスし、第2更新コマンドを検索する。副サーバは、主テーブルに連結された副連合テーブルを生成し、副連合テーブルを介して副テーブルを更新する。主テーブル、副テーブル、及び副連合テーブルはすべて、同じテーブル定義を有する。
本発明の他の実施形態によれば、各レプリケーションタスクは、関連した固有のタスク識別子と、固有のシグネチャとを有する。各レプリケーションタスクと関連したタスク識別子及びシグネチャは、レプリケーションタスクが主データベース上で実行されるとき、主データベースに記憶され、レプリケーションタスクと関連した同じ固有のタスク識別子及び固有のシグネチャは、レプリケーションタスクが副データベース上で実行された後、副データベースに記憶される。副サーバが、主データベースの主テーブルに更新が発生したことを通知されるとき、副サーバは、レプリケーションタスクと関連したタスク識別子及びシグネチャを主データベースから取得して、当該シグネチャと副データベースに予め記憶されたシグネチャと比較する。主データベースからのシグネチャが副データベースからのシグネチャに合致しない場合には、副サーバは、副データベース上でレプリケーションタスクを実行し、次いで、レプリケーションタスクが再び実行されないように、主データベースからのシグネチャを副データベースに記憶する。
本発明の他の実施形態によれば、第2更新コマンドは、副データベースのデータに基づいた基準で副テーブルの更新を調整する。たとえば、主サーバにインストールされたアプリケーションはレプリケーションタスクを開始し、レプリケーションタスクは、アプリケーションと関連した構成データが維持される主データベースに新たな構成テーブルを設定する。副サーバは、レプリケーションタスクが主データベース上で実行されたことを通知される。副サーバは、レプリケーションタスクと関連したタスク識別子及びシグネチャを主データベースから取得して、レプリケーションタスクが副データベース上で実行されなかったことを確認する。副サーバは、新たな構成テーブルを作成するのに使用された第1更新コマンドに基づき、第2更新コマンドを取得する。しかしながら、第2更新コマンドは、副データベースの副構成テーブルの存在に関して、副データベースの副構成テーブルの修正を調整する。アプリケーションが未だ副サーバにインストールされていなかったので、副構成テーブルは副データベースに未だ存在せず、主データベースの新たな構成テーブルから副データベースにレプリケートされるデータはない。将来の時点で、アプリケーションが副サーバにインストールされ、副構成テーブルが副データベースに作成されるとき、副サーバは、レプリケーションのプロセスを開始するように指示されることができる。副サーバは、レプリケーションタスクと関連したタスク識別子及びシグネチャを主データベースから再び取得し、主データベースからのシグネチャが副データベースからのシグネチャに合致しないことを確認し、副データベース上でレプリケーションタスクを実行する。
本発明のさらに他の実施形態によれば、第2更新コマンドは、副データベースのデータに基づいた基準で副テーブル内の或る行の更新を調整する。たとえば、主サーバ上のアプリケーションは、特定の基準に基づき主テーブル内の或る行を修正するレプリケーションタスクを開始する。副サーバは、レプリケーションタスクが主データベース上で実行されたことを通知される。副サーバは、レプリケーションタスクと関連したタスク識別子及びシグネチャを主データベースから取得し、レプリケーションタスクが副データベース上で実行されなかったことを確認する。副サーバは、新たな構成テーブルを作成するのに使用された第1更新コマンドに基づき、第2更新コマンドを取得する。副サーバは、レプリケーションタスクを実行し、副テーブルのある行のみが、特定の基準に基づいて更新される。
本発明のさらに他の実施形態によれば、新たな副サーバが、既存の副サーバのクラスタに加えられる。新たな副サーバは、起動して主データベースにアクセスし、主サーバ上でレプリケーションタスクと関連した固有のタスク識別子及びシグネチャを取得する。次いで、各レプリケーションタスクは、新たな副サーバと関連した副データベース上で実行される。従って、新たな副データベースは、無駄な手動構成無しに、主データベース又は任意の他の副データベースを破損させずに、主データベースから選択的にレプリケートされる。
本明細書中に組み込まれ、本明細書の一部を形成する添付図面は、本発明の原理を説明するのに役立つ記載とともに、本発明の幾つかの態様を説明する。
本発明の一の実施形態によるデータベースを選択的にレプリケートするためのシステムのブロック図である。 図1に説明されるシステムの態様をより詳細に示すブロック図である。 本発明の一の実施形態による、主データベースにおける主テーブルを更新するためのプロセスを説明するフローチャートである。 図3に例示された実施形態による、副データベースにおける副テーブルを更新するためのプロセスを説明するフローチャートである。 本発明の他の実施形態による、選択的レプリケーションのためのプロセスにおける典型的なデータを説明するブロック図である。 本発明の一の実施形態によるサーバのブロック図である。
以下に記載される実施形態は、当業者が本発明を実施し、本発明を実施する最良の形態を説明することを可能にするのに必要な情報を表す。添付図面に照らして以下の説明を読むと、当業者は、本発明の概念を理解し、ここで特に扱われていないこれらの概念の応用を認識するであろう。これらの概念及び応用は、開示及び添付の特許請求の範囲の範囲内に属することを理解すべきである。
本発明は、主サーバと関連した主データベースが、クラスタ内で動作する複数の副サーバと関連した複数の副データベースに選択的にレプリケートされるのを可能にする。本発明は、通常のデータベース修正命令文を使用してレプリケーションを実行し、通常のデータベースのレプリケーションと関連した複雑さを解消し、通常のデータベースのレプリケーションよりも著しく大きなフレキシビリティを提供する。本発明は、複数のクラスタ状のデータベースが、処理オーバーヘッドがほとんどなく又はネットワーク帯域をほとんど利用せずに互いに実質的に同時に選択的にレプリケートされるのを可能にする。本発明はまた、人間の介在又は複雑なデータベースコマンドの知識なしに、データベースの自動的な復元を可能にする。レプリケーションタスクを実行する通常のデータベース命令文の使用を通して、本発明は、マルチベンダー環境における選択的データベースのレプリケーションを提供する。
図1は、本発明の一の実施形態によるデータベースを選択的にレプリケートするためのシステムのブロック図である。主サーバ10が、ネットワーク14を介して複数の副サーバ12に連結されている。主サーバ10及び副サーバ12は、好ましくは、クラスタ内で動作し、1以上のサービスをネットワーク14を介して他の装置(図示せず)に提供する。主サーバ10は、主データベース16に通信可能に連結され、主データベース16と関連しており、各副サーバ12は、副データベース18に通信可能に連結され、副データベース18と関連している。主サーバ10及び副サーバ12は、時として、本明細書ではクラスタ内のノードと呼ばれてもよい。クラスタ内の特定のノードについての主ノード又は副ノードとしての指定は、設備次第としてもよい。しかしながら、主サーバ10のような、主サーバとして表示されたノードは、副サーバ12のような、すべての他のノードが、クラスタ内の各ノードと共通する構成情報のようなある情報を受信するように通信するのが好ましいノードである。主サーバ又は副サーバとしての役割以外に、主サーバ10と副サーバ12との間には物理的な相違が殆どなくともよい。主サーバ10及び副サーバ12は、本明細書ではサーバ10、12として一括して呼ばれてもよく、その場合には、当該説明は、主サーバ10と副サーバ12に等しく関する。
サーバ10、12は、本明細書に記載された機能を組み込むのに適した任意のデータ処理装置を含むことができる。サーバ10、12は、通常の又は固有のオペレーティングシステムを作動させる一般的な目的のコンピュータサーバでもよく、これらのサーバは、サーバ10、12上で遂行する1以上のアプリケーションを通して通常の又は特別な機能を組み込んでいる。或いは、サーバ10、12は、限定された機能を提供する特別な目的の装置でもよい。本発明の一の実施形態によれば、サーバ10、12は、音声、ビデオ、オーディオ、及び他のサービスの提供のような種々の通信サービスを、電話、コンピュータなどのような複数のエンドユーザ装置(図示せず)に提供できるメディアアプリケーションサーバを含む。
ネットワーク14は、サーバ10、12間の通信を有線又は無線でできる、任意の適当な通信技術を含むことができ、トランスミッションコントロール・プロトコル/インターネット・プロトコル(Transmission Control Protocol/Internet Protocol:TCP/IP)、リアルタイムトランスポート・プロトコル(Real−Time Transport Protocol:RTP)、メディアリソースコントロール・プロトコル(Media Resource Control Protocol:MRCP)などのような、任意の通常のメッセージ・プロトコルを使用してもよく、或いは固有のメッセージ・プロトコルを使用してもよい。主データベース16及び副データベース18は、通常のリレーショナル又は階層型DBMSのような、任意の適当なデータベース管理システム(DBMS)を含んでもよい。特に、主データベース16及び副データベース18は、データベースが構造化問い合わせ言語(SQL)命令文のような同じ通常のデータベース命令文と同じ方法で応答する限り、同じベンダーによって又は異なるベンダーによって提供されてもよい。主データベース16及び副データベース18は、本明細書ではデータベース16、18としてひとまとめに呼ばれてもよく、その場合には、当該説明は、主データベース16と副データベース18の両方に等しく関係する。
データベース16、18がサーバ10,12と別個の記憶装置と関連しているものとしてそれぞれ示されているが、DBMSが、記憶装置に記憶されてもよいテーブル、データセット、及びデータを収容するインデックスのようなデータ構造体のみならず、関連したサーバ10、12上で又は特化したデータベースプロセッサ上で遂行し、かつ、アプリケーションプログラムがデータベース16、18を作成し更新しアクセスし問い合わせするのを可能にする比較的複雑な組のデータベースアクセスアルゴリズムを備えることを、当業者は認識するであろう。主データベース16に対して主サーバ10「上に」又は主サーバ10「と関連した」ということは、ネットワーク14上で又は別のネットワーク又は通信路上で主データベース16が物理的に主サーバ10上にあり又は主サーバ10と一体であり又は単に主サーバ10によってアクセス可能であろうとなかろうと、主データベース16と主サーバ10との関連付けのことを意味する。同様に、副データベース18に対してそれぞれの副サーバ12「上に」又はそれぞれの副サーバ12「と関連した」ということは、ネットワーク14上で又は別のネットワーク又は通信路上で副データベース18が物理的に副サーバ12上にあり又は副サーバ12と一体であり又は単に副サーバ12によるアクセス可能/不可に拘わらず、副データベース18とそれぞれの副サーバ12との関連付けのことを意味する。ここでデータベース情報をサーバ10、12から取得するということは、それぞれのサーバ10、12がそれぞれのデータベース16、18からのデータを提供することに実際に関与しているいないに拘わらず、ケース・バイ・ケースで、それぞれのサーバ10、12と関連したそれぞれのデータベース16、18から情報を得ることを意味する。
サーバ10、12の所望の機能を提供するアプリケーションは、種々の目的のために、それぞれのアプリケーションの動作に関する情報を備えたデータを記憶するため、データベース16、18を使用してもよい。たとえば、データベース16、18は、例えば関連したサーバ10、12のホストネーム又はインターネット・プロトコル(IP)アドレスのような、データベース16、18が関連した特定のサーバ10、12のみに関するノーダル・データを備えてもよい。データベース16、18はまた、シンプルネットワークマネジメント・プロトコル(SNMP)がサーバ10、12を管理するのに使用されるかどうかのような、クラスタ内におけるすべてのノードに関するクラスタデータを備えてもよい。本発明の一の実施形態により選択的にレプリケートされてもよいデータの種類は、SIPドメイン、SIPプロキシアトリビュート、SIPトラステッドノード、オペレーショナル・メジャーメント構成情報がアーカイブされるか否かのような、オペレーショナル・メジャーメント構成情報、コーデックがイネーブルにされることを識別するメディアコーデック情報、コーデックと関連した優先順位付け、最大中央処理ユニット限度のようなエンジニアリングパラメータ、タイムシンクロナイゼーション・サーバのアドレス、ライセンス・キーなどを備えた、セッションイニシエーション・プロトコル(Session Initiation Protocol:SIP)構成情報を備えてもよいが、これらに限定されなくてもよい。本発明によれば、主データベース16上で修正されるクラスタデータは、たとえば2又は3秒以内の実質的に同時のタイムフレームで副データベース18上で自動的にレプリケートされてもよいが、主データベース16上で修正されたノーダル・データは、副データベース18にレプリケートされない。
図2は、図1に説明された主サーバ10及び関連した主データベース16と副サーバ12及び関連した副データベース18のより詳細なブロック図であり、本発明の一の実施形態による選択的レプリケーションを実行するのに使用されてもよいテーブル定義を備える。主サーバ10は、主サーバ10の特定の機能を提供するアプリケーションを備える。副サーバ12は、テーブル・シンクロナイザ22を備え、テーブル・シンクロナイザ22はここでは、1以上の副サーバ12上で実行される本発明の態様を記載し、データを主データベース16から副データベース18に選択的にレプリケートするのに使用される。図2は、図3に関連して論じられており、図3は、本発明の一の実施形態による主データベース16中の主テーブル24を更新するためのプロセスを説明するフローチャートである。図2はまた、図4に関連して論じられており、図4は、本発明の一の実施形態によるデータを主テーブル24から副データベース18中の副テーブル26にレプリケートするためのプロセスを説明するフローチャートである。図2から図4はまた、図5に関連して論じられており、図5は、本発明の一の実施形態によるデータベースの選択的なレプリケーションを実行するのに使用されてもよい、あるテーブルのテーブル定義を説明するブロック図である。
次に図2及び図3を参照すると、アプリケーションが、1以上の構成パラメータを含むデータの新たな行28を主テーブル24に挿入することによって主テーブル24を修正し(ステップ100)、この修正が副データベース18にレプリケートされるべきレプリケーションタスクであるものと仮定する。本発明は、説明のため、テーブル、挿入、結合などのような、SQL DBMS及びリレーショナル・データベースの術語を使用して記載されているが、当業者は、ここに記載されている概念が、階層型DBMSを備えた多数の異なるタイプのDBMSに適用でき、本発明がリレーショナルDBMSの使用に限定されないことを認識するであろう。新たな行28を主テーブル24に挿入した後、アプリケーション20は、主テーブル24への更新と関連したデータの新たな行をTASK_CFGテーブル30に挿入する。データの新たな行は、SYNCTASKIDフィールド32を備えてもよく、SYNCTASKIDフィールド32は、レプリケーションタスクを識別する固有のタスク識別子を収容する。当業者は、固有の識別子が、要求時に固有の識別子を提供するベンダーが提供するオペレーティングシステム機能又はDBMS機能を呼び出すことを備えた、多くの異なる方法で取得されてもよいことを認識するであろう。TASK_CFGテーブル30における新たな行はまた、SYNCMODEフィールド34を備えてもよく、SYNCMODEフィールド34は、副データベース18上でレプリケーションを実行するのに使用されるデータベース命令文に関する情報を収容する。SYNCMODEフィールド34は、レプリケーションタスクが、SYNCSQLSTMTSフィールド38から取得されることができる単一のデータベース命令文又は多数のデータベース命令文で実行され、或いは副サーバ12が、多数のデータベース命令文を生成して、主テーブル24のスキーマ定義に基づきレプリケーションタスクを実行することを示すことができる。新たな行はまた、SYNCFIGフィールド36を備えてもよく、SYNCFIGフィールド36は、レプリケーションタスクが副テーブル26にレプリケートされるべきか否かを示す指標を収容する。新たな行はまた、SYNCSQLSTMTSフィールド38を備えてもよく、SYNCSQLSTMTSフィールド38は、SYNCMODEフィールド34に基づきレプリケーションタスクを副テーブル26上で実行する(ステップ102)ため、副サーバ12によって使用される実際のデータベース命令文を収容してもよい。特に、ここでより詳細に記載されるように、SYNCSQLSTMTSフィールド38に収容されるデータベース命令文は、新たな行28を主テーブル24に挿入するため、アプリケーション20によって使用される同じデータベース命令文でなくともよい。これは、SYNCSQLSTMTSフィールド38におけるデータベース命令文が、データを主テーブル24から副テーブル26にレプリケートするため、副サーバ12で遂行されるデータベース命令文であるからである。
次に、アプリケーション20は、新たな行をTASK_FED_ASSOCテーブル40に挿入する。TASK_FED_ASSOCテーブル40における新たな行は、上述(ステップ104)と同じSYNCTASKIDを収容するSYNCTASKIDフィールド42を備えてもよい。TASK_FED_ASSOCテーブル40における新たな行はまた、主テーブル24を識別する識別子を収容するSYNCTABLEIDフィールド44を備えてもよい。SYNCTABLEIDフィールド44からのSYNCTABLEIDを使用して、主データベース16の各テーブルの行を備えるFED_TABLE_CFGテーブル46をクロスリファレンスしてもよい。FED_TABLE_CFGテーブル46の各行は、主データベース16の特定のテーブルと関連した固有の識別子であるSYNCTABLEIDフィールド48、主データベース16における実際のテーブル名称を収容するSYNCTABLENAMEフィールド50、及び主データベース16の実際の名称を収容するSYNCDBNAMEフィールド52を備えてもよい。FED_TABLE_CFGテーブル46は、特定のSYNCTABLEIDを主データベース16における特定の主テーブルとクロスレファレンスするのに使用される。
次に、アプリケーション20は、新たな行をTASK_LAST_UPDATEテーブル54に挿入する。TASK_LAST_UPDATEテーブル54における新たな行は、TASK_FED_ASSOCテーブル40及びTASK_CFGテーブル30を参照して上述したSYNCTASKIDを収容するSYNCTASKIDフィールド56と、それぞれのSYNCTASKIDと関連した固有のシグネチャを備えたLASTSIGフィールド58とを備えることができる(ステップ106)。新たな行はまた、SYNCORDERフィールド60を備えてもよく、SYNCORDERフィールド60は、効率性のため又はデータ保全の目的のために特定の順番でレプリケーションが行われることを確保するため、副サーバ12によって使用されることができるデータを備える。TASK_CFGテーブル30、TASK_FED_ASSOCテーブル40、FED_TABLE_CFGテーブル46、及びTASK_LAST_UPDATEテーブル54は、ここでは主データベース16におけるテーブルとして全て記載されているが、当業者は、このようなテーブルが主データベース16とは別個のデータベース中にあるものでもよいことを認識するであろう。
次に、アプリケーション20は、レプリケーションタスクが主データベース16上で実行されたことを、副サーバ12で実行するテーブル・シンクロナイザ22に通知する(ステップ108)。アプリケーション20は、第1サーバ上で実行するタスクが、第1サーバ上でのイベントの発生を第2サーバ上で実行するタスクに通知するのを可能にする任意の通常のメカニズムを使用して、レプリケーションタスクについて副サーバ12に通知することができる。本発明の一の実施形態によれば、アプリケーション20は、レプリケーションタスクがSQLトリガを介して主データベース16上で実行されたことを、テーブル・シンクロナイザ22に通知する。トリガは、新たな行をTASK_LAST_UPDATEテーブル54に挿入するとき作動されてもよい。トリガは、レプリケーションタスクが主データベース16上で実行されたことをテーブル・シンクロナイザ22に通知して、テーブル・シンクロナイザ22が発生するのを待機しているイベントを生じさせてもよい。
次に図2及び図4を参照すると、テーブル・シンクロナイザ22は、更新が主テーブル24に適用されたことを確認する(ステップ200)。テーブル・シンクロナイザ22は、主データベース16のTASK_LAST_UPDATEテーブル54から各行を取得する(ステップ202)。テーブル・シンクロナイザ22は、副データベース18上で予め実行された各レプリケーションタスクと関連した行を備える副データベース18のTASK_LAST_SYNCテーブル62にアクセスする。TASK_LAST_SYNCテーブル62の各行は、それぞれのレプリケーションタスクと関連した主データベース16からSYNCTASKIDを収容するSYNCTASKIDフィールド64と、それぞれのSYNCTASKIDと関連したLASTSIGを備えるLASTSIGフィールド66とを備える。テーブル・シンクロナイザ22は、TASK_LAST_UPDATEテーブル54の各行からのLASTSIGをTASK_LAST_SYNC テーブル62の各行からのLASTSIGと比較して、TASK_LAST_UPDATEテーブル54の各行に対するLASTSIGがTASK_LAST_SYNCテーブル62の行におけるLASTSIGに合致するか否かを確認する(ステップ204)。TASK_LAST_SYNCテーブル62の行からのLASTSIGが、TASK_LAST_UPDATEテーブル54における任意の行のLASTSIGに合致しない場合には、当該SYNCTASKIDと関連したレプリケーションタスクは、副データベース18上で実行されなければならない。アプリケーション20が新たな行28を具える主テーブル24の更新を伴う新たなレプリケーションタスクを実行したので、TASK_LAST_UPDATEテーブル54における新たな行からのLASTSIGは、TASK_LAST_SYNCテーブル62における任意の行からのLASTSIGに合致しないであろう。
次いで、テーブル・シンクロナイザ22は、主データベース16のTASK_FED_ASSOCテーブル40にアクセスし、TASK_LAST_UPDATEテーブル54の新たな行からSYNCTASKIDを使用してTASK_FED_ASSOCテーブル40にアクセスし、それぞれのSYNCTASKIDに対してSYNCTABLEIDを取得する(ステップ206)。次いで、テーブル・シンクロナイザ22は、TASK_FED_ASSOCテーブル40からSYNCTABLEIDを使用して主データベース16のFED_TABLE_CFGテーブル46にアクセスし、テーブルのSYNCTABLENAME、及びそれぞれのシンクロナイゼーション・タスクで使用されたデータベースのSYNCDBNAMEを取得する(ステップ208)。次いで、テーブル・シンクロナイザ22は、FED_TABLE_CFGテーブル46のSYNCTABLENAMEフィールド50によって識別される特定の主テーブル24に指示し又は連結される副連合テーブル68を設定する(ステップ210)。当業者によって理解されるように、連合テーブルは、リモートサーバ上のデータベースのテーブルが、当該データベースのテーブルがローカルサーバ上にマウントされたか或いはローカルサーバ上に存在するかのように表示されるのを可能にする。「連合テーブル」という語句が、あるDBMSで使用される際、連合テーブルの容量及び概念が多くの異なるDBMSにおいて存在し、ここでの語句「連合テーブル」の使用が、任意の特別なDBMSにおいてこのような特徴を記載するのに使用される特定の術語に関係なく、ローカルデータベースのテーブルに適用されるデータベース命令文がデータをリモートデータベースからアクセスさせるように、リモートデータベースからローカルデータベース上のテーブルを表示する能力を包含することが認識されるであろう。本発明の副連合テーブル68は好ましくは、副連合テーブル68が連結される主テーブル24と副テーブル26の両方について同じテーブル定義を有する。
テーブル・シンクロナイザ22は、それぞれのSYNCTASKIDを使用して主データベース16のTASK_CFGテーブル30にアクセスし、TASK_CFGテーブル30のそれぞれの行のSYNCSQLSTMTSフィールド38から更新コマンドを取得する(ステップ212)。データベースの更新コマンドは、それぞれのDBMSと関連した1以上のデータベース命令文を含む。データベースの更新コマンドが単一のデータベース命令文を含む場合には、SYNCMODEフィールド34は、「0」の値を有してよい。データベースの更新コマンドが多数のデータベース命令文を含む場合には、SYNCMODEフィールド34は、「1」の値を有してよい。次いで、テーブル・シンクロナイザ22は、副連合テーブル68を使用してデータベース命令文を副テーブル26に適用し、主データベース16において主テーブル24の新たな行28からデータをレプリケートする新たな行70を作成する。次いで、テーブル・シンクロナイザ22は、引き続きレプリケーションタスクを繰り返さないようにSYNCTASKIDとTASK_LAST_UPDATEテーブル54から取得されたそれぞれのレプリケーションタスクと関連したLASTSIGとを備えたTASK_LAST_SYNCテーブル62に新たな行を挿入する(ステップ214)。次いで、テーブル・シンクロナイザ22は、一定の期間の後、副連合テーブル68を取り除いてもよい。
他の実施形態では、SYNCMODEフィールド34は「2」の値を有し、これは、テーブル・シンクロナイザ22が主テーブル24のテーブルスキーマに基づき第2のコマンドを生成することの表示である。このような実施形態では、テーブル・シンクロナイザ22は、主データベース16のスキーマを問い合わせし、主テーブル24及び副テーブル26を定めるテーブルスキーマを確認する。テーブル・シンクロナイザ22は、挿入、更新、及び削除のSQL命令文を生成し、これらの命令文は、副連合テーブル68に対して各フィールド上で結合を実行する。挿入のSQL命令文は、副テーブル26中には事前にはなかった新たな行を、主テーブル24から副テーブル26に加える。更新のSQL命令文は、主テーブル24からの同じ行のデータに基づき副テーブル26の任意の行を更新する。削除のSQL命令文は、主テーブル24中に存在しない行を副テーブル26から取り除く。
図5は、本発明の他の実施形態によるアプリケーション20によって実行される典型的なレプリケーションタスクの典型的なデータを説明するブロック図である。TASK_FED_ASSOCテーブル40、TASK_CFGテーブル30、FED_TABLE_CFGテーブル46、TASK_LAST_UPDATEテーブル54、及びTASK_LAST_SYNCテーブル62は、図2を参照して論じられたものと同一のフィールドを収容する。しかしながら、図5には、説明のため、実際の見本データが示されている。それぞれのテーブルの各行には、それぞれのテーブルの後にアルファベット文字を付したのと同じ参照符号が記載されている。たとえば、TASK_FED_ASSOCテーブル40は、3つの行40A,40B,40Cを収容する。TASK_FED_ASSOCテーブル40の各行は、ここで論じられているように、特定の値を収容するSYNCTASKIDフィールド42と、特定の値を収容するSYNCTASKIDフィールド44とを備える。フィールド内のデータは、ここでは、それぞれのフィールドの名称で呼ばれる。アプリケーション20が、SYNCTASKIDが「101」に等しいレプリケーションタスクでちょうど終了したものと仮定する。アプリケーション20は、行30AをTASK_CFGテーブル30に記憶し、そこでは、SYNCTASKIDは「101」に等しく、SYNCMODEは「0」に等しく、SYNCFIGは「1」に等しく、SYNCSQLSTMTSは、テーブル・シンクロナイザ22が副テーブル26に適用してレプリケーションタスクを実行するSQL命令文を収容する。アプリケーション20はまた、同じSYNCTASKIDを収容し、主テーブルが「8282」に等しいSYNCTABLEIDを参照するTASK_FED_ASSOCテーブル40に、行40Aを挿入した。アプリケーション20は、同じSYNCTASKID及び「62」に等しいLASTSIGを収容するTASK_LAST_UPDATEテーブル54に、行54Aを挿入した。行54Aは、「0」に等しいSYNCORDERを収容し、これは、このレプリケーションタスクの順序が他のレプリケーションタスクの順序と無関係であることを表示する。アプリケーション20がレプリケーションタスクの終了時点でテーブル・シンクロナイザ22に通知するものと仮定する。テーブル・シンクロナイザ22は、主データベース16のTASK_LAST_UPDATEテーブル54から行54A、54Bを読み込む。テーブル・シンクロナイザ22は、行54A、54Bの各々からのLASTSIGを、副データベース18のTASK_LAST_SYNCテーブル62の行62A、62BからのLASTSIGと比較する。テーブル・シンクロナイザ22は、行62AのLASTSIGが行54AのLASTSIGと合致しないことを確認する。テーブル・シンクロナイザ22は、「101」のSYNCTASKID値を使用して、TASK_FED_ASSOCテーブル40を読み込み、同一のSYNCTASKID値「101」を収容する行40Aを取得する。テーブル・シンクロナイザ22は、行40AのSYNCTABLEIDが「8282」に等しいことを確認する。テーブル・シンクロナイザ22は、行46CからのSYNCTABLEIDを使用して、FED_TABLE_CFGテーブル46から行46Cを取得する。行46Cは、SYNCTABLENAMEフィールド50に収容されるテーブル名称が「OM_CFG」であり、SYNCDBNAMEフィールド52のデータベース名称が「EMPLATCORE」に等しいことを表示する。テーブル・シンクロナイザ22は、「OM_CFG_FED」と名付けられた副連合テーブル68を副データベース18上に生成する。テーブル・シンクロナイザ22が、レプリケーションタスクにおいて更新され、サフィックス「_FED」が付された主テーブル24の名称に基づき、連合データベーステーブルを生成したことに留意されたい。副データベース18に適用してそれぞれのレプリケーションタスクを実行するTASK_CFGテーブル30のSYNCSQLSTMTSフィールド38に記憶された更新コマンドに対するものと同じ名称規則を主サーバ10が使用する限り、副連合テーブル68を生成するのに、任意の適当な名称規則を使用することができる。
副連合テーブル68は、主データベース16の主テーブル24に連結される。副連合テーブル68は、副連合テーブル68を参照する副データベース18に適用されるSQL命令文が、主テーブル24全体を副データベース18にコピーせずに、副連合テーブル68と主テーブル24との連合した連結によって主テーブル24にアクセスするという点で、主テーブル24の副データベース18から主サーバ10上に、仮想的なビューを実質的に提供する。テーブル・シンクロナイザ22は、TASK_CFGテーブル30にアクセスし、「101」に等しいSYNCTASKID値を使用して、TASK_CFGテーブル30から行30Aを取得する。SYNCMODEフィールド34における「0」の値は、更新コマンドが単一のデータベース命令文であることを表示する。SYNCFIGフィールド36における「1」の値は、このタスクが副サーバ12上でレプリケートされるべきであることを表示する。テーブル・シンクロナイザ22は、図5に示されるように「更新」SQL命令文である特定のデータベース命令文をSYNCSQLSTMTSフィールド38から得て、そこで、OM_CFG副テーブル26の「IND」フィールドが主テーブル24の「IND」フィールドに等しい場合には、「OM_CFG」副テーブル26の「CFG」フィールドは、主テーブル24からの「CFG」フィールドの値に設定される。SYNCSQLSTMTSフィールド38に収容された「更新」命令文が副連合テーブル68を参照することに留意されたい。副連合テーブル68の使用は、通常のSQL命令文が副サーバ12上でレプリケーションタスクを実行するのに使用されることを可能にする。図5に説明されたテーブルの各々が、SYNCTASKIDの値が「653」に等しい第2レプリケーションタスクが主データベース16上と副データベース18上の両方で事前に実行されたこと、及びこのようなレプリケーションタスクが多数の主テーブル24と多数のSQL命令文を伴うことを反映していることにも留意されたい。
図6は、本発明の一の実施形態による副サーバ12のブロック図である。副サーバ12は、ここに記載されるようなテーブル・シンクロナイザ22の機能を実施するのに適したソフトウェア84が記憶されたメモリ82を収容する制御システム80を備える。副サーバ12は、適宜、ネットワーク14又は副データベース18とインターフェース接続するための通信インターフェース86を備える。ここでは図示されていないが、主サーバ10のブロック図は、副サーバ12のブロック図と同様のものでもよく、そこでは、メモリの関連したソフトウェアは、アプリケーション20に関して記載された機能を実施するのに適しているであろう。
当業者は、本発明の好ましい実施形態に対する改良及び修正を認識するであろう。このような改良及び修正はすべて、本明細書に開示された概念及び以下の特許請求の範囲の範囲内であるとみなされる。

Claims (25)

  1. データを第1データベースから第2データベースにレプリケートするための方法であって、
    第1更新コマンドが、主サーバと関連した主データベースの主テーブルにおいてデータを修正したことを確認し、
    前記第1更新コマンドが前記主データベースの前記主テーブルにおいてデータを修正したことを確認するのに応答して、前記第1更新コマンドに基づき第2更新コマンドを確認し、
    前記主テーブルに連結された副連合テーブルを使用して副サーバと関連した副データベースの副テーブルにおいてデータをレプリケートするために、前記第2更新コマンドを適用する、
    方法。
  2. 前記第1更新コマンドに基づき前記第2更新コマンドを確認することが、前記主データベースから、前記副データベースに適用するための1以上の修正命令文を取得することを含む、請求項1に記載の方法。
  3. 前記第1更新コマンドに基づき前記第2更新コマンドを確認することが、前記第1更新コマンドによって更新された前記主テーブルと関連したテーブルスキーマを取得し、前記テーブルスキーマに基づき前記第2更新コマンドを生成することを含む、請求項1に記載の方法。
  4. 1以上の修正命令文の各々が、前記副連合テーブルに対する参照を備える、請求項2に記載の方法。
  5. 前記データが、前記副データベースと関連した前記副サーバと関連した構成に関する情報を含む、請求項1に記載の方法。
  6. 前記主データベースは、前記主サーバと関連した第1記憶装置に記憶され、前記副データベースは、前記副サーバと関連した第2記憶装置に記憶される、請求項1に記載の方法。
  7. 前記主サーバ及び前記副サーバが、メディアアプリケーションサーバを含む、請求項6に記載の方法。
  8. 前記主テーブル、前記副テーブル、及び前記副連合テーブルの各々が、同じテーブル定義を有する、請求項1に記載の方法。
  9. 前記第1更新コマンドが前記主テーブルを修正したことを確認することが、前記第1更新コマンドが前記主データベースを修正したとの通知を、前記主サーバから受信することを含む、請求項1に記載の方法。
  10. 前記第1更新コマンドを前記主サーバの前記主テーブルに適用し、前記第1更新コマンドに基づき前記第2更新コマンドを生成し、前記第2更新コマンドを前記主データベースの更新テーブルに記憶することをさらに含む、請求項1に記載の方法。
  11. 前記第2更新コマンドが、前記副テーブル及び前記副連合テーブルを参照する1以上の修正命令文を含む、請求項10に記載の方法。
  12. 前記副テーブルを修正するために前記第2更新コマンドを適用することが、前記副連合テーブルを生成し、前記副連合テーブルを使用して前記副テーブルを修正するために前記第2更新コマンドを適用し、前記第2更新コマンドを適用した後に前記副連合テーブルを取り除くことをさらに含む、請求項1に記載の方法。
  13. 前記第2更新コマンドは、前記副連合テーブルに対する参照を備え、前記第2更新コマンドの適用時に、前記副連合テーブルに対する前記参照によって、前記主データベースの前記主テーブルから前記副連合テーブルにデータが自動的に伝えられる、請求項1に記載の方法。
  14. 前記副連合テーブルは、前記主データベースの前記主テーブルの仮想的なビューを含み、前記副連合テーブルは、前記主テーブルに収容されるデータのすべてを収容しない、請求項1に記載の方法。
  15. 更新すべき前記副テーブルを確認することをさらに含み、前記第2更新コマンドは、前記副テーブルに適用するための構造化問い合わせ言語(SQL)命令文を含む、請求項1に記載の方法。
  16. それぞれの関連した副データベースを各々が有する複数の副サーバをさらに含み、前記第1更新コマンドが、前記主データベースの前記主テーブルの前記データを修正したことを確認するのに応答して、前記複数の副サーバの各々は、前記第1更新コマンドに基づき前記第2更新コマンドを確認し、前記主テーブルに連結されたそれぞれの副連合テーブルを実質的に同時に使用して前記副データベースのそれぞれの副テーブルの前記データをレプリケートするために前記第2更新コマンドを適用する請求項1に記載の方法。
  17. 前記主サーバ及び前記複数の副サーバの各々は、サーバのクラスタ内でノードを含む、請求項16に記載の方法。
  18. 前記副テーブルが、前記副データベースの複数の副テーブルの1つである、請求項1に記載の方法。
  19. 前記主テーブルに連結された前記副連合テーブルを使用して前記副データベースの前記副テーブルの前記データをレプリケートするために前記第2更新コマンドを適用することが、前記副テーブルの第1の複数の行を更新し、前記副テーブルの第2の複数の行が更新されない、請求項1に記載の方法。
  20. テーブルを更新するための装置であって、
    ネットワークと通信するよう適応されるインターフェースと、
    前記インターフェースに連結される制御システムとを備え、
    前記制御システムは、
    第1更新コマンドが、主サーバと関連した主データベースの主テーブルにおいてデータを修正したことを確認し、
    前記第1更新コマンドが前記主データベースの前記主テーブルにおいてデータを修正したことを確認するのに応答して、前記第1更新コマンドに基づき第2更新コマンドを確認し、
    前記主テーブルに連結された副連合テーブルを使用して副サーバと関連した副データベースの副テーブルにおいてデータをレプリケートするために、前記第2更新コマンドを適用する、
    ように適用される装置。
  21. 前記第2更新コマンドを確認するために、前記制御システムが更に前記主データベースから前記副データベースに適用するための1以上の修正命令文を取得するように適応される請求項20に記載の装置。
  22. 1以上の修正命令文の各々は、前記副連合テーブル参照する請求項21に記載の装置。
  23. 前記第2更新コマンドを確認するために、前記制御システムは更に、前記第1更新コマンドによって更新された前記主テーブルと関連したテーブルスキーマを取得し、前記テーブルスキーマに基づき前記第2更新コマンドを生成するように適応される請求項20に記載の装置。
  24. 前記副連合テーブルは、前記主データベースの前記主テーブルの仮想的なビューを含み、前記副連合テーブルは、前記主テーブルに収容されるデータのすべてを収容しない請求項20に記載の装置。
  25. 前記制御システムは更に更新すべき前記副テーブルを確認するように適応され、前記第2更新コマンドは、前記副テーブルに適用するための構造化問い合わせ言語(SQL)命令文を含む請求項20に記載の装置。
JP2011541637A 2008-12-22 2009-12-22 選択的データベースレプリケーション Expired - Fee Related JP5514834B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/341,845 2008-12-22
US12/341,845 US9239767B2 (en) 2008-12-22 2008-12-22 Selective database replication
PCT/IB2009/007873 WO2010073110A1 (en) 2008-12-22 2009-12-22 Selective database replication

Publications (2)

Publication Number Publication Date
JP2012513632A true JP2012513632A (ja) 2012-06-14
JP5514834B2 JP5514834B2 (ja) 2014-06-04

Family

ID=42267522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011541637A Expired - Fee Related JP5514834B2 (ja) 2008-12-22 2009-12-22 選択的データベースレプリケーション

Country Status (9)

Country Link
US (1) US9239767B2 (ja)
EP (1) EP2382564A4 (ja)
JP (1) JP5514834B2 (ja)
KR (1) KR20110110223A (ja)
CN (2) CN102257494B (ja)
BR (1) BRPI0923479A2 (ja)
CA (1) CA2745683A1 (ja)
RU (1) RU2531572C2 (ja)
WO (1) WO2010073110A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10685038B2 (en) 2015-10-29 2020-06-16 Dropbox Inc. Synchronization protocol for multi-premises hosting of digital content items
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10699025B2 (en) 2015-04-01 2020-06-30 Dropbox, Inc. Nested namespaces for selective content sharing
US10819559B2 (en) 2016-01-29 2020-10-27 Dropbox, Inc. Apparent cloud access for hosted content items
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8621275B1 (en) 2010-08-06 2013-12-31 Open Invention Network, Llc System and method for event-driven live migration of multi-process applications
JP4939568B2 (ja) * 2009-04-28 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース間でデータを同期するための方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム
CN102456115A (zh) * 2010-10-26 2012-05-16 镇江精英软件科技有限公司 把关键表中信息通过加密存储在对应副表中来实现信息更安全保存的方法
US9137288B2 (en) * 2010-12-20 2015-09-15 Yahoo! Inc. Scalable push-based architecture for web applications
US8977591B1 (en) * 2011-06-07 2015-03-10 Cellco Partnership Transitive database replication
US9910904B2 (en) * 2011-08-30 2018-03-06 International Business Machines Corporation Replication of data objects from a source server to a target server
US8984350B1 (en) * 2012-04-16 2015-03-17 Google Inc. Replication method and apparatus in a distributed system
CN103167017B (zh) * 2013-01-09 2016-06-29 北京奇虎科技有限公司 Web轮询方法、装置及系统
US9251008B2 (en) * 2013-03-14 2016-02-02 International Business Machines Corporation Client object replication between a first backup server and a second backup server
US9507842B2 (en) * 2013-04-13 2016-11-29 Oracle International Corporation System for replication-driven repository cache invalidation across multiple data centers
CN105723365B (zh) * 2013-11-19 2019-09-03 华为技术有限公司 用于优化索引、主数据库节点和订户数据库节点的方法
US9405854B2 (en) * 2013-12-16 2016-08-02 Sybase, Inc. Event stream processing partitioning
US9558255B2 (en) 2014-03-11 2017-01-31 International Business Machines Corporation Managing replication configuration availability
US9519675B2 (en) * 2014-10-01 2016-12-13 Sap Se Data access management during zero downtime upgrade
EP3091449B1 (en) * 2015-05-04 2018-07-25 Deloitte Consulting GmbH Operating a database system
RU2606315C1 (ru) * 2015-06-08 2017-01-10 Федеральное государственное казенное военное образовательное учреждение высшего образования " Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Способ обработки запросов пользователей распределённой информационной системы
KR102062082B1 (ko) * 2015-07-29 2020-02-11 엘에스산전 주식회사 에너지 관리 시스템
US10725708B2 (en) 2015-07-31 2020-07-28 International Business Machines Corporation Replication of versions of an object from a source storage to a target storage
CN108352196A (zh) * 2015-10-30 2018-07-31 皇家飞利浦有限公司 没有明显的准标识符的去标识的健康护理数据库的医院匹配
KR101758558B1 (ko) * 2016-03-29 2017-07-26 엘에스산전 주식회사 에너지 관리 서버 및 그를 갖는 에너지 관리 시스템
US10169134B2 (en) * 2017-01-21 2019-01-01 International Business Machines Corporation Asynchronous mirror consistency audit
US10664462B2 (en) * 2017-03-01 2020-05-26 Sap Se In-memory row storage architecture
US10521344B1 (en) 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
JP6553125B2 (ja) * 2017-06-20 2019-07-31 株式会社東芝 データベースサーバ、データベース管理方法、およびプログラム
US10671494B1 (en) * 2017-11-01 2020-06-02 Pure Storage, Inc. Consistent selection of replicated datasets during storage system recovery
RU188004U1 (ru) * 2018-07-25 2019-03-26 федеральное государственное бюджетное образовательное учреждение высшего образования "Российский государственный университет им. А.Н. Косыгина (Технологии. Дизайн. Искусство)" Устройство репликации информации в базах данных независимых компьютеров
CN110287187B (zh) * 2019-06-04 2021-06-08 华自科技股份有限公司 多个服务器中数据表同步更新方法、系统和存储介质
CN111813799B (zh) * 2020-07-23 2024-01-19 德清云岫科技有限公司 数据库查询语句生成方法、装置、计算机设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047918A (ja) * 1998-07-30 2000-02-18 Hitachi Ltd レプリケーションシステム及びレプリケーション制御方法
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2004295540A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd トランザクション同期方法、データベースシステム及びデータベース装置
US20050198074A1 (en) * 2004-03-08 2005-09-08 Transreplicator, Inc. Apparatus, systems and methods for relational database replication and proprietary data transformation
US20060190497A1 (en) * 2005-02-18 2006-08-24 International Business Machines Corporation Support for schema evolution in a multi-node peer-to-peer replication environment
US20080034014A1 (en) * 2006-08-03 2008-02-07 Sybase, Inc. Replication System with Methodology for Replicating Stored Procedure Calls
US20080183776A1 (en) * 2004-08-30 2008-07-31 Corio, Inc. Database backup, refresh and cloning system and method
US20080189340A1 (en) * 2007-02-01 2008-08-07 David Randall Blea Apparatus, system, and method for synchronizing a remote database

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69433372T2 (de) * 1993-04-05 2004-10-14 Motorola, Inc., Schaumburg Selektivruf mit mehreren verteilten Ausgängen
JP4187302B2 (ja) * 1998-03-25 2008-11-26 富士通株式会社 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
US6529917B1 (en) * 2000-08-14 2003-03-04 Divine Technology Ventures System and method of synchronizing replicated data
US8682844B2 (en) * 2005-01-28 2014-03-25 Sap Ag Method and apparatus for collision resolution in an asynchronous database system
US20060235904A1 (en) * 2005-04-14 2006-10-19 Rajesh Kapur Method for preserving access to system in case of disaster
CA2506303A1 (en) * 2005-04-14 2005-09-15 Rajesh Kapur Method for validating system changes safely by use of a replicated system as a system testbed
US7577661B2 (en) * 2005-06-30 2009-08-18 Microsoft Corporation Extensible and automatically replicating server farm configuration management infrastructure

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047918A (ja) * 1998-07-30 2000-02-18 Hitachi Ltd レプリケーションシステム及びレプリケーション制御方法
JP2001034518A (ja) * 1999-07-27 2001-02-09 Nec Software Chugoku Ltd 分散データベースシステムにおける主従関係情報同期方式
JP2004295540A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd トランザクション同期方法、データベースシステム及びデータベース装置
US20050198074A1 (en) * 2004-03-08 2005-09-08 Transreplicator, Inc. Apparatus, systems and methods for relational database replication and proprietary data transformation
US20080183776A1 (en) * 2004-08-30 2008-07-31 Corio, Inc. Database backup, refresh and cloning system and method
US20060190497A1 (en) * 2005-02-18 2006-08-24 International Business Machines Corporation Support for schema evolution in a multi-node peer-to-peer replication environment
US20080034014A1 (en) * 2006-08-03 2008-02-07 Sybase, Inc. Replication System with Methodology for Replicating Stored Procedure Calls
US20080189340A1 (en) * 2007-02-01 2008-08-07 David Randall Blea Apparatus, system, and method for synchronizing a remote database

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200900215005; 渡部 智和: 'インフラ知識' システム開発ジャーナル 第6巻, 20080929, p.50-57, 株式会社毎日コミュニケーションズ *
JPN6013050298; 渡部 智和: 'インフラ知識' システム開発ジャーナル 第6巻, 20080929, p.50-57, 株式会社毎日コミュニケーションズ *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699025B2 (en) 2015-04-01 2020-06-30 Dropbox, Inc. Nested namespaces for selective content sharing
US10963430B2 (en) 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US11580241B2 (en) 2015-04-01 2023-02-14 Dropbox, Inc. Nested namespaces for selective content sharing
US12118112B2 (en) 2015-04-01 2024-10-15 Dropbox, Inc. Nested namespaces for selective content sharing
US10685038B2 (en) 2015-10-29 2020-06-16 Dropbox Inc. Synchronization protocol for multi-premises hosting of digital content items
US10691718B2 (en) 2015-10-29 2020-06-23 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10740350B2 (en) 2015-10-29 2020-08-11 Dropbox, Inc. Peer-to-peer synchronization protocol for multi-premises hosting of digital content items
US11144573B2 (en) 2015-10-29 2021-10-12 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
US10819559B2 (en) 2016-01-29 2020-10-27 Dropbox, Inc. Apparent cloud access for hosted content items
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface

Also Published As

Publication number Publication date
US9239767B2 (en) 2016-01-19
CN102257494B (zh) 2014-10-08
JP5514834B2 (ja) 2014-06-04
KR20110110223A (ko) 2011-10-06
US20100161551A1 (en) 2010-06-24
BRPI0923479A2 (pt) 2017-05-30
CN102257494A (zh) 2011-11-23
EP2382564A4 (en) 2014-01-08
EP2382564A1 (en) 2011-11-02
RU2531572C2 (ru) 2014-10-20
CN104239439A (zh) 2014-12-24
WO2010073110A1 (en) 2010-07-01
CA2745683A1 (en) 2010-07-01
RU2011127316A (ru) 2013-01-27

Similar Documents

Publication Publication Date Title
JP5514834B2 (ja) 選択的データベースレプリケーション
US20220147488A1 (en) System And Method For Synchronizing File Systems With Large Namespaces
US11886870B2 (en) Maintaining and updating software versions via hierarchy
CN108475271B (zh) 容器数据库的应用容器
RU2404451C2 (ru) Инфраструктура расширяемого и автоматически реплицирующего управления конфигурацией пула серверов
US10572551B2 (en) Application containers in container databases
US7546335B2 (en) System and method for a data protocol layer and the transfer of data objects using the data protocol layer
US7797412B2 (en) Method and system for managing server configuration data
US7970823B2 (en) System for sharing data objects among applications
US8386646B2 (en) Simplified application object data synchronization for optimized data storage
US20170132265A1 (en) Distributed system for application processing
US20070255763A1 (en) Database replication method and system
US7340488B2 (en) Conflictless replication in a multi-master directory system
JP2004295870A (ja) アプリケーション定義のシステムにおける整合性ユニットのレプリケーション
WO2003063013A1 (en) Enabling online and offline operation
JPH11327992A (ja) ネットワ―ク上でのサ―バとクライアントの通信
US20090327362A1 (en) Incremental backup of database for non-archive logged servers
US7917636B2 (en) System and method for detecting unused accounts in a distributed directory service
KR20060044411A (ko) 컴퓨터 신원을 관리하는 방법, 시스템 및 장치
JP2020184325A (ja) レプリカ処理方法、ノード、ストレージシステム、サーバ及び読み取り可能な記憶媒体
US9489652B1 (en) Obtaining and running a local query on a computing device
JPH0981431A (ja) データベース処理システム及びデータベースの更新方法
EP2183688B1 (en) A method and apparatus in a database system
JP2005004618A (ja) ディレクトリデータベース間参照連携情報整合性保持プログラム、装置、記録媒体および方法
JP6200377B2 (ja) 仮想dbシステム、および、仮想dbシステムの情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R150 Certificate of patent or registration of utility model

Ref document number: 5514834

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees