JP2006202337A - Method and device for data processing - Google Patents

Method and device for data processing Download PDF

Info

Publication number
JP2006202337A
JP2006202337A JP2006107299A JP2006107299A JP2006202337A JP 2006202337 A JP2006202337 A JP 2006202337A JP 2006107299 A JP2006107299 A JP 2006107299A JP 2006107299 A JP2006107299 A JP 2006107299A JP 2006202337 A JP2006202337 A JP 2006202337A
Authority
JP
Japan
Prior art keywords
database
storage space
data
entry
journal
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.)
Pending
Application number
JP2006107299A
Other languages
Japanese (ja)
Inventor
James S Tarbell
ジェイムズ スコット ターベル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maximum Availability Ltd
Original Assignee
Maximum Availability Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maximum Availability Ltd filed Critical Maximum Availability Ltd
Publication of JP2006202337A publication Critical patent/JP2006202337A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/2056Error 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 by mirroring
    • G06F11/2064Error 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 by mirroring while ensuring consistency
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers

Abstract

<P>PROBLEM TO BE SOLVED: To provide a database replication system in which the journal entry is reliably serialized by a database member and grouping specified by a user. <P>SOLUTION: The present invention relates to a method and a system for processing data including: a method of database replication in which information strings are assigned to serialization groups for processing; a method of memory control in which data are sent from a storage space area while no data are being written to the area; a method of replicating a database in which a dynamic table is created to processing information provided to the database member; and a method of replicating a database in which tasks are assigned to program components without program components interacting. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、データ処理の方法及び装置に関する。より具体的には、排他的にというわけではないが、本発明は、データベース複製の方法及び装置に関する。   The present invention relates to a data processing method and apparatus. More specifically, but not exclusively, the present invention relates to a database replication method and apparatus.

数多くのデータ処理アプリケーションでは、ソースシステムから送られてくるデ−タのフラクションを、目標システム上で必要なデータフォーマットに処理しなければならない。   In many data processing applications, the fraction of data sent from the source system must be processed into the required data format on the target system.

ソースシステム上のデータベースから、目標コンピュータシステム上にデータベースを複製することが求められることも多い。この処理には、ソースデータベースからジャーナルエントリエントリを送って、目標データベースを更新できるようにすることも含まれる。データベースは1つ又は複数のライブラリから構成され、各ライブラリには1つ又は複数のファイルが含まれ、各ファイルは1つ又は複数のメンバーを有している。各メンバーは、1つ又は複数の行を有するテーブルで構成されている。ジャーナルエントリは、ライブラリの識別子と、ファイルと、ファイルメンバーと、ファイルメンバーに関する変更されたデータの行を含んでいる。目標コンピュータシステムは、このジャーナルエントリを使ってそのデータベースを更新する。   Often, it is required to replicate the database from the database on the source system onto the target computer system. This process also includes sending journal entry entries from the source database so that the target database can be updated. The database is composed of one or a plurality of libraries, and each library includes one or a plurality of files, and each file has one or a plurality of members. Each member consists of a table having one or more rows. The journal entry includes a library identifier, a file, a file member, and a line of changed data about the file member. The target computer system uses this journal entry to update its database.

所与のテーブルからのデータベースエントリが正しい順序で更新されること、相互に関係するメンバーが正しい順序で更新されること、が重要である。ジャーナルエントリを確実に適正に処理するために、目標コンピュータシステムの受信プロセスは、オブジェクト名称(ライブラリ/ファイル/メンバー)を、目標コンピュータシステムに記憶されたオブジェクトのデータベースと比較する。整合するオブジェクトが在れば、そのオブジェクトに関わる処理情報を使ってジャーナルエントリが処理される。   It is important that the database entries from a given table are updated in the correct order and the interrelated members are updated in the correct order. In order to ensure that journal entries are processed properly, the receiving process of the target computer system compares the object name (library / file / member) with a database of objects stored in the target computer system. If there is a matching object, the journal entry is processed using processing information relating to that object.

伝統的な方法では、ジャーナルエントリを伝送し、それを記憶し、1つのエンジンを使ってデータベースを複製する。この方法は、遅くて複雑である。   Traditional methods transmit journal entries, store them, and use one engine to replicate the database. This method is slow and complex.

以下の要件を満足するデータベース複製システムが望ましい。即ち、
1.ジャーナルエントリが、(最低でも)データメースメンバー、及び何であれユーザーの指定したグルーピングによって確実に順序付けられること。
A database replication system that satisfies the following requirements is desirable. That is,
1. Ensure that journal entries are ordered by (at least) a data mace member and whatever user-specified grouping.

2.極端に数の多いデータベース適用プロセスをサポートし、データベース入出力が容易に管理できるようになっていること。   2. Supports an extremely large number of database application processes, and database input / output can be easily managed.

3.エントリがジャーナルから取得される時間と、それが複製データベースに適用される時間との間のシステム入出力(例えば、ページング)の量を最小化するやり方でジャーナルエントリを処理すること。   3. Processing journal entries in a manner that minimizes the amount of system I / O (eg, paging) between the time an entry is retrieved from the journal and the time it is applied to the replica database.

4.ファンクションは、ジャーナルエントリだけでなくあらゆる型式のデータベースパケットをサポートしており、将来、他の形式の複製(例えば、オブジェクトファイル、ストリームファイルなど)へ拡張できるようになっていること。   4). The function supports all types of database packets, not just journal entries, and can be extended to other forms of replication (eg, object files, stream files, etc.) in the future.

5.システムは、メモリ管理機能の複雑さを、他のコンポーネントから覆い隠していること。   5. The system hides the complexity of memory management functions from other components.

本発明の目的は、以上の要件を満足する情報複製の方法及び装置を提供することであり、或いは少なくとも、有用な選択肢を社会に提供することである。   An object of the present invention is to provide a method and an apparatus for duplicating information satisfying the above requirements, or at least to provide useful options to society.

(発明の要約)
本発明の第1の態様によれば、ソースシステムからの情報を目標システムに複製する方法が提供されており、この方法は、
i)ソースシステムから情報のストリングスを受信する段階と、
ii)情報のストリングスを、相互に関係する情報のストリングスが同じ順序付けグループ内で処理されるように、処理するための順序付けグループに割り当てる段階とで構成されている。
(Summary of the Invention)
According to a first aspect of the invention, there is provided a method for replicating information from a source system to a target system, the method comprising:
i) receiving a string of information from the source system;
and ii) allocating information strings to ordering groups for processing such that interrelated information strings are processed in the same ordering group.

情報のストリングスは、ソースデータベースからのジャーナルエントリで、それが順序付けグループに割り当てられるので、同じ型式のジャーナルエントリ又は他のジャーナルエントリに関係付けられているジャーナルエントリが、同一の順序付けグループ内で処理される。   A string of information is a journal entry from the source database that is assigned to an ordering group so that journal entries associated with the same type of journal entry or other journal entries are processed within the same ordering group. The

本発明の別の態様によれば、データ伝送オペレーションにおいてメモリスペースを管理する方法が提供されており、この方法は、
i)複数の記憶スペース領域を定義する段階と、
ii)データを第1記憶スペース領域に書き込む段階と、
iii)第1記憶スペース領域にデータが書き込まれていない間に、第1記憶スペース領域からデータを読み出す段階とで構成されている。
According to another aspect of the invention, a method for managing memory space in a data transmission operation is provided, the method comprising:
i) defining a plurality of storage space areas;
ii) writing data to the first storage space area;
and iii) reading data from the first storage space area while data is not written to the first storage space area.

この方法は、情報が第1記憶スペース領域だけに書き込まれている間に、他の複数のデータ記憶スペース領域から同時に複数の読み取りが行えるようにする。   This method allows multiple simultaneous readings from multiple other data storage space areas while information is being written to only the first storage space area.

本発明の更に別の態様によれば、ソースコンピュータシステムからのデータベースを、目標コンピュータシステムに複製する方法が提供されており、この方法は、
i)ジャーナルエントリをソースコンピュータシステムから受信する段階と、
ii)ジャーナルエントリの関係するデータベースメンバーに関係する処理情報を与えるダイナミックインデクス内にエントリが存在するかどうかを調べるために、ジャーナルエントリをチェックする段階と、
iii)エントリがダイナミックテーブル内に存在する場合は、関連処理情報に従ってジャーナルエントリを処理する段階と、
iv)エントリがダイナミックインデクス内に存在しない場合は、割り当てデータベース内のデータベースメンバーに対する関係処理情報を探索し、エントリを作ってそれをダイナミックインデクス内に記憶し、次に、処理情報に従ってジャーナルエントリを処理する段階とで構成されている。
According to yet another aspect of the invention, a method is provided for replicating a database from a source computer system to a target computer system, the method comprising:
i) receiving a journal entry from a source computer system;
ii) checking the journal entry to determine whether an entry exists in the dynamic index that provides processing information relating to the database member to which the journal entry relates;
iii) if the entry exists in the dynamic table, processing the journal entry according to the related processing information;
iv) If the entry does not exist in the dynamic index, search for relation processing information for the database member in the allocation database, create an entry and store it in the dynamic index, then process the journal entry according to the processing information It consists of the stage to do.

ダイナミックインデクス内のエントリは、あるメンバーを他のメンバーによって処理する必要があるか否かに関する情報を提供する。ジャーナルエントリは、処理情報に従って処理される前に、一時的に記憶される。   Entries in the dynamic index provide information about whether one member needs to be processed by another member. The journal entry is temporarily stored before being processed according to the processing information.

本発明の更に又別の態様によれば、データベースを、ソースコンピュータシステムから目標コンピュータシステムに複製する方法が提供されており、この方法は、
i)ジャーナルエントリをソースコンピュータシステムから受信する段階と、
ii)ジャーナルエントリを処理して目標データベースを更新するために、プログラムコンポーネントを割り当てる段階と、から成り、制御プログラムは、タスクをプログラムコンポーネントに割り当て、実質的にプログラムコンポーネント同士が互いに対話することなく、プログラムコンポーネントを制御するようになっている。
In accordance with yet another aspect of the present invention, there is provided a method of replicating a database from a source computer system to a target computer system, the method comprising:
i) receiving a journal entry from a source computer system;
ii) assigning program components to process journal entries and updating the target database, wherein the control program assigns tasks to the program components so that the program components do not interact with each other substantially, It is designed to control program components.

以下、本発明を、添付図面を参照しながら例を挙げて説明する。   The present invention will now be described by way of example with reference to the accompanying drawings.

これよりデータベース複製法について説明するが、使用するソースコンピュータシステム及び目標コンピュータシステムは、OS/400オペレーティングシステムで作動するIBM AS/400である。なお、本方法は、適切に修正を施して他のシステムにも適用できるものと理解されたい。   The database replication method will now be described. The source computer system and target computer system used is an IBM AS / 400 running on an OS / 400 operating system. It should be understood that the method can be applied to other systems with appropriate modifications.

図1に示すように、ソースシステムAは、一次データベース1を含んでいる。一次データベース1は、1つ又は複数のライブラリを含んでいる。各ライブラリは、1つ又は複数のファイルを含んでいる。各ファイルは、1つ又は複数のメンバーを含んでいる。各メンバーは、1つ又は複数の行を有するテーブルを含んでいる。固有のライブラリ/ファイル/メンバーの組合せをオブジェクトと呼ぶ。   As shown in FIG. 1, the source system A includes a primary database 1. The primary database 1 includes one or more libraries. Each library contains one or more files. Each file contains one or more members. Each member includes a table having one or more rows. A unique library / file / member combination is called an object.

一次データベース1の何れかのメンバーの行が修正されると、オブジェクト名と修正された行を含むジャーナルエントリが、局所ジャーナル受信器2に送られる。局所ジャーナル受信器2は、ジャーナルエントリを、通信リンク3経由で目標コンピュータシステムBの遠隔ジャーナル受信器4に送る。データベース複製プロセス5は、ジャーナルエントリを受信して複製データベース6の内容を修正し、一次データベース1の内容に適合した状態に維持する。   When a row of any member of the primary database 1 is modified, a journal entry including the object name and the modified row is sent to the local journal receiver 2. The local journal receiver 2 sends the journal entry to the remote journal receiver 4 of the target computer system B via the communication link 3. The database replication process 5 receives the journal entry, modifies the content of the replication database 6 and maintains it in a state compatible with the content of the primary database 1.

次に、図2を参照しながら、目標コンピュータシステムの目標データベース6を複製するためのプロセスと装置について説明する。複製データベース6の適切な複製を確実なものとするため、データベースメンバーは、複製データベース6内で、一次データベース1内で修正されたと同じ順序で更新される。これを遂行するため、多数の順序付けグループ8が定義される。同じオブジェクト名を有するジャーナルエントリは、正しい順序で更新されるように、共通の順序付けグループにグルーピングされる。或るデータベースメンバーが、他のデータベースメンバーと(結合など)関係を有している場合は、共通の順序付けグループに割り当てられ、全ての相互に関係するメンバーが確実に正しい順序で更新されるようにする。このように、順序付けグループは、多数のオブジェクトに関するジャーナルエントリを含んでいる。この様な順序付けグループを使えば、データベース複製を、適切な順序で行えると同時に、効率的な並行処理が容易に行えるようになる。   A process and apparatus for replicating the target database 6 of the target computer system will now be described with reference to FIG. Database members are updated in the duplicate database 6 in the same order as modified in the primary database 1 to ensure proper duplication of the duplicate database 6. To accomplish this, a number of ordering groups 8 are defined. Journal entries with the same object name are grouped into a common ordering group so that they are updated in the correct order. If one database member has a relationship (such as a join) with another database member, it is assigned to a common ordering group to ensure that all interrelated members are updated in the correct order To do. Thus, an ordering group contains journal entries for a number of objects. By using such an ordering group, database replication can be performed in an appropriate order, and at the same time, efficient parallel processing can be easily performed.

受信プロセス7は、受信したジャーナルエントリを順序付けグループに割り当てるか、ジャーナルエントリをデフォルト順序付けグループに割り当てるか、ジャーナルエントリを廃棄するか、の何れかを行う。順序付けグループに割り当てるのは、割り当てデータベース(MXSGMBAS)と一時的OS/400ユーザーインデクスオブジェクトに基づいて行われる。ジャーナルエントリ割り当て関数は、ILEサービスプログラム経由で提供され、このプログラムを使うと、土台をなすインプリメンテーションを、呼び出し関数の再コンパイル/バインド無しに修正することができる。   The receiving process 7 either assigns the received journal entry to the ordering group, assigns the journal entry to the default ordering group, or discards the journal entry. The assignment to the ordering group is based on the assignment database (MXSGMBAS) and the temporary OS / 400 user index object. The journal entry allocation function is provided via the ILE service program, which can be used to modify the underlying implementation without recompiling / binding the calling function.

割り当てデータベースMXSGMBASは、全てのオブジェクトと、各オブジェクト間の関係(即ち、処理の間に或るオブジェクトを他のオブジェクトとグルーピングする必要があるか)と、各オブジェクトの要求する処理の方法を含んでいる。ジャーナルエントリを順序付けグループ8に割り当てるのは、単に、受信した各ジャーナルエントリのオブジェクト名を割り当てデータベースMXSGMBASと比較し、ジャーナルエントリを関連情報に基づいて順序付けグループに割り当てるだけで行うことができる。しかしながら、割り当てデータベースMXSGMBASは多数のオブジェクトを含んでおり、データベース位置突き止めオペレーションを実行し、関連の処理情報を抽出するには相当な処理時間が必要である。本発明によれば、メンバー割り当て(MBIX)インデクス一時オブジェクトを使って、オブジェクトに関する処理情報を記憶する。これは、オブジェクトの関連順序付けグループ及び関係処理情報(関連制御構造とのリンクを含む)を与えるオブジェクトのインデクスである。   The allocation database MXSGMBAS includes all objects, the relationship between each object (ie, whether an object needs to be grouped with other objects during processing), and the method of processing required by each object. Yes. Assigning a journal entry to the ordering group 8 can be done simply by comparing the object name of each received journal entry with the assignment database MXSGMBAS and assigning the journal entry to the ordering group based on the relevant information. However, the allocation database MXSGMBAS contains a large number of objects, and considerable processing time is required to perform the database location operation and extract the relevant processing information. According to the present invention, the member allocation (MBIX) index temporary object is used to store processing information related to the object. This is an index of the object that gives the related ordering group of the object and related processing information (including links to related control structures).

次に、図2及び図4を参照しながら、順序付けグループ割り当てを説明する。ジャーナルエントリをステップ11で受信すると、受信プロエス7は、ステップ12で比較を行い、オブジェクトがMBIXインデクス内に存在するか否かを調べる。存在する場合は、オペレーションはステップ13に進んで、順序付けグループ番号及びデータベースファイルインデクス(DBFIDX)が戻され、処理は、割り当てられた順序付けグループ内で継続する。   Next, the ordering group assignment will be described with reference to FIGS. When the journal entry is received in step 11, the receiving process 7 compares in step 12 to check whether the object exists in the MBIX index. If so, operation proceeds to step 13 where the ordering group number and database file index (DBFIDX) are returned and processing continues within the assigned ordering group.

オブジェクト名がMBIXインデクス内に記憶されていない場合、ステップ14で、全オブジェクト名探索がMXSGMBAS内で行われる。探索に成功した場合、順序付けグループは戻され、ステップ15で、関連順序付けグループによって維持されているダイナミックアレイ内に記憶されている処理情報を指すデータベースファイルインデクス(DBFIDX)が割り当てられ、エントリがMBIXインデクスに追加される。各データベースファイルインデクス(DBFIDX)は、単に、順序付けグループに固有のインデクスを増加させることによって作り出される。   If the object name is not stored in the MBIX index, at step 14, a full object name search is performed in MXSGMBAS. If the search is successful, the ordering group is returned and in step 15 a database file index (DBFIDX) is assigned that points to processing information stored in the dynamic array maintained by the associated ordering group, and the entry is an MBIX index. To be added. Each database file index (DBFIDX) is created simply by increasing the index specific to the ordering group.

ステップ14で整合が達成されなかった場合、ステップ16で総称名探索が行われる。これは、ライブラリ/ファイル/*オールによる、そして次にライブラリ/*オール/*オールによる探索を伴っている。総称整合が達成された場合、ステップ17で全名称(フルネーム)がMBIXテーブルに追加され、ステップ15及び13で前と同じく処理が継続する。整合が達成できなかった場合、ジャーナルエントリは、ステップ18で廃棄される。   If no match is achieved at step 14, a generic name search is performed at step 16. This involves searching by library / file / * all and then by library / * all / * all. If generic matching is achieved, all names (full names) are added to the MBIX table in step 17 and processing continues in steps 15 and 13 as before. If no match is achieved, the journal entry is discarded at step 18.

従って、開始時、MBIXインデクス10にはエントリは無いことになる。ジャーナルエントリが処理される度に、オブジェクトに関する順序付けグループと処理情報が、MBIXインデクス10に追加されることになる。順序付けグループと処理情報は、MBIXテーブル10からの方が、MXSGMBASデータベース9からよりも、遙かに迅速に得ることができる。   Therefore, at the start, there is no entry in the MBIX index 10. Each time a journal entry is processed, the ordering group and processing information for the object will be added to the MBIX index 10. Ordering groups and processing information can be obtained much more quickly from the MBIX table 10 than from the MXSGMBAS database 9.

この方法は、以下の重要な性能上の利益をもたらす。即ち、
1.順序付けグループは、メンバーの関係処理情報を探索する必要がない。順序付けグループは、単に、データベースファイルインデクスをアクセスの手段として備えているダイナミックアレイ内に処理情報を維持しているだけである。
This method provides the following important performance benefits: That is,
1. The ordering group does not need to search for member relationship processing information. The ordering group simply maintains processing information in a dynamic array that includes a database file index as a means of access.

2.特定のメンバー名に関係する全てのオペレーションは、順序付けグループとデータベースファイルインデクス値に言及し(refer to)、メンバーを一意的に識別する。(「ハンドル」(handle))
次に図3を参照しながら、目標コンピュータシステム内のメモリ管理の方法を説明する。記憶オブジェクトスペースは、多数の記憶ユニットSU1−SUNに分割される。各記憶ユニットは、記憶ユニットヘッダ20を有している。記憶ユニットヘッダ20は、記憶ユニット内にジャーナルエントリを有する順序付けグループの数を与える。各データセグメントは、記憶エントリヘッダ21と記憶エントリ22で構成されている。記憶エントリは、16バイト境界上に、エントリと16ビット境界の間の全てのスペースを満たすパディングブロック(padding block)23で位置合わせされている。
2. All operations related to a particular member name refer to the ordering group and database file index values to uniquely identify the member. ("Handle")
Next, a memory management method in the target computer system will be described with reference to FIG. Storage object space is divided into a number of storage units SU 1 -SU N. Each storage unit has a storage unit header 20. The storage unit header 20 gives the number of ordered groups that have journal entries in the storage unit. Each data segment includes a storage entry header 21 and a storage entry 22. The storage entry is aligned on a 16 byte boundary with a padding block 23 that fills all the space between the entry and the 16 bit boundary.

ジャーナルエントリは、受信プロセス7から、記憶オブジェクトスペース24内に記憶するために送られる。受信プロセス7からのジャーナルエントリは、ブロック22内の記憶オブジェクトスペース24に記憶される。各ジャーナルエントリ22は、その順序付けグループ用の記憶ユニット内の次のジャーナルエントリへの変位に関する情報と、ジャーナルエントリに関連付けられたメンバーに関する処理情報を含んでいる関連データベースファイルインデクス(DBFIDX)とを含んでいる関連記憶エントリヘッダ21(即ち、ハンドル)を有している。処理情報は、データベースファイルインデクスをアクセスの手段として備えているダイナミックメモリ内に維持されている。   Journal entries are sent from the receiving process 7 for storage in the storage object space 24. Journal entries from the receiving process 7 are stored in the storage object space 24 in the block 22. Each journal entry 22 includes information about the displacement to the next journal entry in the storage unit for that ordering group and an associated database file index (DBFIDX) that contains processing information about the members associated with the journal entry. Associated storage entry header 21 (ie, handle). Processing information is maintained in a dynamic memory provided with a database file index as an access means.

通常の作動時には、ジャーナルエントリは、1つの記憶ユニットに、一杯になって次の利用可能な記憶ユニットにジャーナルエントリを書き込むようになるまで、連続して書き込まれる。或る記憶ユニットに対する書き込みが完了すると、ジャーナルエントリは、所属するその記憶ユニットから読み出せるようになる。部分的に詰め込まれた記憶ユニットは、システムリソースがそれ以外に利用されていない(即ち、入信してくるジャーナルエントリを記憶する必要がない)時に読み出すことができる。   In normal operation, journal entries are written continuously to one storage unit until it becomes full and writes journal entries to the next available storage unit. When writing to a certain storage unit is completed, the journal entry can be read from the storage unit to which it belongs. A partially packed storage unit can be read when system resources are not otherwise utilized (ie, it is not necessary to store incoming journal entries).

この方法は、読み取り及び書き込みの間にメモリロックを必要としないことを意味している。書き込みプロセスの間、受信プロセス7は、記憶ユニットに書き込むため排他的アクセスを有している。読み取りオペレーションの間にはロックは必要ないので、ジャーナルエントリは、その各関連順序付けグループが同時に読み取ることができる。ロックが必要になるのは、順序付けグループに対する最後のジャーナルエントリが読み出されたとき、記憶ユニットヘッダ20内に保持されている値を減少させるためだけである。   This method means that no memory lock is required between reads and writes. During the writing process, the receiving process 7 has exclusive access to write to the storage unit. Since no locks are required during read operations, journal entries can be read simultaneously by their associated ordering group. The lock is only needed to reduce the value held in the storage unit header 20 when the last journal entry for the ordered group is read.

利用可能な記憶ユニット待ち行列(ASUQ)25は、空き記憶ユニットを使用する順序を制御する。ASUQ25は、空き記憶ユニットのアドレスを記憶する後入れ先出し方式(LIFO)バッファを含んでいる。順序付けグループのジャーナルエントリは、記憶エントリヘッダがヌル値となるまで記憶ユニットから読み出される。各記憶エントリ22が読み出される度に、記憶ユニットヘッダ20は減らされる。全てのジャーナルエントリが記憶ユニットから完全に読み出されると、記憶ユニットヘッダ20はゼロに減らされ、記憶ユニット番号は、ASUQに戻され、新しいジャーナルエントリを記憶スペースに書き込む必要が生じたときには、再割り当てされた最初の記憶ユニットとなる。この様にして、直近に使用された記憶ユニットは活動状態に維持され、記憶ユニットのワーキングセットを最小に低減する。   An available storage unit queue (ASUQ) 25 controls the order in which free storage units are used. The ASUQ 25 includes a last in first out (LIFO) buffer that stores the address of the free storage unit. The journal entries of the ordered group are read from the storage unit until the storage entry header is null. As each storage entry 22 is read, the storage unit header 20 is decremented. When all journal entries have been completely read from the storage unit, the storage unit header 20 is reduced to zero and the storage unit number is returned to ASUQ and reassigned when a new journal entry needs to be written to the storage space. Will be the first storage unit. In this way, the most recently used storage unit is kept active, reducing the working set of storage units to a minimum.

或る記憶ユニット内の全てのジャーナルエントリが読み取られ、その記憶ユニットが解放されると、記憶ユニットの全体アドレス範囲は、データを予備の記憶装置に書き込むことを要求することなくパージすることができる。   When all journal entries in a storage unit have been read and released, the storage unit's entire address range can be purged without requiring data to be written to spare storage .

図2に戻って、処理の方式を更に説明する。制御プロセス19は、複製プロセスを監督し、受信プロセス7内の処理、及び各順序付けグループ8内の処理を制御する。この様なやり方で、処理は、各順序付けグループ内で、他の順序付けグループ内の処理に関わることなく実行することができる。全てのプロセスを支配制御プロセス19で制御することによって、各順序付けグループは、全体オペレーションの複雑さに関わることなく、自身の処理を隔離された状態で実行することができるようになっている。   Returning to FIG. 2, the processing method will be further described. The control process 19 oversees the replication process and controls the processing within the receiving process 7 and the processing within each ordering group 8. In this way, processing can be performed within each ordering group without involving the processing in other ordering groups. By controlling all processes with the control process 19, each ordering group can execute its own processing in an isolated state without involving the complexity of the overall operation.

各順序付けグループが或るメンバーに関するジャーナルエントリを順次受信する度に、複製データベース6内のそのメンバーの更新も順次行われる。特定の順序付けグループでリンクされたメンバーを処理することにより、処理は能率的に行われる。   As each ordered group sequentially receives journal entries for a member, that member in the replica database 6 is also updated sequentially. Processing is done efficiently by processing members linked in a specific ordering group.

一次データベースが複製データベース6を作る際には、部分的に適用されたコミットを削除しなければならない。先ず、制御プロセス19は、受信プロセス7と、順序付けグループ8による処理とを中断する。制御プロセス19は、次に、全ての「オープン」コミットグループ(例えば、コミット又はロールバック・ジャーナルエントリをまだ受信していないコミットID)を識別する。これらは、直近のもの(即ち、直近のジャーナルエントリを有するコミットグループ)から最も旧いものまで、逐次、以下のように処理される。即ち、
i)受信プロセス7の受信プロセスは、ジャーナル受信器26からコミットグループのジャーナルエントリを受信する。
ii)全てのエントリが「デフォルト」順序付けグループに割り当てられる。
iii)各エントリは通常のやり方で記憶ユニット24内に記憶されるが、逆の順序にリンク付けされる(即ち、リストの最初にあるのが記憶ユニット内では最後のエントリになり、記憶ユニット内の最初のエントリまで後向きにリンクされている)。
iv)記憶ユニットが、そのコミットグループのエントリが完了する前に一杯になった場合、記憶ユニットは(デフォルト順序付けグループに解放する代わりに)LIFO待ち行列TLQ27にプッシュされる。すると、新しい記憶ユニットが(通常のように)割り当てられ、エントリは記憶され続ける。
v)コミットグループの利用可能なジャーナルエントリが完全に受信され、記憶ユニットに記憶されると、記憶ユニットは、LIFOの順でデフォルト順序付けグループにディスパッチされる。その結果、順序付けグループはジャーナルエントリを逆に順序で(直近のものから最も旧いものへと)受信することになる。
vi)デフォルト順序付けグループは、エントリを「逆」エントリ(エントリは、「逆」エントリであることを表示するフラグを含んでいる)として処理する。その結果、全ての挿入は削除として処理され、更新はその前のイメージに移され、削除が挿入される、等のようになる。既に(例えば、通常の処理の間に)データベースに適用されたジャーナルエントリだけが処理される。
vii)デフォルト順序付けグループは、「データコミットグループ」ジャーナルエントリを受信するまで、「逆」エントリに関するコミットを実行しない。この結果、「クリーンアップ」の間に故障が生じた場合、データベースは既知の状態にある、ということが確実なものとなる。これによって、「クリーンアップ」を再開することができるようになる。
When the primary database creates the duplicate database 6, the partially applied commit must be deleted. First, the control process 19 interrupts the reception process 7 and the processing by the ordering group 8. The control process 19 then identifies all “open” commit groups (eg, commit IDs that have not yet received a commit or rollback journal entry). These are processed sequentially from the most recent (ie, the commit group with the most recent journal entry) to the oldest as follows: That is,
i) The reception process of the reception process 7 receives the journal entry of the commit group from the journal receiver 26.
ii) All entries are assigned to the “default” ordering group.
iii) Each entry is stored in the storage unit 24 in the normal manner, but linked in the reverse order (ie, the first entry in the list is the last entry in the storage unit, and in the storage unit) Is linked backwards until the first entry in).
iv) If a storage unit is full before its commit group entry is completed, the storage unit is pushed to the LIFO queue TLQ 27 (instead of releasing it to the default ordering group). A new storage unit is then allocated (as usual) and the entry continues to be stored.
v) Once the available journal entries for the commit group have been completely received and stored in the storage unit, the storage unit is dispatched to the default ordering group in LIFO order. As a result, the ordering group receives journal entries in reverse order (from the most recent to the oldest).
vi) The default ordering group treats the entry as a “reverse” entry (the entry includes a flag indicating that it is a “reverse” entry). As a result, all insertions are processed as deletions, updates are moved to the previous image, deletions are inserted, and so on. Only journal entries that have already been applied to the database (eg during normal processing) are processed.
vii) The default ordering group does not perform commits on “reverse” entries until it receives a “data commit group” journal entry. As a result, if a failure occurs during “cleanup”, it is certain that the database is in a known state. As a result, the “cleanup” can be resumed.

全ての「オープン」コミットグループが「取り除かれる」と、制御プロセス19は他のプロセスを中断し、複製データベースは一次データベースとして使用される準備が整う。   When all “open” commit groups are “removed”, the control process 19 interrupts the other processes and the replica database is ready to be used as the primary database.

この方法を使えば、実際に一次データベースによって二次データベースを作らなければならなくならない限りシステムの処理容量を利用する必要のない、部分的に適用されたコミットの迅速な「クリーンアップ」が可能になる。   This method allows for a quick “cleanup” of partially applied commits without having to use the system's processing capacity unless you actually have to create a secondary database with the primary database. Become.

本発明の方法及び装置は、以下の数多くの利点を提供する。即ち、
1.記憶スペースオブジェクト内の記憶ユニットブロックの割り当てと、読み取り/書き込みの制御によって、ロックの必要が無くなり、読み取り/書き込みを同時に行えるようになる。
The method and apparatus of the present invention provides a number of advantages: That is,
1. The allocation of storage unit blocks in the storage space object and the read / write control eliminate the need for locks and allow read / write simultaneously.

2.順序付けグループを使うと、メンバーを順次更新することができ、相互に関係するメンバーも正しい順序で更新することができるようになる。順序付けグループによって、ジャーナルエントリの複数のストリームを、相互に関係するメンバーを一緒に処理しながら、同時に処理できるようになる。   2. Using an ordering group allows members to be updated sequentially and related members to be updated in the correct order. An ordering group allows multiple streams of journal entries to be processed simultaneously while processing interrelated members together.

3.MBIXインデクスを使えば、各ジャーナルエントリに対する探索時間を大幅に削減することができるようになる。記憶エントリヘッダ21(ハンドラ)を使えば、順序付けグループの次のジャーナルエントリの位置を迅速に突き止めることができるようになる。   3. If the MBIX index is used, the search time for each journal entry can be greatly reduced. The storage entry header 21 (handler) can be used to quickly locate the next journal entry in the ordered group.

4.受信プロセスと、順序付けグループ内の処理とのオペレーションを監督する制御プロセスを使えば、情報を処理するサブプロセスを、他のプロセスと対話する必要無しに、効率的に行えるようになる。   4). Using a control process that oversees the operation of the receiving process and the processing within the ordering group allows information processing sub-processes to be performed efficiently without having to interact with other processes.

5.一次データベースによって二次データベースを作ろうとする場合、コミットを簡単にハンドリングすることができる。   5. If you want to create a secondary database with a primary database, you can easily handle commits.

以上の説明は、完全体又は既知の等価物を有するコンポーネントに対して行ったものであり、その様な等価物も、ここでそれぞれに記述されたものとして包含するものである。   The foregoing description has been made with respect to components having full or known equivalents, and such equivalents are also intended to be included herein as described for each.

以上、本発明を例を挙げて説明してきたが、本発明の範囲と精神から逸脱することなく、例示に対して改良及び/又は修正を加えうる旨理解頂きたい。   While the invention has been described by way of examples, it should be understood that improvements and / or modifications may be made to the examples without departing from the scope and spirit of the invention.

ジャーナルエントリを目標コンピュータシステムに提供するソースコンピュータシステムの概略図である。FIG. 2 is a schematic diagram of a source computer system that provides journal entries to a target computer system. 目標コンピュータシステムにおけるデータベース複製に関わるプロセスを示す機能線図である。It is a functional diagram which shows the process in connection with database replication in a target computer system. 目標コンピュータシステム内の記憶スペースのマッピングを示す。Fig. 4 shows a mapping of storage space in the target computer system. ジャーナルエントリを順序付けグループに割り当てるためのプロセスを示すフローチャートである。FIG. 6 is a flowchart illustrating a process for assigning journal entries to an ordering group.

Claims (7)

データ伝送オペレーションにおいてメモリスペースを管理する方法において、
i)複数の記憶スペース領域を定義する段階と、
ii)データを第1記憶スペース領域に書き込む段階と、
iii)前記第1記憶スペース領域にデータが書き込まれていない間に、前記第1記憶スペース領域からデータを読み出す段階と、を含むことを特徴とする方法。
In a method for managing memory space in a data transmission operation,
i) defining a plurality of storage space areas;
ii) writing data to the first storage space area;
iii) reading data from the first storage space area while data is not being written to the first storage space area.
前記データは、データベースジャーナルエントリであることを特徴とする、請求項1に記載の方法。   The method of claim 1, wherein the data is a database journal entry. 前記ジャーナルエントリは、第1の記憶スペース領域が少なくとも実質的に一杯になり、次いでデータが次の記憶スペース領域に書き込まれるようになるまで、第1の記憶スペース領域に連続して書き込まれることを特徴とする、請求項2に記載の方法。   The journal entries are written continuously to the first storage space area until the first storage space area is at least substantially full and then data is written to the next storage space area. A method according to claim 2, characterized. 各ジャーナルエントリは、同じ順序付けグループを有する次のジャーナルエントリへの変位(displacement)を記録する、関連ヘッダ(associated header)を有していることを特徴とする、請求項2又は3に記載の方法。   Method according to claim 2 or 3, characterized in that each journal entry has an associated header that records the displacement to the next journal entry with the same ordering group. . データが第1の記憶スペースから読み取られている間に、データが第2の記憶スペースに書き込まれることを特徴とする、請求項1から4の何れかに記載の方法。   5. A method according to any of claims 1 to 4, characterized in that data is written to the second storage space while the data is being read from the first storage space. 各記憶スペースは、その記憶スペース内にジャーナルエントリを有する順序付けグループの数を記録する記憶スペースヘッダを有していることを特徴とする、請求項1から5の何れかに記載の方法。   6. A method as claimed in any preceding claim, wherein each storage space has a storage space header that records the number of ordered groups that have journal entries in the storage space. 全てのデータが記憶スペースから読み取られたとき、前記記憶スペースヘッダは減らされ、その記憶スペースはデータを書き込めるようになることを特徴とする、請求項6に記載の方法。   The method of claim 6, wherein when all data is read from a storage space, the storage space header is decremented so that the storage space can write data.
JP2006107299A 2000-10-09 2006-04-10 Method and device for data processing Pending JP2006202337A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NZ50738600 2000-10-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002535009A Division JP2004511854A (en) 2000-10-09 2001-10-01 Data processing method and apparatus

Publications (1)

Publication Number Publication Date
JP2006202337A true JP2006202337A (en) 2006-08-03

Family

ID=19928162

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2002535009A Pending JP2004511854A (en) 2000-10-09 2001-10-01 Data processing method and apparatus
JP2006107300A Pending JP2006202338A (en) 2000-10-09 2006-04-10 Method and device for data processing
JP2006107299A Pending JP2006202337A (en) 2000-10-09 2006-04-10 Method and device for data processing
JP2008068183A Expired - Lifetime JP4427586B2 (en) 2000-10-09 2008-03-17 Data processing method and apparatus

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2002535009A Pending JP2004511854A (en) 2000-10-09 2001-10-01 Data processing method and apparatus
JP2006107300A Pending JP2006202338A (en) 2000-10-09 2006-04-10 Method and device for data processing

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008068183A Expired - Lifetime JP4427586B2 (en) 2000-10-09 2008-03-17 Data processing method and apparatus

Country Status (11)

Country Link
US (2) US7930271B2 (en)
EP (3) EP2264617B1 (en)
JP (4) JP2004511854A (en)
CN (4) CN100345143C (en)
AU (2) AU2002212843B2 (en)
CA (1) CA2436517C (en)
ES (1) ES2395205T3 (en)
HK (1) HK1062061A1 (en)
IL (2) IL155217A0 (en)
WO (1) WO2002031696A1 (en)
ZA (1) ZA200303415B (en)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3966051B2 (en) * 2002-04-16 2007-08-29 株式会社日立製作所 Communication data reduction method and system
JP4186602B2 (en) * 2002-12-04 2008-11-26 株式会社日立製作所 Update data writing method using journal log
JP2004213435A (en) * 2003-01-07 2004-07-29 Hitachi Ltd Storage device system
JP2005309550A (en) * 2004-04-19 2005-11-04 Hitachi Ltd Remote copying method and system
JP4124348B2 (en) 2003-06-27 2008-07-23 株式会社日立製作所 Storage system
US7130975B2 (en) * 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP4374953B2 (en) * 2003-09-09 2009-12-02 株式会社日立製作所 Data processing system
JP2005062928A (en) 2003-08-11 2005-03-10 Hitachi Ltd Remote copy system using two or more sites
JP4485472B2 (en) * 2003-08-21 2010-06-23 パナソニック株式会社 Data transmission / reception system, data transmission / reception method, and recording / reproducing apparatus
JP4412989B2 (en) * 2003-12-15 2010-02-10 株式会社日立製作所 Data processing system having a plurality of storage systems
US7788255B2 (en) * 2004-01-21 2010-08-31 Oracle International Corporation Specifying parallel or sequential execution of database operations by bundling database statements
JP4477370B2 (en) * 2004-01-30 2010-06-09 株式会社日立製作所 Data processing system
JP4519563B2 (en) 2004-08-04 2010-08-04 株式会社日立製作所 Storage system and data processing system
JP2006127028A (en) * 2004-10-27 2006-05-18 Hitachi Ltd Memory system and storage controller
CN101364217B (en) * 2007-08-08 2011-06-22 华为技术有限公司 Data maintenance method, equipment and system thereof in data-base
US7591019B1 (en) 2009-04-01 2009-09-15 Kaspersky Lab, Zao Method and system for optimization of anti-virus scan
EP2323047B1 (en) * 2009-10-09 2020-02-19 Software AG Primary database system, replication database system and method for replicating data of a primary database system
US8239390B2 (en) * 2010-02-26 2012-08-07 International Business Machines Corporation Filtered remote journal
US8930330B1 (en) 2011-06-27 2015-01-06 Amazon Technologies, Inc. Validation of log formats
US9330154B2 (en) * 2011-08-22 2016-05-03 Sybase, Inc. Multicast database replication
US9275086B2 (en) 2012-07-20 2016-03-01 Commvault Systems, Inc. Systems and methods for database archiving
US9495411B2 (en) * 2012-09-24 2016-11-15 Salesforce.Com, Inc. Increased parallelism performance of batch requests
US9846620B2 (en) 2013-01-11 2017-12-19 Commvault Systems, Inc. Table level database restore in a data storage system
US9514007B2 (en) 2013-03-15 2016-12-06 Amazon Technologies, Inc. Database system with database engine and separate distributed storage service
US10180951B2 (en) 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
US9672237B2 (en) 2013-03-15 2017-06-06 Amazon Technologies, Inc. System-wide checkpoint avoidance for distributed database systems
US9501501B2 (en) 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US11030055B2 (en) 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
US10747746B2 (en) 2013-04-30 2020-08-18 Amazon Technologies, Inc. Efficient read replicas
US9317213B1 (en) 2013-05-10 2016-04-19 Amazon Technologies, Inc. Efficient storage of variably-sized data objects in a data store
US9760596B2 (en) 2013-05-13 2017-09-12 Amazon Technologies, Inc. Transaction ordering
US9208032B1 (en) 2013-05-15 2015-12-08 Amazon Technologies, Inc. Managing contingency capacity of pooled resources in multiple availability zones
US10303564B1 (en) 2013-05-23 2019-05-28 Amazon Technologies, Inc. Reduced transaction I/O for log-structured storage systems
US9305056B1 (en) 2013-05-24 2016-04-05 Amazon Technologies, Inc. Results cache invalidation
US9047189B1 (en) 2013-05-28 2015-06-02 Amazon Technologies, Inc. Self-describing data blocks of a minimum atomic write size for a data store
US9519664B1 (en) 2013-09-20 2016-12-13 Amazon Technologies, Inc. Index structure navigation using page versions for read-only nodes
US9460008B1 (en) 2013-09-20 2016-10-04 Amazon Technologies, Inc. Efficient garbage collection for a log-structured data store
US9507843B1 (en) 2013-09-20 2016-11-29 Amazon Technologies, Inc. Efficient replication of distributed storage changes for read-only nodes of a distributed database
US9280591B1 (en) 2013-09-20 2016-03-08 Amazon Technologies, Inc. Efficient replication of system transactions for read-only nodes of a distributed database
US10216949B1 (en) 2013-09-20 2019-02-26 Amazon Technologies, Inc. Dynamic quorum membership changes
US9552242B1 (en) 2013-09-25 2017-01-24 Amazon Technologies, Inc. Log-structured distributed storage using a single log sequence number space
US10223184B1 (en) 2013-09-25 2019-03-05 Amazon Technologies, Inc. Individual write quorums for a log-structured distributed storage system
US9699017B1 (en) 2013-09-25 2017-07-04 Amazon Technologies, Inc. Dynamic utilization of bandwidth for a quorum-based distributed storage system
CN103544292B (en) * 2013-10-29 2017-05-24 大唐移动通信设备有限公司 Diameter message processing method and device based on HASH table
US9760480B1 (en) 2013-11-01 2017-09-12 Amazon Technologies, Inc. Enhanced logging using non-volatile system memory
US10387399B1 (en) 2013-11-01 2019-08-20 Amazon Technologies, Inc. Efficient database journaling using non-volatile system memory
US9880933B1 (en) 2013-11-20 2018-01-30 Amazon Technologies, Inc. Distributed in-memory buffer cache system using buffer cache nodes
US9223843B1 (en) 2013-12-02 2015-12-29 Amazon Technologies, Inc. Optimized log storage for asynchronous log updates
US10303663B1 (en) 2014-06-12 2019-05-28 Amazon Technologies, Inc. Remote durable logging for journaling file systems
US20160210306A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Managing structured data in a data storage system
US10108687B2 (en) 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
US9904598B2 (en) 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US10423642B2 (en) 2015-06-12 2019-09-24 International Business Machines Corporation Aggregating modifications to a database for journal replay
US10394844B2 (en) * 2015-11-09 2019-08-27 Sap Se Integrating co-deployed databases for data analytics
US11914571B1 (en) 2017-11-22 2024-02-27 Amazon Technologies, Inc. Optimistic concurrency for a multi-writer database
US11269732B2 (en) 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11341163B1 (en) 2020-03-30 2022-05-24 Amazon Technologies, Inc. Multi-level replication filtering for a distributed database

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4280060A (en) * 1980-06-09 1981-07-21 General Electric Company Dedicated microcomputer-based control system for steam turbine-generators
US4507751A (en) * 1982-06-21 1985-03-26 International Business Machines Corporation Method and apparatus for logging journal data using a log write ahead data set
JPS62236050A (en) 1986-04-07 1987-10-16 Mitsubishi Electric Corp Join processing system
US5170480A (en) 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5412801A (en) * 1990-01-17 1995-05-02 E-Net Gap recovery for off-site data storage and recovery systems
JP3020539B2 (en) * 1990-03-07 2000-03-15 株式会社日立製作所 Parallel operation type database management method
JPH04168542A (en) * 1990-11-01 1992-06-16 Okayama Nippon Denki Software Kk Journal collection managing system
US5530855A (en) 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
GB2273183A (en) * 1992-12-04 1994-06-08 Ibm Replicated distributed databases.
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
JPH06290124A (en) 1993-03-31 1994-10-18 Hitachi Ltd Inter-system fault recognition synchronizing system
CN1094525A (en) * 1993-04-19 1994-11-02 电子科技大学 A kind of high-capacity and high-speed data acquisition caching method and equipment
CA2172517C (en) * 1993-09-24 2000-02-15 Sandeep Jain Method and apparatus for data replication
US5553279A (en) * 1993-10-08 1996-09-03 International Business Machines Corporation Lossless distribution of time series data in a relational data base network
DE4423559A1 (en) * 1993-11-09 1995-05-11 Hewlett Packard Co Data connection method and apparatus for multiprocessor computer systems with shared memory
KR0128271B1 (en) 1994-02-22 1998-04-15 윌리암 티. 엘리스 Remote data duplexing
US5796999A (en) * 1994-04-15 1998-08-18 International Business Machines Corporation Method and system for selectable consistency level maintenance in a resilent database system
JPH08191463A (en) * 1994-11-11 1996-07-23 Nintendo Co Ltd Stereoscopic image display device and storage device used for it
EP0724223B1 (en) * 1995-01-24 2001-07-25 Compaq Computer Corporation Remote duplicate database facility with database replication support for online line DDL operations
US5799322A (en) * 1995-01-24 1998-08-25 Tandem Computer, Inc. System and method for stopping updates at a specified timestamp in a remote duplicate database facility
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
JPH10161916A (en) 1996-11-28 1998-06-19 Hitachi Ltd Detection of update conflict accompanying duplication of data base
EP1015997A4 (en) * 1997-02-28 2006-03-29 Siebel Systems Inc Partially replicated distributed database with multiple levels of remote clients
US5950198A (en) * 1997-03-24 1999-09-07 Novell, Inc. Processes and apparatuses for generating file correspondency through replication and synchronization between target and source computers
US5864851A (en) * 1997-04-14 1999-01-26 Lucent Technologies Inc. Method and system for managing replicated data with enhanced consistency and concurrency
GB2327781A (en) 1997-07-26 1999-02-03 Ibm Data replication tracking method for a distributed data processing system
US5956714A (en) * 1997-08-13 1999-09-21 Southwestern Bell Telephone Company Queuing system using a relational database
GB2330220B (en) * 1997-10-07 2002-04-10 Ibm Access control for groups of related data items
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
JP2957551B2 (en) * 1997-12-12 1999-10-04 株式会社リコー Consistency management method for distributed database system and computer-readable recording medium
JP2000047916A (en) * 1998-07-29 2000-02-18 Nec Corp System for managing database
US6289355B1 (en) * 1998-09-16 2001-09-11 International Business Machines Corp. Fast log apply
JP3578385B2 (en) * 1998-10-22 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer and replica identity maintaining method
US6243715B1 (en) * 1998-11-09 2001-06-05 Lucent Technologies Inc. Replicated database synchronization method whereby primary database is selected queries to secondary databases are referred to primary database, primary database is updated, then secondary databases are updated
JP2000222268A (en) 1999-01-29 2000-08-11 Hitachi Ltd Method for synchronizing file for plural computers
US6728713B1 (en) * 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
JP3763992B2 (en) * 1999-03-30 2006-04-05 富士通株式会社 Data processing apparatus and recording medium
US6480858B1 (en) * 1999-06-30 2002-11-12 Microsoft Corporation Method and apparatus for finding nearest logical record in a hash table
US6502095B2 (en) * 1999-09-09 2002-12-31 Lucent Technologies Inc. Timestamp-based system and method for serializing lazy updates in a distributed database
US6438558B1 (en) * 1999-12-23 2002-08-20 Ncr Corporation Replicating updates in original temporal order in parallel processing database systems

Also Published As

Publication number Publication date
IL155217A0 (en) 2003-11-23
CN1468404A (en) 2004-01-14
AU1284302A (en) 2002-04-22
US8818939B2 (en) 2014-08-26
CN100345143C (en) 2007-10-24
AU2002212843B2 (en) 2007-11-22
EP2264617B1 (en) 2012-08-22
JP4427586B2 (en) 2010-03-10
JP2008176813A (en) 2008-07-31
WO2002031696A1 (en) 2002-04-18
CN1619545A (en) 2005-05-25
CN1841368A (en) 2006-10-04
ZA200303415B (en) 2004-03-26
EP1332444A4 (en) 2005-10-12
US20110179091A1 (en) 2011-07-21
US7930271B2 (en) 2011-04-19
JP2004511854A (en) 2004-04-15
EP2264617A1 (en) 2010-12-22
JP2006202338A (en) 2006-08-03
CN1292370C (en) 2006-12-27
EP1845460A3 (en) 2007-12-26
US20040059738A1 (en) 2004-03-25
EP1845460A2 (en) 2007-10-17
CN1619544A (en) 2005-05-25
EP1332444A1 (en) 2003-08-06
CA2436517A1 (en) 2002-04-18
CN100437569C (en) 2008-11-26
ES2395205T3 (en) 2013-02-11
IL155217A (en) 2009-09-22
HK1062061A1 (en) 2004-10-15
CA2436517C (en) 2011-09-20
CN100533437C (en) 2009-08-26

Similar Documents

Publication Publication Date Title
JP4427586B2 (en) Data processing method and apparatus
AU2002212843A1 (en) Method and apparatus for data processing
US6295610B1 (en) Recovering resources in parallel
US8694472B2 (en) System and method for rebuilding indices for partitioned databases
US8756196B2 (en) Propagating tables while preserving cyclic foreign key relationships
US7698319B2 (en) Database system management method, database system, database device, and backup program
JP3526474B2 (en) Distribution information management system in network
JP4340226B2 (en) Providing usable versions of data items
US20020049764A1 (en) Distributed synchronization of databases
JP2007122302A (en) Information retrieval system, index management method, and program
JPH06139120A (en) File updating system
JP2003296171A (en) Electronic business form management method and program
US7194486B2 (en) Method and system for data processing with data replication for the same
WO2004036432A1 (en) Database accelerator
JPH07262071A (en) Data base system and load distribution control method
AU2007231648B2 (en) Method and apparatus for data processing
GB2328531A (en) Storing a long record in a set of shorter keyed records
US20030037024A1 (en) Method and system for intra-table referential integrity for relational database systems
NZ537170A (en) Method and apparatus for data processing
NZ546248A (en) Method and apparatus for replicating a database
CN113282335A (en) Multi-version configuration method and system for application cluster service parameters
JP2003345613A (en) Decentralized file device and process migration method therefor, and computer device
JP2002297430A (en) Transaction-processing-type database system
JPH08320862A (en) System and method for document management
JPH10143411A (en) On-line data base managing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080325

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080619

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080825