JP6062855B2 - MySQLデータベース−異種ログベースレプリケーション - Google Patents
MySQLデータベース−異種ログベースレプリケーション Download PDFInfo
- Publication number
- JP6062855B2 JP6062855B2 JP2013521774A JP2013521774A JP6062855B2 JP 6062855 B2 JP6062855 B2 JP 6062855B2 JP 2013521774 A JP2013521774 A JP 2013521774A JP 2013521774 A JP2013521774 A JP 2013521774A JP 6062855 B2 JP6062855 B2 JP 6062855B2
- Authority
- JP
- Japan
- Prior art keywords
- mysql
- log
- binary log
- data
- vam
- 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.)
- Active
Links
- 230000010076 replication Effects 0.000 title claims description 34
- 238000000034 method Methods 0.000 claims description 59
- 230000008569 process Effects 0.000 claims description 41
- 239000000284 extract Substances 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000010354 integration Effects 0.000 description 5
- 238000013481 data capture Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
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
-
- 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/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Description
本特許文献の開示の一部は、著作権保護の対象となる内容を含む。本著作権所有者は、特許文献または特許開示について、特許商標庁の特許ファイルまたは記録に記載されたとおりのものが複製されることに対して異議を唱えないが、他の点では何であれすべての著作権を保持するものとする。
本発明は一般に異種システム間でのデータ転送に関し、特にMySQLデータベースまたはシステムと、別の種類のデータベースまたはシステムとの間でデータを転送するために、ログベースレプリケーションを用いるシステムおよび方法に関する。
MySQLオープンソースデータベースといったデータベースプロダクトは、世界中でますます多くの組織で用いられている。1日当たり5万回のダウンロードが推定されるが、MySQLデータベースは信頼性の高い手頃な価格で使い易い高性能データベースを必要とするデータベース開発者、管理者(DBA)およびITマネージャにとっては人気のある選択である。一部の組織では、このようなデータベースは主要なプロダクション環境となっており、事業の中核であるアプリケーションを実行するために用いられている。事業が拡大すると、複雑なデータ管理の必要も出てくる。これらの組織の多くは、スケーラビリティ(scalability)上の理由により、たとえば自己のMySQLデータベースからOracle(登録商標)/DB2/SqlServerといった他の商業的データベースにデータを移行したいと考えている。
異種システム間でデータを転送するためのシステムおよび方法が記載され、特にたとえばMySQLデータベースまたはシステムと、他の種類のデータベースまたはシステムとの間でデータを転送するためにログベースレプリケーションが用いられる。ある実施例に従うと、システムを用いてソースデータベースシステムからターゲットデータベースシステムへのMySQLデータの1回限りのコピーまたは最初のコピーを行ない、および/またはMySQLデータベースのバイナリログからキャプチャされた進行中のトランザクションを、連続した態様で1つ以上の非MySQLデータベースにレプリケートし、2つのシステムは対象トランザクションのために同期化される。ある実施例に従うと、すべてのもしくは部分的データ変更は、MySQLバイナリログから抽出(extract)でき、任意に変換、スキップまたは拡大され、ファイルに出力または書込まれ(一実施例に従うと、トレールファイル、またはOracle(登録商標) GoldenGateトレールファイルとして実施でき)、次に1つ以上のターゲットシステム(たとえば別のMySQLデータベース、または非MySQLデータベース)で与えることができ、それによりソースおよびターゲットのシステムを同期させる。
異種システムの間でデータを転送するためのシステムおよび方法が記載され、特にログベースレプリケーションを用いて、たとえばMySQLデータベースまたはシステムと、他の種類のデータベースまたはシステムとの間でデータを転送する。一実施例に従うと、システムを用いてソースデータベースシステムからターゲットデータベースシステムへのMySQLデータの1回限りのコピーまたは最初のコピーを行ない、および/またはMySQLデータベースのバイナリログからキャプチャされた進行中のトランザクションを、連続した態様で1つ以上の非MySQLデータベースにレプリケートし、2つのシステムは対象トランザクションのために同期化される。一実施例に従うと、すべてのもしくは部分的データ変更は、MySQLバイナリログから抽出でき、任意に変換、スキップまたは拡大され、ファイルに出力または書込まれ(一実施例に従うと、トレールファイル、またはOracle(登録商標) GoldenGateトレールファイルとして実施でき)、次に1つ以上のターゲットシステム(たとえば別のMySQLデータベース、または非MySQLデータベース)で与えることができ、それによりソースおよびターゲットのシステムを同期させる。本発明のさまざまな実施例の利点は以下を含む:
1.ログベースレプリケーションは、MySQLデータベースシステムと非MySQLデータベースシステムとの間のトランザクションレプリケーションについて、非常に低いレイテンシを可能にする。トランザクションがMySQLシステムにコミットされてから非MySQLシステムにレプリケーションされるまでの一般的に予想される時間は数秒以下である。
図2は現行のバイナリログファイルを定めるためのログインデックスファイルの使用を示す図である。一実施例に従うと、MySQLはログインデックスファイルを用いて、現行のバイナリログファイルおよびより古いログファイルを識別するリストを維持する。このログインデックスファイルは、バイナリログと、同じディレクトリ場所にある。システムはログファイルフォーマットが、たとえばROW、STATEMENT、またはMIXEDフォーマットのいずれであるかを判断するために構成ファイルから読出し、ROWでない場合に、アベンド(abend)する。初期化の際、VAMはアクティブバイナリログファイルの名前を得る必要がある。図2に示されるように、実施例132に従うと、MySQLデータベース104は、上記の構成設定およびパラメータを用いて、現行のバイナリログファイル106(または複数のバイナリログファイル108)にデータ変更を書込むことができる。アクティブバイナリログを定めるために、VAM111は環境変数または与えられたVAMパラメータからMySQL設置ホームを得て、MySQL初期化ファイルを読出し(すなわち、ウインドウズ(登録商標)プラットフォームではmy.iniであり、他のプラットフォームではmy.confファイルであり);「ログ-ビン」パラメータの値を得て、ログディレクトリ場所およびログインデックスファイル名を得て、ログインデックスファイル140を開けて内容142を読出す。この内容から、VAMはリストの最後のログファイルを判断し、この情報を用いて特定のログファイルを開き144、そのログファイルがまだサーバによって使用されているかどうかをチェックする(たとえば、フォーマット記述イベントのフラグ値がLOG_EVENT_BINLOG_IN_USE_Fであるかチェックする)。イエスなら、MySQLサーバは現在書込のためにこのログファイルを使用しているのであり、VAMはこのログファイルをアクティブログファイルとして扱う。
一実施例に従うと、バイナリログと係わる特定の種類のイベントは回転イベントであり、これは可能なログ回転を示す、すなわち、MySQLサーバが現行のバイナリログを閉じて新しいバイナリログを開くたびに、バイナリログにログされる。ログ回転の可能な理由は、たとえばログファイルのサイズがmax_binlog_sizeパラメータを超える、または明確な「フラッシュログ」コマンドが、MySQLコマンドコンソールから発せられた場合を含む。この場合、MySQLは現行のバイナリログに回転イベントを作成し、現行のバイナリログを閉じて、さらに処理するために新しいバイナリログを開く。回転イベントは、作成するべき新しいログファイルを示す。一実施例に従うと、VAMはこの値を用いて既存のバイナリログファイルを閉じ、新しいバイナリログファイルを開け、その読出を続けることができる。
1.アクティブログファイルのサイズが、max_binlog_size値を超えた場合(my.iniまたはmy.confファイルで指定されている)。このシナリオでは:
a.MySQLはアクティブバイナリログにおいて’Rotate Event’をログする。回転イベントデータ部は、新しいアクティブバイナリログの場所および名前を含む。
a.MySQLはアクティブバイナリログにおいて’Rotate Event’をログする。回転イベントデータ部は、新しいアクティブバイナリログの場所および名前を含む。
a.MySQLはアクティブバイナリログに’Stop Event’をログする。
a.MySQLは新しいバイナリログを作成し、フォーマット記述イベントフラグをLOG_EVENT_BINLOG_IN_USE_F値に設定する。
上記のように、一実施例に従うと、当該システムおよび方法は、たとえばMySQLデータベースまたはシステムと別の種類のデータベースまたはシステムとの間でデータを転送するために、ログベースレプリケーションを用いること、またはMySQLのようなデータベースプロダクトもしくはOracle GoldenGateのようなデータレプリケーションプロダクトを用いることを可能にする。以下の部分は、このような実施の形態および対応するベンダーアクセスモジュール(VAM)またはアプリケーションプログラムインターフェイス(API)の特定の実施を説明する。
上記のように、一実施例に従うと、VAM(MySQL VAM)は、データをキャプチャするためにMySQLバイナリログを使用する。MySQLバイナリログは、DML操作といったような、データを変更するステートメントデータを含む。ステートメントは、変更を記述する「イベント」の形で記憶される。
一実施例に従うと、バイナリログがトランザクションデータを記憶可能にすることは、MySQLの設置によってデフォルトでは設定されない。その代わりに、「ログ-ビン」のパラメータを用いてバイナリロギングを可能にする。このパラメータは初期化ファイルにおいて、ウインドウズ(登録商標)プラットフォームではmy.iniとして、他のプラットフォームではmy.confとして指定される)。
log-bin="C:/MySQL/MySQL Server 5.1/log/test.bin"
上記の例では、ログファイルの名前は‘test.00001, test.00002 …’などで作成される。これらのファイルは、"c:/MySQL/MySQL Server 5.1/log"ディレクトリに記憶される。構成ファイルにおいて、ロギングフォーマットはROWモードでのみ構成されるべきである。MIXEDモードはサポートされていない。このオプションにより、DMLステートメントはデータをバイナリフォーマットでログすることができる。これは、‘binlog_format’パラメータを用いることにより達成することができる。‘max_binlog_size’オプションを用いて、バイナリログファイルのサイズ(バイト単位)を指定することができる。最小値は4096となるべきである。
一実施例に従うと、非トランザクションテーブルへの更新は、実行の後すぐにバイナリログに記憶される。拘束のないトランザクションでは、InnoDPテーブルといったトランザクションテーブルを変更するすべての更新(INSERT、DELETE、UPDATE)は、COMMITステートメントがサーバによって受取られるまでキャッシュされる。MySQLは、更新操作からより多くのデータを収容するために、一時ファイルを開いてキャッシュをフラッシュする。その時点で、mysqld(サーバデーモン)はトランザクション全体をバイナリログに書込む。サーバデーモンはROLLBACKステートメントが発行されたのなら、トランザクションデータを書込まない。バイナリログに関するかぎり、ロールバック操作はno−opの非記録操作である。
さまざまな実施例に従うと、本システムはWindows、Linux Operating system、HPUX、およびSolaris OS(登録商標)をサポートすることができる。MySQL VAMがバイナリログイベントをキャプチャするためには、MySQLextractプロセスには以下の許可が必要である(以下の許可は、非ウインドウズプラットフォームに適用可能である):構成ファイル(my.cnf)があるディレクトリ用のおよびバイナリログが生成されるディレクトリ用の読出しおよび実行許可;構成ファイル(my.cnf)用の読出許可;読出、書込(MySQLデーモンプロセスで使用);tmpディレクトリ(規定)用の実行許可。
MySQLは3.x以降のリリースからバイナリログをサポートする。リリース5.1以前では、DML操作によるデータベーステーブルへの変更は、SQLステートメント(テキスト形式)でバイナリログにログされた。リリース5.1以降では、MySQLバイナリログは、DML操作をバイナリ形式でローデータとしてストアする。一実施例に従うと、テキストに基づくSQLステートメントでの処理と比べて、このバイナリデータを読出し、これらをたとえばOracle GoldenGate汎用フォーマットに変換することは、MySQL VAMにとってより容易である。
表2は一実施例に従うサポートされるデータタイプを示す。
一実施例に従うと、MySQL VAMは以下のストレージエンジンをサポートする:MyISAM-非トランザクションストレージエンジン;およびInnoDB−トランザクションストレージエンジン。
一実施例に従うと、MySQL VAMはバイナリログから以下のデータベース操作をキャプチャすることができる:Startトランザクション、Commitトランザクション、Rollbackトランザクション−MySQLはバイナリログにロールバックされたトランザクションを送信するのではなく、MySQLはトランザクションがInnoDBのテーブルおよび同じトランザクションに関与しているmylSAMタイプに係わる場合、「トランザクションロールバック操作」をログする;挿入操作;更新操作;削除操作;切捨て操作。
一実施例に従うと、MySQLの最大データベースローサイズ(現在64k)はすべて、たとえばOracle GoldenGateアプリケーションによってサポートされている。所与のMySQLテーブル用の最大カラム数(現在3398);MySQL用の最大オブジェクト名長さ(schema.table);およびMySQLの最大オブジェクト名長さ(schema.table)が支持される。InnoDBストレージエンジンを有するMySQLは、カラム数が1000を超えてはならないという制限を含む。
一実施例に従うと、バイナリログは、DML操作の一部ではないカラム値を記憶する。MySQL VAMとキャプチャモジュールとの間のデータ転送を最小にするために、圧縮更新および削除がサポートされる。
一実施例に従うと、AUTO_INCREMENTカラム属性を用いて新しいローの一意的識別を生成することができる。このカラム値はほとんどの場合システムで生成されるので、以下の2つの要件が支持される:ターゲット側へのAUTO_INCREMENTカラム値の伝搬−MySQLログは、このAUTO_INCREMENTカラム値をバイナリログに記憶する。アプライ(apply)側(すなわちターゲット)では、replicatプロセスがオートインクリメントなカラム値の明示挿入操作を挿入する。MySQLは挿入操作の際、AUTO INCREMENTカラムを特定の値に強制することをサポートし;およびBi方向サポート−INSERT操作の際、AUTO_INCREMENTカラム値は次のより高い値で挿入される。
一実施例に従うと、双方向ループ検出をサポートするために、MySQL VAMモジュールは、ユーザid、トランザクションidに基づき、レコードをフィルタ処理する。MySQLバイナリログは、これらの値をイベントには記憶しない。双方向ループ検出は、ターゲット側で、トレーステーブルまたはチェックポイントテーブル(FILTERTABLE オプションを用いて構成)を介してサポートされるべきである。MySQL双方向構成は、キャプチャから除外するためにReplicatトランザクションを識別するため、Replicatチェックポイントテーブルの使用を必要とする。extractは、チェックポイントテーブルでの操作で終わるトランザクションは無視する。この機能をサポートするために、TRANLOGOPTIONSはチェックポイントテーブルの名前を特定する新しいFILTERTABLE<テーブル>オプションを与える。Replicatデータベースユーザは、‘sql_log_bin’変数を用いてセッションレベルバイナリロギングをオフにすることができる。アプライ側では、Replicatユーザはこの値を0に設定して、バイナリロギングをオフにする。
一実施例に従うと、MySQL VAMはタイムスタンプによる位置付けおよびLSNによる位置付けをサポートする。タイムスタンプ位置は、ADD/ALTER抽出コマンドを用いて設定される。たとえば:
ADD/ALTER EXTRACT extract_name,MYSQL VAM, begin timestamp_value
ここで有効なタイムスタンプ値は以下のとおりである:
NOW(またはnow)−extractは、加えるまたは変更されたときの現行タイムスタンプ値を取る。MySQLMySQL VAMはタイムスタンプ値がこのタイムスタンプ値と等しいまたはより大きいトランザクションレコードを読出す。
ADD/ALTER EXTRACT extract_name,MYSQL VAM,lognum log_num , logpos log_pos
ここでlog_numはログファイル番号である。たとえば、ログファイル名がtest.000034である場合、この値は34となる。MySQLMySQL VAMはこのログファイルを検索し、さらに読出すために開く:およびlog_posはログファイル内のオフセット値である。この場所後で利用可能なトランザクションレコードは、MySQL VAMによって読出される。
上記のように、一実施例に従うと、IngressおよびSybaseといった他のベンダで見られる循環型ロギングスタイルと比べて、MySQLのバイナリログは順次作成され番号が付けられる。MySQLは古いログファイルを自動的にはアーカイブしない。ログファイルは初期ファイルで指定されたログディレクトリに保持される。したがって顧客はより古いログファイルを保つ/バックアップするよう、注意しなければならない。一実施例に従うと、MySQL VAMを用いて位置付けおよびより古いログファイルの読み出しがサポートされる。MySQL VAMは、管理者または他のバックアップツールによって他の場所に移動させられたより古いログファイルを位置付けることが要求された場合、エラーを返すか、操作をアベンドする。
一実施例に従うと、バイナリログはDDLステートメントをテキストに基づくSQLステートメントとして記憶し、MySQL VAMはこの特徴をサポートする。
一実施例に従うと、FetchColsおよびFETCHCOLSEXCEPTを用いて、値がトランザクションログレコードにない場合に、カラム値をデータベースから取ってくることができる。このオプションは、データベースが圧縮更新を用いる場合(カラム値は変更されない限りログされない)に使用することができる。FETCHCOLS およびFETCHCOLSEXCEPTは、FILTER操作に必要なカラム値が利用可能であることを確実にする:
FETCHCOLSは特定カラムを取ってくる。
FETCHMODCOLSは特定カラムを取ってくる。
初期ロードサポート
一実施例に従うと、MySQL VAMは初期ロードサポートを含む。
ステップ1、既存のMySQLデータを顧客の選択されたデータベースに移行。この課題のために、キャプチャ側初期ロードサポートを用いることができる;
ステップ2、移行がうまく行けば、リアルタイムレプリケーション(またはデータキャプチャを変更)を能動化する。MySQL VAMを用いてこの課題を達成することができる。
一実施例に従うと、MySQL VAMモジュールは、たとえば付加的切捨点を加える(SyBASEcase)により、バイナリログ内容を変更しない。したがって、同じバイナリログでの2つ以上のextractプロセスの読出しのサポートが可能である。一実施例に従うと、MySQL VAMはレプリケーションオプションで構成されるMySQLデータベースと共存する。extractにおいて新しいパラメータを追加したりMySQLに特有のパラメータファイルを用いないよう注意しなければならない。
一実施例に従うと、MySQLはデータベース名をディレクトリ名として、およびテーブル名をファイル名としてマッピングする(.frmファイルはテーブルについてのメタデータを保持する)。大文字および小文字によって区別されるテーブル名は、MySQLが実行される下地となるオペレーティングシステムに依存する。MySQLはウインドウズ(登録商標)プラットフォームにおいて大文字小文字が混合しているテーブル名を区別せず、UNIX(登録商標)プラットフォームのほとんどの種類において大文字小文字の区別をする。
一実施例に従うと、MySQLはCHAR、VARCHAR、 TEXT およびENUMカラムタイプ用にUNICODE文字セットをサポートする。MySQLはそのストリングカラムについてUTF8およびUTF16(ucs2)符号化の両方をサポートする。UNICODE文字セットでは、データはUTF16値としてトレールファイルに記憶されなければならない。ストリングカラム用のUTF8符号化の場合、MySQL VAMモジュール、初期ロードモジュール、およびアプライ側モジュールは、内部変換ライブラリを用いてデータをUTF16値に(またはから)変換する。MySQLはNCHAR, NVARCHARカラムタイプをサポートする。これらは、UTF8文字セットを有するカラムとして内部的にマッピングされる。MySQLキャプチャは、最初のリリースから、UTF8およびUSC2文字セットをサポートする。一実施例に従うと、MySQLキャプチャおよびアプライモジュールはUNICODE文字セットで認定されている。
一実施例に従うと、MySQL VAMは環境変数‘MYSQL_HOME’が正しく設定されることを必要とする。この変数は、MySQLデータベースの設置場所を示さなければならない。MySQL VAMはこの変数を用いてMySQL構成ファイルを検索する(ウインドウズ(登録商標)プラットフォームではmy.iniであり、ウインドウズでないプラットフォームではmy.confである)。さらに、以下のパラメータがMySQL構成ファイルの中に設定されなければならない(my.iniまたはmy.conf):「ログービン」パラメータを用いてバイナリロギングを能動化する−このオプションの値はログファイル用のディレクトリ場所を特定する;‘binlog_format’パラメータを用いてログフォーマットを指定する−これはROWモードとしてのみ構成されるべきである。‘MIXED’ および‘STATEMENT’モードはサポートされていない。たとえば:
MySQLは外の世界に対して利用可能な十分に規定されたログAPIを持たないが、バイナリログの内容を写す十分に定義されたファイルアクセスIO_CACHEクラスおよびイベントクラス(C++で公開)を有する。MySQLはログイベントについて別個の読出および処理を有する。内部IO_CACHEクラスはバイナリログデータをかたまりとしてオンデマンドで読出す(ディスクIOオーバーヘッドを避けるために、最小64kサイズ)。これらクラスにより、APIはこのブロックから読出することができる。処理側では、MySQLはデータをイベント特有のC++クラスの型に変換するために用いることができるイベントクラスを有する。この公的に利用可能なMySQLクラスは以下の欠点を有する:IO_CACHEクラスはメモリへの1回のショットでバイナリログイベントデータを読出す(サイズが64kを超えた場合)。より大きいデータを含むイベント(たとえば、サイズが2GBであるLOBデータ)では、これは問題となり得る;IO_CACHEクラスは自己でpthread特有機能を再度実施する。これはMySQL VAMがextractモジュールでリンクする際、一連のリンカーエラー(再定義)を発生させる。
MySQLは符号付きまたは符号なし(デフォルトは符号付き)のいずれかで定義される整数カラムをサポートする。たとえば、2バイトの符号付き整数カラムは、−32kから+32kの値をサポートし、符号がないものは0から+64kをサポートする。バイナリログは、数値カラムの符号について、すなわちそのカラムが符号付きまたは符号なしモードを支持しているのなら、メタデータを返さない。2つの設計上のアプローチが可能である:常に符号付きの値を返す、−ターゲット側でreplicatはカラムの種類に基づき変換を行なう;またはextractからMySQLカラムのメタデータを得て、extractするために正しい値を返す。一実施例に従うと、MySQL VAMは数値を符号付きの値としてMySQL VAM APIに返す。
一実施例に従うと、バイナリログの中では、MySQLイベントはそのヘッダ部に場所値を有する。この値の寿命はバイナリファイルに特有である。すなわち、この場所値は所与のバイナリファイル内では固有のものであり得るが、バイナリファイルの外では固有ではない。2つの異なるバイナリファイルにおける2つの異なるイベントは同じ値を有し得る。場所によってトランザクションレコードを固有に識別するためには、MySQL VAMはこのイベント場所値をログファイル名と結合する。たとえば、‘binlog.00054:123’では、‘binlog.00054’はバイナリログの名前であり、123はトランザクションレコードの場所である。MySQL VAMはGG_ATTR_DS_SEQIDを用いてこの値をASCIIストリング属性として送る。
DML操作を表わすイベントでは、MySQLはトランザクションIdをイベントデータの一部として持たない。したがって、MySQL VAMはこのトランザクションId(固有のもの)をMySQL VAM APIに送るための方法が必要である。一実施例に従うと、この問題を解決するために、MySQL VAM APIは‘START Transaction’ステートメントのシーケンスIdをトランザクションIdとして扱う。このシーケンスIdは、ログファイル名+ファイル内のイベントオフセットの組合せであるので、トランザクションIdの固有性は複数のログファイル間で保証される。さらに、MySQL VAMはこの擬似トランザクションIdを内部で維持し、この値を特定のトランザクション内のすべてのDMLステートメントに対してMySQL VAM APIに送る。MySQL VAMは「コミット」または「ロールバック」ステートメントに出くわすと、この値をクリアする。
MySQLバイナリログにおいて、LOBカラム値は他の非LOBカラム値とインラインで記憶される。これは他のデータベースと異なる。なぜなら、値はインラインでストアされず、データがオンデマンドでフェッチ(fetch)することができるロケータまたはクーポンを用いてアクセスされないからである。MySQLデータベースの場合では違う(ストレージエンジンMyISAM およびInnoDBを有する)。バイナリログからLOBカラム値を読出すため、MySQL内部IO_CACHEクラスは、ログファイルからこのLOBカラム値の全体の値をフェッチしてメモリに渡す、すなわち、メモリはこのクラスにより1回でこのLOBカラム用に完全に割当てられる。
一実施例に従うと、MySQL VAM実施は2つの部分に分割することができる:第1の部分はLOGデータをバイナリログから読出し、データを準備し、データをMySQL VAM API用に用意する−これは別のスレッドで実行される;第2の部分は用意ができたデータ(レコード)をリクエスト毎にAPIに送る。この従来の設計での主な欠点は、すべて(完全な処理)はMySQL VAM APIがリクエストした場合にしか起こらないことであり、MySQL VAMモジュールが処理を完了するのに何らかの実行時間を必要とする。この間、MySQL VAM APIはアイドル状態にあり、MySQL VAMのパフォーマンスを低下させる。設計を2つの部分に分割することにより、MySQL VAM APIのアイドル時間がなくなる。第1の部分が独立してバイナリログを読出す間、システムはAPIに送るべきデータの準備を行ない、制限されたサイズQueue(キュー)に記憶する。次に、第2の部分はQueueから用意ができたレコードをフェッチし、MySQL VAM API側からリクエストが来ると直ちにMySQL VAM APIに送る。
上記のように、一実施例に従うと、MySQL VAMモジュールの全体のアーキテクチャは以下を含む:
MySQLライブラリ−ファイルリーダ、ファイルCACHE、データ変換クラスを与えるライブラリ。
図5は一実施例に従うと、MySQLバイナリログでのイベント順序を示す。一実施例に従うと、MySQLはデータをイベント入力としてバイナリログ内に記憶する。MySQLは、SQLステートメントおよび操作の性質に基づき、さまざまなイベントをサポートする。MySQLはイベントデータを読出すためにC++クラスを与える。一般に、バイナリログ構造は以下のイベント入力を含む:
1.4バイトの魔法数で始まる。これは"\xfe\x62\x69\x6e"の値を有する定数BINLOG_MAGICとして定義される。この値は無視することができる。
一実施例に従うと、MySQL VAMはバイナリログイベントのサブセットに興味を持つ。たとえば、MySQL VAMはトランザクション、DMLステートメントデータ、ログ回転などを表わすバイナリログイベントに興味を持つ。表3は、一実施例に係わる、MySQL VAMが興味を持つMySQLイベントのリストを示す。
図6は一実施例に従うイベントヘッダ構造を示す。すべてのイベントは汎用ヘッダ部と後に続くデータ部とを有する。一部のイベントは、任意のデータヘッダ部を有する。イベント構造は一般に次のように表わされる。
1バイト−イベントのタイプコード。タイプコードの対象の値および意味は次のとおりである: QUERY_EVENT= 2; STOP_EVENT= 3; ROTATE_EVENT= 4; FORMAT_DESCRIPTION_EVENT= 15; XID_EVENT= 16; TABLE_MAP_EVENT = 19; WRITE_ROWS_EVENT = 23; UPDATE_ROWS_EVENT = 24; DELETE_ROWS_EVENT = 25。
4バイト−ログにおけるイベントのオフセットをバイトで表わす。この値はLSNまたはシーケンス番号に類似している。
このイベントヘッダは、CLogEvent C++クラスによって表わされる。すべてのバイナリログ系イベント特有C++クラスはこのクラスから継承する。このクラスの構造は以下のように表わされる:
6バイト−テーブル_idを含む。これは、テーブルバージョンとして扱うことができる。MySQL VAMはこの値を用いて、下地のテーブルメタデータが変更されたか否かをチェックする。
3.データ部−イベント特有データを保持する。たとえば、書込ローイベント用のカラム値のシーケンス、テーブルマップイベント用のカラムメタデータ。より詳細については、次の箇所参照。
一実施例に従うと、イベントデータ部はイベント特有データを保持する。データ部のサイズは動的である。すなわち、イベントの種類に応じて値は異なりかつ特定的であり、データの変数リストを保持する。次の箇所は、MySQL VAMが興味を持つイベントタイプのイベントデータ部の構造を説明する。
一実施例に従うと、このイベントはSQLクエリーを表わす。このイベントは、MySQL内部C++クラス‘CQueryEvent’によって表わされる。このイベントのデータ部は、データベース名、クエリーストリング値、および他の情報を含む。MySQL VAMはCQueryEventイベントを用いて、以下のメンバー変数を使ってこれらの値を引出す:
一実施例に従うと、このイベントはトランザクションのコミットを表わす。このイベントは、MySQL内部C++クラス‘CXidEvent’によって表わされる。このイベントのデータ部は、MySQL VAMが無視する2相コミットトランザクションのトランザクションidを含む(MySQLレプリケーションもこの値を無視する)。MySQL VAMはこのイベント入力を用いてトランザクションがコミットされ、トランザクション特有オブジェクトと切離されていることと見なす。
一実施例に従うと、このイベントはトランザクションに係わる(DMLステートメントによって)テーブルのメタデータを表わす。このイベントは、書込、更新および削除ローイベントといったDML操作を表わすイベントより先に来る。たとえば、簡単な挿入操作はバイナリログにおいて2つの入力を引き起こす。最初の入力は、テーブルメタデータを含む「テーブルマップイベント」であり、次の入力はINSERT操作の一部として加えられるローデータを含む「書出ローイベント」である。汎用ヘッダ部とは別に、このイベントは付加的データヘッダ部+データ部を含む。(8バイトの)データヘッダ部は、以下のデータを含む:table_id:6バイト長−テーブルのメタデータ変更を追跡し;およびフラグを立てる:MySQL VAMはこのフラグを無視することができる。
1バイト−データベース名の長さ。
1バイト−テーブル名の長さ。
nバイト−カラム数。カラム数が255バイト以下である場合は1バイトであり、それ以外は2バイトである。
図7は、一実施例に従うフィールドメタデータを示す。フィールドメタデータは一般にカラムメタデータのサイズに関連する付加的情報を表わす。これはパック長として扱うことができる、すなわち特定のカラム値を圧縮するのに必要な合計バイト数。これらの値は後で用いられて、実際の値を得るために適切なバイトを読出すために用いられる。固定長のカラムタイプ(たとえば、整数、日付など)については、このフィールドメタデータは通常ゼロである。たとえば、VARCHARのカラムタイプでは、このフィールドメタデータはVARCHARカラムの最大サイズを表わす。表4は異なるカラムタイプに対するフィールドメタデータ部の内容を示す。
1.MySQL VAMはこのBLOBカラムの長さを計算するのに必要なバイト記憶領域を知る必要がある(この例では、16777216の長さを記憶するのに3バイト必要である)。この値は、‘テーブルマップイベント’の‘フィールドメタデータ(field metadata)’部から引出される。
上記の値は‘書込ローイベント’から実際のデータを得るために用いることができる。
図9は一実施例に従う書込ローイベント構造を示す。このイベントはMySQLINSERT操作を表わす。このイベントの前に、テーブルマップイベントが来る。汎用ヘッダ部とは別に、このイベントは付加的データヘッダ部+データ部を含む。(8バイトの)データヘッダ部は以下のデータを含み、これはより古いテーブルマップイベントと類似している。
書込ローイベントのデータ部は、カラムの順序に基づき配置されるカラム値を含む。書込ローイベントはCWriteRowsEventクラスによって表わされる。データ部は以下の情報を含む:
1または2バイト−カラムの数を記憶する。MySQLがサポートしている最大カラム数は3398である。
図10は一実施例に従う、更新ローイベント構造を示す。このイベントはMySQL UPDATE操作を表わす。このイベントの前に、テーブルマップイベントが来る。汎用ヘッダ部とは別に、このイベントは付加的データヘッダ部+データ部を含む。(8バイトの)データヘッダ部は以下のデータを含み、これはより古いテーブルマップイベントと類似している。
1または2バイト−カラムの数を記憶する。MySQLがサポートしている最大カラム数は3398である。
このイベントはMySQL DELETE操作を表わす。このイベントの前にテーブルマップイベントが来る。汎用ヘッダ部と別に、このイベントは付加的データヘッダ部プラスデータ部を含む。(8バイトの)データヘッダ部は以下のデータを含み、これはより古いテーブルマップイベントと類似している。ロー削除イベントはCDeleteRowsEventクラスによって表わされる。
データ部は、書き込みローイベントデータ部と類似している。
CWriteRowsEvent、CUpdateRowsEvent およびCDeleteRowsEvent C++ classesはCRowsLogEvent C++クラスから継承する。このクラスはINSERT、UPDATE およびDELETE操作用にログデータを検索するのに特有の一般的操作の大部分を含む。
回転イベントは可能なログ回転を示すバイナリログにログされる。すなわち、MySQLサーバは現行のバイナリログを閉じて新しいものを開く。ログ回転の可能なシナリオは以下のとおりである:
1.ログファイルのサイズは‘max_binlog_size’パラメータを超えている。
MySQLサーバはシャットダウンが明確な場合、バイナリクラスにストップイベントをログする。後でMySQLがスタートさせると、新しいバイナリログファイルが作成される。ストップイベントは新しいバイナリログファイル用の入力を含まない。
図11は一実施例に従うイベント順序例を示す。この部分は、異なるシナリオ用にバイナリログのイベント順序を示す。さまざまなトランザクションシナリオについては、「イベント順序」の箇所参照。一例として、以下のステートメントをバイナリログファイルに記憶することができる:
この部分はさまざまなサポートされているデータタイプおよびバイナリログ内のストレージ要件を説明する。MySQLはいくつかのカテゴリにおいて複数のデータタイプをサポートしている:数値型、日時型およびストリング(文字)型。各タイプは1組のバイトとして、ログレコード内に記憶される。用いられるバイト数は、データのタイプ、カラムがNULL可能であるか否か、およびフィールドの長さに依存する。可変長文字フィールド(たとえばVARCHAR、VARBINARY、CHAR、TEXT およびBLOBなど)の前にその長さが来る。
一実施例に従うと、バイナリログローイベント(すなわちWriteRowsEvent、UpdateRowsEvent およびDeleteRowsEvent)は他の非NULLカラム値とともにはNULLカラム値を記憶しない。NULLカラム値は、データ部の前にNULLバイトの組として記憶される。NULLバイトの合計数は通常(カラム数+7)/8である。より詳細にはWriteRowsEvent(todo)参照。
データタイプ変換
一実施例に従うと、CHAR、BINARY、VARCHARおよびVARBINARYタイプ−ストリングデータタイプの長さは可変である。実際のデータ値の前にデータ長が来る。長さの値は1バイト(長さが255未満の場合)または2バイト(長さが256以上の場合)を必要とする。
一実施例に従うと、ENUMカラムはログファイルにおいてインデックス値として記憶される。たとえば、ENUM(「赤」、「オレンジ」、「青」)のカラムでは0、1および2のインデックス値を有することができる。したがって、「オレンジ」のENUM値を記憶すると、バイナリログファイルではインデックス値2となる。サポートされる最大列挙インデックス値は65,535バイトである。
一実施例に従うと、SETカラムは0またはより大きい値を有することができるストリングカラムであり、各々はテーブルを作成した場合に指定される許容値のリストから選択されなければならない。たとえば、SET(「1」、「2」)と指定されたカラムは、「1」「2」、「1,2」のいずれかの値を有することができる。SETは最大64個の異なるメンバーを有することができる。セットカラムはログファイルにおいてバイナリ値として記憶される。たとえば、SET('a','b','c','d')として指定されるカラムでは、メンバーは以下の10進数および2進数の値を有する:
一実施例に従うと、整数値はバイナリログにおいて符号付きおよび符号なしの整数として記憶される。整数は符号付きの整数として読取られ、MySQL VAMによってextractに送られる。整数のCタイプは、整数カラムのサイズに依存し、これは長さによって定められる。MySQLではサイズに基づきすべての整数変形にはCタイプが規定され、関連するマクロを有して、メモリ場所をプラットフォームとは独立している整数値にコピーする。表7は各長さおよび関連するマクロで使用するタイプを示す。
一実施例に従うと、浮動小数点データタイプには、MySQLは単精度値には4バイト、倍精度値には8バイト使用する。MySQLは非標準シンタックス: FLOAT(M,D)またはDOUBLE (M,D)を可能にする。ここで(M,D)は値が合計M桁まで記憶できることを意味し、そのうちD桁は小数点の後ろに来てもよい。MySQLは浮動小数点および倍精度カラムタイプ用のマクロを有し、メモリ場所をプラットフォームと独立した浮動小数点または倍精度値にコピーする。表8は各長さおよびそれに伴うマクロで使用するタイプを示す。
一実施例に従うと、BITタイプカラムは1つの値当たり64ビットまで記憶する。必要な最大記憶領域は(M+7)/8バイトであり、'M'は値当たりのビット数を示す。MySQL VAMは以下のコードを用いてバイナリログからBITカラム値を読出す。
日時タイプ変換はすべての変換の中で最も複雑なものである。他のデータタイプと比較して、MySQLは日時タイプを扱うマクロまたは公的関数を公開していない。MySQL内部実施はこれらのコールを扱うための適切な方法を見つけるためにデバッグされた。MySQL VAMはMySQL内部実施に基づき、自己のコードバージョンを書き直している。MySQL VAMはログからバイナリデータを読出し、これらを共通構造MySQL_TIMEに変換する(この構造はMySQLによって定義され、使用される)。後でこれらの構造はextractに渡される前にストリングに変換することができる。
一実施例に従うと、MySQL LOBMySQLは、他のカラム値に従ってLOBレコードを記憶する(大型オブジェクト−すなわちTINYBLOB、BLOB、MEDIUM BLOB、LONG BLOBおよびTEXTタイプ)。BLOBおよびTEXTカラムデータは、VARBINARY またはVARCHARフィールドと同様の方法で記憶される。すなわち、最初のいくつかのバイトは、長さを記憶し、その後にオリジナルのLOB値が続く。LOBカラムでは、テーブルマップイベントのフィールドメタデータは、所与のLOBフィールドに必要な最大バイトの記憶領域を含む。この値は、LOB値を読出すときに必要なメモリを割当てる際に便利である。TINYTEXTおよびTINYBLOBカラムの最大サイズは255である。これはCHARおよびbinaryカラムを扱う場合と同様である。
一実施例に従うと上記のように、MySQLはバイナリログインデックスファイルを用いて、現行のバイナリログファイルおよびより古いログファイルを含むリストを維持する。このインデックスファイルは、バイナリログと同じディレクトリ場所にある。これにより、システムは構成ファイルから読出してログファイルフォーマットを見つける、たとえばROW、 STATEMENT、またはMIXEDフォーマットをさがし、ROWでなければアベンドする。
1.環境変数または供給されたMySQL VAMパラメータのどちらから、MySQL設置ホームを得る。
一実施例に従うと、MySQL VAM APIはタイムスタンプ値またはシーケンス番号のどちらかによって位置付けることをMySQL VAMに要求することができる。extractにおいて、位置付けはGGSCIにおいてADDまたはALTERコマンドのどちらかによって要求できる。MySQL VAMにおいてタイムスタンプおよびシーケンス番号による位置付けのサポートに加えて、本システムはアクティブバイナリログを終わりおよび先頭への位置付けをサポートする。
一実施例に従うと、extractにトランザクションレコードを送信する場合、MySQL VAMはextractにシーケンス番号値をも送信する。再スタートシナリオの際、extractはこの最後に受取ったシーケンス番号値をMYSQL VAMIntialize()コールの際にMySQL VAMに送る。VAMはこの値を用いて正しい読出場所を設定する。
タイムスタンプによる位置付けのため、システムは必要なタイムスタンプ値以上のタイムスタンプを有するアクティブバイナリログ(すなわちBEGINストリングを含むQueryEvent)においてビギントランザクションレコードを見つけなければならない。タイムスタンプ値が未来の時間であるのなら、必要なタイムスタンプ場所以上のタイムスタンプを有するビギントランザクションレコードを見つけるまで、システムはログの終わりにおいて読出を続ける。バイナリログ内またはバイナリログとともに起こり得る2つのシナリオがある:
シナリオ1:Begin/Endトランザクションレコードはアクティブバイナリログにあり、最初にこのようなレコードのタイムスタンプは要求されるタイムスタンプ位置よりも低い。
一実施例に従うと、アクティブバイナリログの終わりに位置付けるために、MySQL VAMは、IO_CACHE関数クラスにログの終わりを見つけることを要求するために、my_b_seek()関数を使用する。
一実施例に従うと、トランザクションログの先頭に位置付けるために、MySQL VAMはmy_b_seek()関数をコールして、ログの先頭を、BINLOG_MAGICプラスグローバルフォーマット記述イベントデータの後ろに位置付ける。
一実施例に従うと、MySQL VAMはMySQLのIO_CACHE C++クラスおよびファイルユーティリティ関数を用いてMySQLバイナリログを開いて読出す。MySQLのIO_CACHE C++クラス(mysql_client.libの一部)は、バイナリログの内容を64kのサイズの塊で読出す。このバッファ読出はIO使用の減少に役立つ。
一実施例に従うと、以下のシナリオによりMySQLのログ回転を引き起こす(すなわち、既存のアクティブログファイルを閉じて、新しいログファイルを開く)。
a.MySQLはアクティブバイナリログにStop Eventをログする。
a.MySQLは新しいバイナリログを作成し、フォーマット記述イベントフラグをLOG_EVENT_BINLOG_IN_USE_F値に設定する。
1. MySQL VAMは現在アクティブバイナリログを処理している。サーバクラッシュは読出のときに起こる。この場合、extractを停止させ、クラッシュリカバリを行ない、サーバスタートアップの後MySQL VAMを再度スタートさせるのがよい。
上記のように、一実施例に従うと、MySQL VAM実施はC++を用いて書込まれ、MySQL VAMモジュールの実施は2つの主な部分に分けられる。最初の部分では、内部で開発されたイベントC++クラスを用いてバイナリログイベントを読出し、これらをデータレコードに処理し、レコードを用意ができたフォーマット(送信できる状態)にして、制限されたサイズのQueueに記憶する。第2の部分では、Queueからレコードを取ってきて、APIからリクエストを受けるたびにAPIに送る。
図13は、一実施例に従うVAMバイナリログリーダのクラスダイヤグラムを示す。CMySQLBinLogManagerクラスは主要制御クラスであり、全体の処理を管理し、作業を異なるクラスにコミットする。データをバイナリログから読出し、バイナリログデータを処理し(MySQLイベントをデータレコードに変換)、レコード(既成フォーマット)を制限されたサイズのQueueに入れることを主に担当する。これはすべての関数を「純粋仮想」として有するCLogManagerクラスから派生している。
先頭から、処理はCMySQLBinLogManagerクラスのscanLog機能から始まり、これは別個の実行エンティティ(スレッド)であり、独立して実行され、全体の処理実行を担う。まずCMySQLBinLogReaderにバイナリログの読出を求め、そこから生のイベントインスタンスを得る。このレコードをさらに処理するためCLogProcessorに渡して、制限されたサイズのQueueに入力される。
図14は一実施例に従うと、バイナリログプロセッサのクラスダイヤグラムを示す。
Claims (17)
- バイナリログファイルを使用するMySQLデータベースまたはシステムと、他の種類のデータベースまたはシステムとの間でデータを転送するために、ログベースレプリケーションを使用するシステムであって、
ベンダーアクセスモジュールを備え、前記ベンダーアクセスモジュールは、
MySQLデータベースまたはシステムによってバイナリログファイルに記録されるバイナリログイベントのうち、前記MySQLデータベースまたはシステムが記録したヘッダを参照して、予め定められた種類のバイナリログイベントのサブセットのみを特定し、
前記特定したバイナリログイベントのサブセットのバイナリログデータをデータレコードに変換し、
変換されたデータレコードをレコードキューに保持し、
前記レコードキューに保持されたデータレコードを処理するとともに、処理されたデータを含むトレールファイルを生成するために、extractプロセスとやり取りするように構成され、前記処理されたデータは非MySQLデータベースまたはシステムへの適用に使用される、システム。 - 前記バイナリログファイルはMySQLバイナリログファイルである、請求項1に記載のシステム。
- 前記extractプロセスはOracle(登録商標)GoldenGateextractプロセスであり、前記トレールファイルはOracleGoldenGateトレールファイルである、請求項1または2に記載のシステム。
- 前記ベンダーアクセスモジュールは、extractプロセスが特定のトランザクション用にデータレコードを検索するためにAPIを提供する、請求項1〜3のいずれか1項に記載のシステム。
- 前記ベンダーアクセスモジュールは、バイナリログからイベントの処理を与えるために用いることができる、複数のVAMイベントクラスと;MySQLデータベースまたはシステムによって与えられるアクセスライブラリをラップアラウンドするために用いることができる、複数のVAMバイナリログクラスと;ビンログクラスからレコードを読出しおよび処理し、これらをデータレコードキューに入れるために用いることができる、複数のVAMリーダおよびプロセッサクラスとを含む、請求項1〜4のいずれか1項に記載のシステム。
- 前記ベンダーアクセスモジュールは、ログインデックスファイルを用いて、複数のバイナリログファイルから使用するべき現行のバイナリログファイル、およびその状態を判断する、請求項1〜5のいずれか1項に記載のシステム。
- 前記ベンダーアクセスモジュールは、前記バイナリログファイルに記録されているログ回転イベントを特定し、当該特定の結果を用いて次のバイナリログファイル名を取得する、請求項1〜6のいずれか1項に記載のシステム。
- 前記ベンダーアクセスモジュールは、前記バイナリログファイルに記録されているEOFを検出し、次のバイナリログファイルを探索する、請求項1〜7のいずれか1項に記載のシステム。
- バイナリログファイルを使用するMySQLデータベースまたはシステムと、他の種類のデータベースまたはシステムとの間でデータを転送するためにログベースレプリケーションを用いる方法であって、
ベンダーアクセスモジュールを設けるステップを備え、前記ベンダーアクセスモジュールは、
MySQLデータベースまたはシステムによってバイナリログファイルに記録されるバイナリログイベントのうち、前記MySQLデータベースまたはシステムが記録したヘッダを参照して、予め定められた種類のバイナリログイベントのサブセットのみを特定し、
前記特定したバイナリログイベントのサブセットのバイナリログデータをデータレコードに変換し、
変換されたデータレコードをレコードキューに保持し、
前記レコードキューに保持されたデータレコードを処理するとともに、処理されたデータを含むトレールファイルを生成するために、extractプロセスとやり取りするように構成され、前記処理されたデータは非MySQLデータベースまたはシステムへの適用に使用される、方法。 - 前記バイナリログファイルはMySQLバイナリログファイルである、請求項9に記載の方法。
- 前記extractプロセスはOracle(登録商標)GoldenGateextractプロセスであり、前記トレールファイルはOracleGoldenGateトレールファイルである、請求項9または10に記載の方法。
- 前記ベンダーアクセスモジュールは、extractプロセスが特定のトランザクション用にデータレコードを検索するためにAPIを設ける、請求項9〜11のいずれか1項に記載の方法。
- 前記ベンダーアクセスモジュールは、バイナリログからイベントの処理を与えるために用いることができる、複数のVAMイベントクラスと;前記MySQLデータベースまたはシステムによって与えられるアクセスライブラリをラップアラウンドするために用いることができる、複数のVAMバイナリログクラスと;ビンログクラスからレコードを読出しおよび処理し、これらをデータレコードキューに入れるために用いることができる、複数のVAMリーダおよびプロセッサクラスとを含む、請求項9〜12のいずれか1項に記載の方法。
- 前記ベンダーアクセスモジュールは、ログインデックスファイルを用いて、複数のバイナリログファイルから使用するべき現行のバイナリログファイル、およびその状態を判断する、請求項9〜13のいずれか1項に記載の方法。
- 前記ベンダーアクセスモジュールは、前記バイナリログファイルに記録されているログ回転イベントを特定し、当該特定の結果を用いて次のバイナリログファイル名を取得する、請求項9〜14のいずれか1項に記載の方法。
- 前記ベンダーアクセスモジュールは、前記バイナリログファイルに記録されているEOFを検出し、次のバイナリログファイルを探索する、請求項9〜15のいずれか1項に記載の方法。
- 請求項9〜16のいずれか1項に記載の方法をコンピュータに実行させるためのプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36814110P | 2010-07-27 | 2010-07-27 | |
US61/368,141 | 2010-07-27 | ||
US13/077,760 | 2011-03-31 | ||
US13/077,760 US8510270B2 (en) | 2010-07-27 | 2011-03-31 | MYSQL database heterogeneous log based replication |
PCT/US2011/036508 WO2012018424A2 (en) | 2010-07-27 | 2011-05-13 | Mysql database heterogeneous log based replication |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013535737A JP2013535737A (ja) | 2013-09-12 |
JP2013535737A5 JP2013535737A5 (ja) | 2014-06-26 |
JP6062855B2 true JP6062855B2 (ja) | 2017-01-18 |
Family
ID=44121253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013521774A Active JP6062855B2 (ja) | 2010-07-27 | 2011-05-13 | MySQLデータベース−異種ログベースレプリケーション |
Country Status (5)
Country | Link |
---|---|
US (3) | US8510270B2 (ja) |
EP (2) | EP2599014B1 (ja) |
JP (1) | JP6062855B2 (ja) |
CN (1) | CN103221949B (ja) |
WO (1) | WO2012018424A2 (ja) |
Families Citing this family (196)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8332365B2 (en) | 2009-03-31 | 2012-12-11 | Amazon Technologies, Inc. | Cloning and recovery of data volumes |
US8626778B2 (en) | 2010-07-23 | 2014-01-07 | Oracle International Corporation | System and method for conversion of JMS message data into database transactions for application to multiple heterogeneous databases |
US8510270B2 (en) | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
US9298878B2 (en) | 2010-07-29 | 2016-03-29 | Oracle International Corporation | System and method for real-time transactional data obfuscation |
JP5230713B2 (ja) | 2010-10-29 | 2013-07-10 | 株式会社東芝 | 電池用活物質、非水電解質電池及び電池パック |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10262050B2 (en) * | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US8874593B2 (en) * | 2011-07-01 | 2014-10-28 | Salesforce.Com, Inc. | Testing data silo |
US9367431B2 (en) | 2011-07-01 | 2016-06-14 | Salesforce.Com, Inc. | Testing data silo |
US8984350B1 (en) * | 2012-04-16 | 2015-03-17 | Google Inc. | Replication method and apparatus in a distributed system |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
CN103780638B (zh) * | 2012-10-18 | 2019-02-19 | 腾讯科技(深圳)有限公司 | 数据同步方法及系统 |
CN102915377B (zh) * | 2012-11-14 | 2016-08-03 | 深圳市宏电技术股份有限公司 | 数据库转换或同步方法及系统 |
CN103092745B (zh) | 2013-01-22 | 2016-04-13 | 中兴通讯股份有限公司 | 系统日志记录的控制方法和装置 |
US10474652B2 (en) * | 2013-03-14 | 2019-11-12 | Inpixon | Optimizing wide data-type storage and analysis of data in a column store database |
US9176996B2 (en) | 2013-06-25 | 2015-11-03 | Sap Se | Automated resolution of database dictionary conflicts |
US9639448B2 (en) * | 2013-06-27 | 2017-05-02 | Sap Se | Multi-version systems for zero downtime upgrades |
CN103455557B (zh) * | 2013-08-08 | 2016-06-29 | 上海新炬网络技术有限公司 | 一种基于日志的结构化数据同步方法 |
US9836516B2 (en) | 2013-10-18 | 2017-12-05 | Sap Se | Parallel scanners for log based replication |
US10198493B2 (en) | 2013-10-18 | 2019-02-05 | Sybase, Inc. | Routing replicated data based on the content of the data |
CN103577586B (zh) * | 2013-11-08 | 2017-03-15 | 北京国双科技有限公司 | 日志记录的处理方法及装置 |
CN104657364B (zh) * | 2013-11-18 | 2018-02-23 | 华为技术有限公司 | 一种日志结构数据库系统查询请求消息处理方法及装置 |
CN104750729B (zh) * | 2013-12-30 | 2018-08-28 | 中国移动通信集团公司 | 一种基于日志文件的数据管理方法及数据管理系统 |
US9442996B2 (en) | 2014-01-15 | 2016-09-13 | International Business Machines Corporation | Enabling collaborative development of a database application across multiple database management systems |
CN103761318B (zh) * | 2014-01-27 | 2017-08-18 | 中国工商银行股份有限公司 | 一种关系型异构数据库数据同步的方法及系统 |
CN104915341B (zh) * | 2014-03-10 | 2018-06-26 | 中国科学院沈阳自动化研究所 | 可视化多数据库etl集成方法和系统 |
US9558255B2 (en) * | 2014-03-11 | 2017-01-31 | International Business Machines Corporation | Managing replication configuration availability |
CN103984715B (zh) * | 2014-05-08 | 2017-04-12 | 武汉库百网络技术有限公司 | 一种异构数据库的数据同步、校验方法、装置及系统 |
US9785510B1 (en) | 2014-05-09 | 2017-10-10 | Amazon Technologies, Inc. | Variable data replication for storage implementing data backup |
US9619278B2 (en) | 2014-06-26 | 2017-04-11 | Amazon Technologies, Inc. | Log-based concurrency control using signatures |
US9613078B2 (en) | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US10282228B2 (en) | 2014-06-26 | 2019-05-07 | Amazon Technologies, Inc. | Log-based transaction constraint management |
US9619544B2 (en) | 2014-06-26 | 2017-04-11 | Amazon Technologies, Inc. | Distributed state management using dynamic replication graphs |
US9529882B2 (en) | 2014-06-26 | 2016-12-27 | Amazon Technologies, Inc. | Coordinated suspension of replication groups |
US9652312B2 (en) | 2014-07-03 | 2017-05-16 | FishEye Products, LLC | Realtime processing of streaming data |
CN105447014B (zh) * | 2014-08-15 | 2019-03-15 | 阿里巴巴集团控股有限公司 | 基于binlog的元数据管理方法和用于提供元数据的方法及装置 |
US9734021B1 (en) | 2014-08-18 | 2017-08-15 | Amazon Technologies, Inc. | Visualizing restoration operation granularity for a database |
CN105471948B (zh) * | 2014-09-05 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 系统间同步业务数据的方法及装置 |
US10303795B2 (en) | 2014-09-10 | 2019-05-28 | Amazon Technologies, Inc. | Read descriptors at heterogeneous storage systems |
US9519674B2 (en) | 2014-09-10 | 2016-12-13 | Amazon Technologies, Inc. | Stateless datastore-independent transactions |
US9323569B2 (en) | 2014-09-10 | 2016-04-26 | Amazon Technologies, Inc. | Scalable log-based transaction management |
US10373247B2 (en) | 2014-09-19 | 2019-08-06 | Amazon Technologies, Inc. | Lifecycle transitions in log-coordinated data stores |
US10025802B2 (en) | 2014-09-19 | 2018-07-17 | Amazon Technologies, Inc. | Automated configuration of log-coordinated storage groups |
US9799017B1 (en) | 2014-09-19 | 2017-10-24 | Amazon Technologies, Inc. | Cross-data-store operations in log-coordinated storage systems |
US10013440B1 (en) | 2014-10-31 | 2018-07-03 | Amazon Technologies, Inc. | Incremental out-of-place updates for index structures |
US9984139B1 (en) | 2014-11-10 | 2018-05-29 | Amazon Technologies, Inc. | Publish session framework for datastore operation records |
CN104573024B (zh) * | 2015-01-12 | 2018-03-20 | 国家电网公司 | 一种复杂网络体系下异构安全日志信息的自适应提取方法及系统 |
CN104573056A (zh) * | 2015-01-22 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种基于oracle数据库大数据量在线迁移的方法 |
US9904722B1 (en) | 2015-03-13 | 2018-02-27 | Amazon Technologies, Inc. | Log-based distributed transaction management |
CN104765775B (zh) * | 2015-03-17 | 2018-07-27 | 新浪网技术(中国)有限公司 | 一种日志保存方法及装置 |
US9928281B2 (en) | 2015-03-20 | 2018-03-27 | International Business Machines Corporation | Lightweight table comparison |
CN106156165A (zh) * | 2015-04-16 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 异构数据源之间的数据同步方法和装置 |
US10409770B1 (en) | 2015-05-14 | 2019-09-10 | Amazon Technologies, Inc. | Automatic archiving of data store log data |
US9798752B1 (en) * | 2015-05-22 | 2017-10-24 | State Farm Mutual Automobile Insurance Company | Systems and methods for ingesting relational data into a delimited column qualifier NoSQL database |
US10866865B1 (en) | 2015-06-29 | 2020-12-15 | Amazon Technologies, Inc. | Storage system journal entry redaction |
US10866968B1 (en) | 2015-06-29 | 2020-12-15 | Amazon Technologies, Inc. | Compact snapshots of journal-based storage systems |
US11609890B1 (en) | 2015-06-29 | 2023-03-21 | Amazon Technologies, Inc. | Schema management for journal-based storage systems |
US11599520B1 (en) | 2015-06-29 | 2023-03-07 | Amazon Technologies, Inc. | Consistency management using query restrictions in journal-based storage systems |
US10346434B1 (en) | 2015-08-21 | 2019-07-09 | Amazon Technologies, Inc. | Partitioned data materialization in journal-based storage systems |
US10108658B1 (en) | 2015-08-21 | 2018-10-23 | Amazon Technologies, Inc. | Deferred assignments in journal-based storage systems |
US10324905B1 (en) | 2015-08-21 | 2019-06-18 | Amazon Technologies, Inc. | Proactive state change acceptability verification in journal-based storage systems |
US9990391B1 (en) | 2015-08-21 | 2018-06-05 | Amazon Technologies, Inc. | Transactional messages in journal-based storage systems |
US10031935B1 (en) | 2015-08-21 | 2018-07-24 | Amazon Technologies, Inc. | Customer-requested partitioning of journal-based storage systems |
US10235407B1 (en) | 2015-08-21 | 2019-03-19 | Amazon Technologies, Inc. | Distributed storage system journal forking |
CN106547801A (zh) * | 2015-09-23 | 2017-03-29 | 北京奇虎科技有限公司 | 数据库数据闪回方法和装置 |
US11461356B2 (en) * | 2015-09-25 | 2022-10-04 | Mongodb, Inc. | Large scale unstructured database systems |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10360236B2 (en) | 2015-09-25 | 2019-07-23 | International Business Machines Corporation | Replicating structured query language (SQL) in a heterogeneous replication environment |
US10198346B1 (en) | 2015-09-28 | 2019-02-05 | Amazon Technologies, Inc. | Test framework for applications using journal-based databases |
US10331657B1 (en) | 2015-09-28 | 2019-06-25 | Amazon Technologies, Inc. | Contention analysis for journal-based databases |
US10133767B1 (en) | 2015-09-28 | 2018-11-20 | Amazon Technologies, Inc. | Materialization strategies in journal-based databases |
CN106844363B (zh) * | 2015-12-03 | 2021-01-29 | 阿里巴巴集团控股有限公司 | 用于数据库进行物理热备及数据恢复的方法和设备 |
US10621156B1 (en) | 2015-12-18 | 2020-04-14 | Amazon Technologies, Inc. | Application schemas for journal-based databases |
US10853182B1 (en) | 2015-12-21 | 2020-12-01 | Amazon Technologies, Inc. | Scalable log-based secondary indexes for non-relational databases |
US10567500B1 (en) | 2015-12-21 | 2020-02-18 | Amazon Technologies, Inc. | Continuous backup of data in a distributed data store |
US10423493B1 (en) | 2015-12-21 | 2019-09-24 | Amazon Technologies, Inc. | Scalable log-based continuous data protection for distributed databases |
US10628580B2 (en) * | 2016-01-10 | 2020-04-21 | Apple Inc. | Containers shared by multiple users of a device |
CN105760456B (zh) * | 2016-02-04 | 2019-11-29 | 网易(杭州)网络有限公司 | 一种保持数据一致性的方法和装置 |
CN107085579A (zh) * | 2016-02-16 | 2017-08-22 | 中国移动通信集团福建有限公司 | 一种数据采集分发方法及装置 |
US10146854B2 (en) | 2016-02-29 | 2018-12-04 | International Business Machines Corporation | Continuous automatic update statistics evaluation using change data capture techniques |
US10671496B2 (en) | 2016-05-31 | 2020-06-02 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
CN106021593A (zh) * | 2016-06-07 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种第一数据库与第二数据库接管过程中的复制处理方法 |
CN106899648B (zh) | 2016-06-20 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 一种数据处理方法和设备 |
US10776220B2 (en) | 2016-06-27 | 2020-09-15 | Mongodb, Inc. | Systems and methods for monitoring distributed database deployments |
CN106227727A (zh) * | 2016-06-30 | 2016-12-14 | 乐视控股(北京)有限公司 | 一种分布式系统的日志更新方法、装置与系统 |
CN105956207A (zh) * | 2016-07-01 | 2016-09-21 | 杭州帕拉迪网络科技有限公司 | 一种基于binlog的可配置的mysql数据库实时同步方法 |
US10289383B2 (en) | 2016-07-28 | 2019-05-14 | International Business Machines Corporation | Cross object synchronization |
US10705926B2 (en) * | 2016-07-29 | 2020-07-07 | Rubrik, Inc. | Data protection and recovery across relational and non-relational databases |
CN107783975B (zh) * | 2016-08-24 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 分布式数据库同步处理的方法和装置 |
CN106326469A (zh) * | 2016-08-31 | 2017-01-11 | 无锡雅座在线科技发展有限公司 | 数据的同步方法和装置 |
CN107818431B (zh) * | 2016-09-14 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 一种提供订单轨迹数据的方法和系统 |
US10803048B2 (en) | 2016-09-16 | 2020-10-13 | Oracle International Corporation | Change data capture processing and analysis |
US10275281B2 (en) * | 2016-09-30 | 2019-04-30 | Salesforce.Com, Inc. | Scheduling jobs for processing log files using a database system |
CN107918620B (zh) | 2016-10-10 | 2022-04-19 | 阿里巴巴集团控股有限公司 | 一种数据库的写入方法及装置、电子设备 |
CN106484869A (zh) * | 2016-10-12 | 2017-03-08 | 北京集奥聚合科技有限公司 | 一种基于mysql binlog的分布式缓存方法及系统 |
EP3309692A1 (en) * | 2016-10-17 | 2018-04-18 | Huawei Technologies Co., Ltd. | Method for elastic geographical database replication |
CN106503257B (zh) * | 2016-11-15 | 2019-09-20 | 北京京东金融科技控股有限公司 | 基于binlog补偿机制的分布式事务服务方法及系统 |
CN108228592B (zh) * | 2016-12-13 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 基于二进制日志的数据归档方法及数据归档装置 |
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 |
CN107122424B (zh) * | 2017-04-07 | 2019-11-05 | 南京南瑞集团公司 | 一种关系数据库日志抽取方法 |
CN107330003A (zh) * | 2017-06-12 | 2017-11-07 | 上海藤榕网络科技有限公司 | 数据同步方法、系统、存储器及数据同步设备 |
CN107436938B (zh) * | 2017-07-27 | 2019-11-05 | 国家电网公司 | 一种关系数据库前映像的附加日志解析方法 |
CN110019498B (zh) * | 2017-08-14 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 日志同步方法及装置、存储介质、电子设备 |
CN107506263A (zh) * | 2017-08-24 | 2017-12-22 | 深圳互联先锋科技有限公司 | 一种故障测试方法和装置 |
US10990581B1 (en) | 2017-09-27 | 2021-04-27 | Amazon Technologies, Inc. | Tracking a size of a database change log |
US10754844B1 (en) | 2017-09-27 | 2020-08-25 | Amazon Technologies, Inc. | Efficient database snapshot generation |
US11762836B2 (en) * | 2017-09-29 | 2023-09-19 | Oracle International Corporation | System and method for capture of change data from distributed data sources, for use with heterogeneous targets |
CN110069489B (zh) * | 2017-10-17 | 2023-01-31 | 株式会社日立制作所 | 一种信息处理方法、装置、设备及计算机可读存储介质 |
US10671494B1 (en) * | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US11182372B1 (en) | 2017-11-08 | 2021-11-23 | Amazon Technologies, Inc. | Tracking database partition change log dependencies |
US10042879B1 (en) | 2017-11-13 | 2018-08-07 | Lendingclub Corporation | Techniques for dynamically enriching and propagating a correlation context |
US11354301B2 (en) * | 2017-11-13 | 2022-06-07 | LendingClub Bank, National Association | Multi-system operation audit log |
US11042503B1 (en) | 2017-11-22 | 2021-06-22 | Amazon Technologies, Inc. | Continuous data protection and restoration |
US11269731B1 (en) | 2017-11-22 | 2022-03-08 | Amazon Technologies, Inc. | Continuous data protection |
CN107943979A (zh) * | 2017-11-29 | 2018-04-20 | 山东鲁能软件技术有限公司 | 一种数据库之间数据的准实时同步方法及装置 |
CN109690521B (zh) * | 2017-12-28 | 2023-07-04 | 深圳配天智能技术研究院有限公司 | 一种数据库合并的方法以及装置 |
US11030216B2 (en) | 2018-01-08 | 2021-06-08 | International Business Machines Corporation | Replicating non-supported data types using an existing supported replication format |
CN108255621A (zh) * | 2018-01-10 | 2018-07-06 | 深圳友门鹿网络科技有限公司 | 一种基于binlog的MySQL增量消息解析方法 |
CN110198327B (zh) * | 2018-03-05 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种数据传输方法及相关设备 |
US10621049B1 (en) | 2018-03-12 | 2020-04-14 | Amazon Technologies, Inc. | Consistent backups based on local node clock |
US11321353B2 (en) | 2018-03-20 | 2022-05-03 | International Business Machines Corporation | Dynamic roll-over of source and target latency in a replication environment |
US10713232B2 (en) * | 2018-04-16 | 2020-07-14 | Computational Systems, Inc. | Efficient data processing |
CN108563535B (zh) * | 2018-04-27 | 2021-12-24 | 四川巧夺天工信息安全智能设备有限公司 | 一种对MySQL数据库全库的恢复方法 |
US11645261B2 (en) * | 2018-04-27 | 2023-05-09 | Oracle International Corporation | System and method for heterogeneous database replication from a remote server |
CN110515861B (zh) * | 2018-05-21 | 2022-08-05 | 北京忆芯科技有限公司 | 处理刷写命令的存储设备及其方法 |
CN108829543A (zh) * | 2018-06-21 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种减小备份Linux系统日志大小的方法 |
CN109240735B (zh) * | 2018-07-27 | 2021-09-24 | 平安科技(深圳)有限公司 | 需求回滚方案填写方法、装置、终端及可读存储介质 |
US11126505B1 (en) | 2018-08-10 | 2021-09-21 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
CN110928885B (zh) * | 2018-09-04 | 2023-05-16 | 三六零科技集团有限公司 | Mysql数据库的数据更新到Es数据库的方法及装置 |
US11663207B2 (en) * | 2018-09-24 | 2023-05-30 | Salesforce, Inc. | Translation of tenant identifiers |
US11061872B2 (en) * | 2018-10-16 | 2021-07-13 | International Business Machines Corporation | Integrating a legacy static system with an event-based system |
CN109408290B (zh) * | 2018-10-19 | 2021-02-26 | 厦门市美亚柏科信息股份有限公司 | 一种基于InnoDB的碎片文件恢复方法、装置及存储介质 |
US20200142985A1 (en) * | 2018-11-07 | 2020-05-07 | ZenDesk, Inc. | Asynchronously publishing events to a message bus in an event-driven computing system |
CN111177141A (zh) * | 2018-11-09 | 2020-05-19 | 上海擎感智能科技有限公司 | 利用MySQL并行复制恢复数据方法、设备及系统 |
KR102119258B1 (ko) | 2018-11-14 | 2020-06-05 | 주식회사 실크로드소프트 | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 |
US11042454B1 (en) | 2018-11-20 | 2021-06-22 | Amazon Technologies, Inc. | Restoration of a data source |
US11151114B2 (en) * | 2018-12-04 | 2021-10-19 | International Business Machines Corporation | Log reader and parser sharing determination in a change data capture environment |
CN111382140B (zh) * | 2018-12-29 | 2023-06-16 | 方正国际软件(北京)有限公司 | 数据库序列迁移的方法及电子设备 |
US12093316B2 (en) * | 2019-01-31 | 2024-09-17 | Hewlett Packard Enterprise Development Lp | Partial file system instances |
KR102177792B1 (ko) * | 2019-02-26 | 2020-11-11 | 주식회사 퍼즐시스템즈 | 컬럼 별 바이너리 파일 저장 구조를 이용하여 대용량 데이터를 메모리 용량 제약없이 차트로 표시하는 시스템 |
KR102171430B1 (ko) * | 2019-02-26 | 2020-10-29 | 주식회사 퍼즐시스템즈 | 데이터베이스에서 조회된 대용량 데이터를 컬럼 별 바이너리 파일로 저장하는 시스템 |
US11392541B2 (en) | 2019-03-22 | 2022-07-19 | Hewlett Packard Enterprise Development Lp | Data transfer using snapshot differencing from edge system to core system |
US10997160B1 (en) | 2019-03-25 | 2021-05-04 | Amazon Technologies, Inc. | Streaming committed transaction updates to a data store |
US11249983B2 (en) * | 2019-04-02 | 2022-02-15 | International Business Machines Corporation | Transaction change data forwarding |
US11468011B2 (en) | 2019-04-11 | 2022-10-11 | Singlestore, Inc. | Database management system |
CN110162571A (zh) * | 2019-04-26 | 2019-08-23 | 厦门市美亚柏科信息股份有限公司 | 一种异构数据库之间数据同步的系统、方法、存储介质 |
US11100087B2 (en) * | 2019-04-26 | 2021-08-24 | Microsoft Technology Licensing, Llc | Data tokenization system maintaining data integrity |
US11726991B2 (en) * | 2019-04-30 | 2023-08-15 | EMC IP Holding Company LLC | Bulk updating of mapping pointers with metadata transaction log |
US11170029B2 (en) | 2019-05-31 | 2021-11-09 | Lendingclub Corporation | Multi-user cross-device tracking |
US11829384B1 (en) | 2019-06-24 | 2023-11-28 | Amazon Technologies, Inc. | Amortizing replication log updates for transactions |
CN110417892B (zh) * | 2019-07-31 | 2021-08-27 | 中国工商银行股份有限公司 | 基于报文解析的数据复制链路优化方法及装置 |
US11886439B1 (en) | 2019-08-27 | 2024-01-30 | Amazon Technologies, Inc. | Asynchronous change data capture for direct external transmission |
US11494408B2 (en) * | 2019-09-24 | 2022-11-08 | Salesforce.Com, Inc. | Asynchronous row to object enrichment of database change streams |
CN110795420A (zh) * | 2019-10-30 | 2020-02-14 | 浪潮云信息技术有限公司 | 一种基于Ansible的MySQL数据库自动化备份方法 |
CN111008246B (zh) * | 2019-11-26 | 2024-04-19 | 中盈优创资讯科技有限公司 | 数据库日志同步方法、装置、计算机设备及可读存储介质 |
CN111198869A (zh) * | 2019-12-17 | 2020-05-26 | 未鲲(上海)科技服务有限公司 | 数据迁移方法、装置、设备及计算机可读存储介质 |
CN111414358B (zh) * | 2019-12-30 | 2024-09-27 | 杭州美创科技股份有限公司 | 应用于关系型数据库数据装载的方法 |
US11347719B2 (en) * | 2019-12-31 | 2022-05-31 | Capital One Services, Llc | Multi-table data validation tool |
CN111241044B (zh) * | 2020-01-08 | 2023-09-19 | 中国联合网络通信集团有限公司 | 搭建异构数据库的方法、装置、设备及可读存储介质 |
KR20200056357A (ko) | 2020-03-17 | 2020-05-22 | 주식회사 실크로드소프트 | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 |
US11182406B2 (en) | 2020-03-27 | 2021-11-23 | International Business Machines Corporation | Increased data availability during replication |
US11422970B2 (en) * | 2020-05-11 | 2022-08-23 | Sap Se | Handling of data archiving events in a replication system |
WO2021237704A1 (zh) * | 2020-05-29 | 2021-12-02 | 深圳市欢太科技有限公司 | 数据同步方法及相关装置 |
CN111858501B (zh) * | 2020-06-02 | 2023-03-28 | 武汉达梦数据库股份有限公司 | 一种基于日志解析同步的日志读取方法和数据同步系统 |
CN113779048A (zh) * | 2020-06-18 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
US11416468B2 (en) | 2020-07-21 | 2022-08-16 | International Business Machines Corporation | Active-active system index management |
US11860894B2 (en) * | 2020-08-24 | 2024-01-02 | International Business Machines Corporation | Database management system data replication |
US11397718B2 (en) | 2020-09-09 | 2022-07-26 | International Business Machines Corporation | Dynamic selection of synchronization update path |
CN112307118B (zh) * | 2020-09-30 | 2024-03-22 | 武汉达梦数据库股份有限公司 | 基于日志解析同步的保障数据一致性的方法和同步系统 |
US11182275B1 (en) | 2020-10-23 | 2021-11-23 | Capital One Services, Llc | Systems and method for testing computing environments |
CN112307124B (zh) * | 2020-11-03 | 2024-09-27 | 深圳神拳互动科技有限公司 | 数据库同步验证方法、装置、设备及存储介质 |
CN112306994A (zh) * | 2020-11-10 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 数据库数据迁移方法、装置以及存储介质 |
US11704335B2 (en) | 2020-11-13 | 2023-07-18 | International Business Machines Corporation | Data synchronization in a data analysis system |
CN112307108A (zh) * | 2020-11-25 | 2021-02-02 | 科大国创云网科技有限公司 | 一种基于简单配置方式的数据抽取方法及系统 |
CN112507027B (zh) * | 2020-12-16 | 2024-04-16 | 平安科技(深圳)有限公司 | 基于Kafka的增量数据同步方法、装置、设备及介质 |
CN112612760B (zh) * | 2020-12-30 | 2024-08-06 | 中国农业银行股份有限公司 | 一种日志消息输出方法及装置 |
KR102463665B1 (ko) * | 2021-02-18 | 2022-11-09 | (주)알투비솔루션 | 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템 |
US11675809B2 (en) | 2021-03-02 | 2023-06-13 | International Business Machines Corporation | Replicating data changes using multiple storage devices and tracking records of pending data changes stored on the storage devices |
US11182260B1 (en) | 2021-03-02 | 2021-11-23 | International Business Machines Corporation | Avoiding recovery log archive access in database accelerator environments |
US11226878B1 (en) | 2021-03-02 | 2022-01-18 | International Business Machines Corporation | Accelerator-based database recovery |
US11500733B2 (en) | 2021-03-19 | 2022-11-15 | International Business Machines Corporation | Volatile database caching in a database accelerator |
US11797570B2 (en) | 2021-03-19 | 2023-10-24 | International Business Machines Corporation | Asynchronous persistency of replicated data changes in a database accelerator |
US11853319B1 (en) | 2021-03-25 | 2023-12-26 | Amazon Technologies, Inc. | Caching updates appended to an immutable log for handling reads to the immutable log |
CN113157496B (zh) * | 2021-04-28 | 2023-03-10 | 深圳市腾讯网域计算机网络有限公司 | 应用于数据恢复的处理方法、相关装置、设备及存储介质 |
CN113590581B (zh) * | 2021-06-28 | 2024-05-14 | 中国农业银行股份有限公司 | 数据传输方法、装置、设备及存储介质 |
CN113254983B (zh) * | 2021-07-13 | 2021-10-01 | 卓尔智联(武汉)研究院有限公司 | 一种数据处理方法及装置 |
CN113704213A (zh) * | 2021-08-20 | 2021-11-26 | 辽宁振兴银行股份有限公司 | 一种基于sqlldr2和ogg数据同步的实现方法 |
CN113934786B (zh) * | 2021-09-29 | 2023-09-08 | 浪潮卓数大数据产业发展有限公司 | 一种构建统一etl的实施方法 |
CN114020850B (zh) * | 2022-01-05 | 2022-04-08 | 深圳市明源云科技有限公司 | 数据库数据同步方法、装置、设备及可读存储介质 |
CN114527966B (zh) * | 2022-02-24 | 2024-06-04 | 中国人民解放军火箭军工程大学 | 一种文件输入输出流高效通用化算法库实现方法 |
CN114648513B (zh) * | 2022-03-29 | 2022-11-29 | 华南理工大学 | 一种基于自标注数据增广的摩托车检测方法 |
US12007977B1 (en) | 2022-09-30 | 2024-06-11 | Amazon Technologies, Inc. | Selectively applying a replication log for logical database replica creation |
CN116467372A (zh) * | 2023-02-21 | 2023-07-21 | 中国人民解放军海军工程大学 | 一种数据库自动转换方法、装置、电子设备及存储介质 |
CN118277491B (zh) * | 2024-06-04 | 2024-08-09 | 杭州玳数科技有限公司 | 基于Canal的元数据同步方法、设备、存储介质及计算机程序产品 |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6314390A (ja) * | 1986-07-04 | 1988-01-21 | Nec Corp | マルチボリユ−ム制御方式 |
US7031987B2 (en) | 1997-05-30 | 2006-04-18 | Oracle International Corporation | Integrating tablespaces with different block sizes |
US6016501A (en) * | 1998-03-18 | 2000-01-18 | Bmc Software | Enterprise data movement system and method which performs data load and changed data propagation operations |
US6173388B1 (en) | 1998-04-09 | 2001-01-09 | Teranex Inc. | Directly accessing local memories of array processors for improved real-time corner turning processing |
US6212628B1 (en) | 1998-04-09 | 2001-04-03 | Teranex, Inc. | Mesh connected computer |
WO2000013136A1 (en) | 1998-08-31 | 2000-03-09 | Digital Video Express, L.P. | Watermarking system and methodology for digital multimedia content |
JP4250231B2 (ja) * | 1998-09-04 | 2009-04-08 | キヤノン株式会社 | ファイル管理装置、ファイル管理方法、及び記憶媒体 |
AU1936900A (en) | 1998-12-08 | 2000-06-26 | Mediadna, Inc. | A system and method of obfuscating data |
US6877023B1 (en) | 2000-01-28 | 2005-04-05 | Softwired, Inc. | Messaging system for delivering data in the form of portable message formats between message clients |
US6687848B1 (en) | 2000-05-31 | 2004-02-03 | Sun Microsystems, Inc. | Techniques for preventing information loss in a business to business message in an enterprise computer system |
US6753889B1 (en) | 2000-05-31 | 2004-06-22 | Sun Microsystems, Inc. | Platform independent business to business messenger adapter generation tool |
US20020123987A1 (en) | 2001-01-18 | 2002-09-05 | Cox James A. | Nearest neighbor data method and system |
US7143190B2 (en) | 2001-04-02 | 2006-11-28 | Irving S. Rappaport | Method and system for remotely facilitating the integration of a plurality of dissimilar systems |
US7124299B2 (en) | 2001-05-18 | 2006-10-17 | Claymore Systems, Inc. | System, method and computer program product for auditing XML messages in a network-based message stream |
US7007025B1 (en) | 2001-06-08 | 2006-02-28 | Xsides Corporation | Method and system for maintaining secure data input and output |
US7299230B2 (en) | 2001-08-30 | 2007-11-20 | Siebel Systems, Inc. | Method, apparatus and system for transforming, converting and processing messages between multiple systems |
US7254586B2 (en) | 2002-06-28 | 2007-08-07 | Microsoft Corporation | Secure and opaque type library providing secure data protection of variables |
US7076508B2 (en) * | 2002-08-12 | 2006-07-11 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
US7290249B2 (en) | 2003-01-27 | 2007-10-30 | Bea Systems, Inc. | System and method for java message service mark-up language |
US7039773B2 (en) | 2003-04-29 | 2006-05-02 | Oracle International Corporation | Method and mechanism for efficient implementation of ordered records |
JP2004341926A (ja) * | 2003-05-16 | 2004-12-02 | Toshiba Corp | データベース管理システム、データベース管理プログラム |
US20040254919A1 (en) * | 2003-06-13 | 2004-12-16 | Microsoft Corporation | Log parser |
US7321939B1 (en) | 2003-06-27 | 2008-01-22 | Embarq Holdings Company Llc | Enhanced distributed extract, transform and load (ETL) computer method |
US7143123B2 (en) | 2004-01-09 | 2006-11-28 | Microsoft Corporation | Well-known transactions in data replication |
JP2005293323A (ja) * | 2004-03-31 | 2005-10-20 | Nec Corp | 異種rdbms間での差分配信レコード反映システム |
US8554806B2 (en) | 2004-05-14 | 2013-10-08 | Oracle International Corporation | Cross platform transportable tablespaces |
US7571173B2 (en) | 2004-05-14 | 2009-08-04 | Oracle International Corporation | Cross-platform transportable database |
US20060041540A1 (en) | 2004-06-20 | 2006-02-23 | Marvin Shannon | System and Method Relating to Dynamically Constructed Addresses in Electronic Messages |
GB0414291D0 (en) * | 2004-06-25 | 2004-07-28 | Ibm | Methods, apparatus and computer programs for data replication |
US7360111B2 (en) * | 2004-06-29 | 2008-04-15 | Microsoft Corporation | Lossless recovery for computer systems with remotely dependent data recovery |
US7257690B1 (en) * | 2004-10-15 | 2007-08-14 | Veritas Operating Corporation | Log-structured temporal shadow store |
US7702698B1 (en) * | 2005-03-01 | 2010-04-20 | Yahoo! Inc. | Database replication across different database platforms |
US7310716B2 (en) * | 2005-03-04 | 2007-12-18 | Emc Corporation | Techniques for producing a consistent copy of source data at a target location |
US20060212356A1 (en) * | 2005-03-14 | 2006-09-21 | Michael Lambert | System and method for integrated order and channel management |
US7844957B2 (en) | 2005-08-19 | 2010-11-30 | Sybase, Inc. | Development system with methodology providing optimized message parsing and handling |
JP2007114817A (ja) * | 2005-10-18 | 2007-05-10 | Hitachi High-Tech Science Systems Corp | ログ情報のビジュアル化装置とその方法及びビジュアル化プログラム |
US7885922B2 (en) | 2005-10-28 | 2011-02-08 | Oracle International Corporation | Apparatus and method for creating a real time database replica |
US7831574B2 (en) * | 2006-05-12 | 2010-11-09 | Oracle International Corporation | Apparatus and method for forming a homogenous transaction data store from heterogeneous sources |
US7627562B2 (en) | 2006-06-13 | 2009-12-01 | Microsoft Corporation | Obfuscating document stylometry |
US8015214B2 (en) | 2006-06-30 | 2011-09-06 | Encapsa Technology, Llc | Method of encapsulating information in a database and an encapsulated database |
WO2008021244A2 (en) | 2006-08-10 | 2008-02-21 | Trustees Of Tufts College | Systems and methods for identifying unwanted or harmful electronic text |
CN101246486B (zh) | 2007-02-13 | 2012-02-01 | 国际商业机器公司 | 用于改进的表达式处理的方法和装置 |
US7873635B2 (en) | 2007-05-31 | 2011-01-18 | Microsoft Corporation | Search ranger system and double-funnel model for search spam analyses and browser protection |
US7730107B1 (en) | 2007-08-17 | 2010-06-01 | Oclc Online Computer Library Center, Inc. | System and method for updating and sharing private library profile data to facilitate delivery of electronic content to libraries |
US10248483B2 (en) | 2007-10-19 | 2019-04-02 | Oracle International Corporation | Data recovery advisor |
US9305180B2 (en) | 2008-05-12 | 2016-04-05 | New BIS Luxco S.à r.l | Data obfuscation system, method, and computer implementation of data obfuscation for secret databases |
US7962458B2 (en) * | 2008-06-12 | 2011-06-14 | Gravic, Inc. | Method for replicating explicit locks in a data replication engine |
US8301593B2 (en) * | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US8069053B2 (en) | 2008-08-13 | 2011-11-29 | Hartford Fire Insurance Company | Systems and methods for de-identification of personal data |
JP5694641B2 (ja) | 2008-09-12 | 2015-04-01 | スリーエム イノベイティブ プロパティズ カンパニー | ラッピング立体成形体及びその製造方法 |
JP4789021B2 (ja) | 2009-02-06 | 2011-10-05 | 日本電気株式会社 | データ処理装置及びデータ処理方法 |
JP4722195B2 (ja) | 2009-04-13 | 2011-07-13 | 富士通株式会社 | データベース・メッセージ分析支援プログラム、方法及び装置 |
US8108343B2 (en) | 2009-04-23 | 2012-01-31 | Microsoft Corporation | De-duplication and completeness in multi-log based replication |
US8214515B2 (en) | 2009-06-01 | 2012-07-03 | Trion Worlds, Inc. | Web client data conversion for synthetic environment interaction |
CN101615199A (zh) * | 2009-07-31 | 2009-12-30 | 深圳市珍爱网信息技术有限公司 | 异构数据库同步方法及系统 |
CN101719165B (zh) * | 2010-01-12 | 2014-12-17 | 浪潮电子信息产业股份有限公司 | 一种实现数据库高效快速备份的方法 |
US8768902B2 (en) | 2010-06-11 | 2014-07-01 | Microsoft Corporation | Unified concurrent changes to data, schema, and application |
US8954385B2 (en) * | 2010-06-28 | 2015-02-10 | Sandisk Enterprise Ip Llc | Efficient recovery of transactional data stores |
US8626778B2 (en) | 2010-07-23 | 2014-01-07 | Oracle International Corporation | System and method for conversion of JMS message data into database transactions for application to multiple heterogeneous databases |
US8510270B2 (en) | 2010-07-27 | 2013-08-13 | Oracle International Corporation | MYSQL database heterogeneous log based replication |
US9298878B2 (en) | 2010-07-29 | 2016-03-29 | Oracle International Corporation | System and method for real-time transactional data obfuscation |
US9130988B2 (en) | 2010-12-21 | 2015-09-08 | Microsoft Technology Licensing, Llc | Scareware detection |
WO2012166581A2 (en) | 2011-05-27 | 2012-12-06 | Ctc Tech Corp. | Creation, use and training of computer-based discovery avatars |
US20130246376A1 (en) | 2012-03-16 | 2013-09-19 | Infosys Limited | Methods for managing data intake and devices thereof |
US9606729B2 (en) | 2013-03-15 | 2017-03-28 | Skyera, Llc | Apparatus and method for insertion and deletion in multi-dimensional to linear address space translation |
US10032244B2 (en) | 2014-08-21 | 2018-07-24 | Intel Corporation | Method and apparatus for implementing a nearest neighbor search on a graphics processing unit (GPU) |
US9818043B2 (en) | 2015-06-24 | 2017-11-14 | Microsoft Technology Licensing, Llc | Real-time, model-based object detection and pose estimation |
US10331753B1 (en) | 2018-04-04 | 2019-06-25 | The Florida International University Board Of Trustees | Efficient progressive continuous k-nearest neighbor query algorithm for moving objects with a tree-like index |
-
2011
- 2011-03-31 US US13/077,760 patent/US8510270B2/en active Active
- 2011-05-13 CN CN201180036429.0A patent/CN103221949B/zh active Active
- 2011-05-13 EP EP11722669.6A patent/EP2599014B1/en active Active
- 2011-05-13 JP JP2013521774A patent/JP6062855B2/ja active Active
- 2011-05-13 EP EP18182168.7A patent/EP3410320B1/en active Active
- 2011-05-13 WO PCT/US2011/036508 patent/WO2012018424A2/en active Application Filing
-
2013
- 2013-07-31 US US13/956,175 patent/US9442995B2/en not_active Ceased
-
2018
- 2018-01-26 US US15/881,432 patent/USRE48243E1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2599014A2 (en) | 2013-06-05 |
US20120030172A1 (en) | 2012-02-02 |
EP2599014B1 (en) | 2019-02-13 |
EP3410320A1 (en) | 2018-12-05 |
WO2012018424A3 (en) | 2013-04-18 |
US20130318044A1 (en) | 2013-11-28 |
JP2013535737A (ja) | 2013-09-12 |
US9442995B2 (en) | 2016-09-13 |
WO2012018424A2 (en) | 2012-02-09 |
EP3410320B1 (en) | 2021-03-10 |
CN103221949A (zh) | 2013-07-24 |
USRE48243E1 (en) | 2020-10-06 |
US8510270B2 (en) | 2013-08-13 |
CN103221949B (zh) | 2017-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6062855B2 (ja) | MySQLデータベース−異種ログベースレプリケーション | |
US10558617B2 (en) | File system backup using change journal | |
US7676481B2 (en) | Serialization of file system item(s) and associated entity(ies) | |
CN100445998C (zh) | 事务文件系统 | |
US10642696B2 (en) | Copying compressed pages without uncompressing the compressed pages | |
US8386431B2 (en) | Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor | |
US10120767B2 (en) | System, method, and computer program product for creating a virtual database | |
US10235368B2 (en) | System and method for updating external file referenced by database with transactional consistency using SQL | |
EP4113314A1 (en) | Computer-implemented method for database management, computer program product and database system | |
JP3709510B2 (ja) | リレーショナルデータベース管理方法およびリレーショナルデータベースシステム | |
KR101109390B1 (ko) | 하드웨어/소프트웨어 인터페이스 시스템에 의해 관리가능한 정보의 단위들에 대한 동기화 서비스를 제공하는시스템 및 방법 | |
Berkeley | Oracle Berkeley DB | |
Allen et al. | LOBs | |
Salinas-Monteagudo et al. | A triggerless approach to writeset extraction in multiversioned databases | |
Balaji | Oracle Database Application Developer's Guide-Large Objects 10g Release 2 (10.2) Part No. B14249-01 Copyright© 1996, 2005, Oracle. All rights reserved. Primary Authors: Jack Melnick, Eric Paapanen Contributing Authors: K. Akiyama, Geeta Arora, S. Banerjee, Yujie Cao, Thomas H. Chang, E. Chong, S. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140509 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140509 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150303 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150529 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160913 |
|
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: 20161122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6062855 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |