Patent application number | Description | Published |
20090112947 | Database Log Capture that Publishes Transactions to Multiple Targets to Handle Unavailable Targets by Separating the Publishing of Subscriptions and Subsequently Recombining the Publishing - A first log reader publishes first messages to a plurality of queues. The messages comprise changes for transactions extracted from a log by the first log reader. In response to one of the queues becoming unavailable, a second log reader is launched to read and extract from the log, and to publish second messages comprising changes for transactions extracted from the log by the second log reader to the unavailable queue as a catch-up queue. In response to the catch-up queue becoming available and the second log reader reaching the end of the log, the publishing of the second messages for the catch-up queue is transferred from the second log reader to the first log reader. | 04-30-2009 |
20090300073 | SYSTEM AND APPARATUS TO ENSURE A LOW-LATENCY READ OF LOG RECORDS FROM A DATABASE MANAGEMENT SYSTEM ("DBMS") - A system and method to ensure a low-latency read of log records from a Database Management System (“DBMS”) in asynchronous log-based database replication capture from a blocking log read Application Programming Interface (“API”). The system may include a replication server with a log read module to initialize a log read thread. The reading module of the log read thread may read a predefined number of DBMS log records. A log flush module of the log flush thread may be executed by the log read thread and waits for a read complete notification. The update module, in response to a log flush thread time out, may also generate a plurality of loggable transactions such that a number of log records in an internal API log satisfies a DMBS threshold and unblocks the DBMS API. Therefore, the latency time may be constant, low, and predictable ensuring an accurate replication capture. | 12-03-2009 |
20120023066 | INITIALIZATION PROTOCOL FOR A PEER-TO-PEER REPLICATION ENVIRONMENT - Techniques for initializing a connection in a peer-to-peer database replication environment. A message is received from an initiator node, indicating that the initiator node will begin replicating changes made to a particular data entity. One or more replicated changes relating to the database entity are received from the initiator node. If an updated instance of the data entity does not currently exist on a target node then one or more load operations are performed to create the updated instance. The stored replicated changes may then be processed against the updated instance of the database entity. | 01-26-2012 |
20120023369 | BATCHING TRANSACTIONS TO APPLY TO A DATABASE - Provided are a method, system and program for batching transactions to apply to a database. A transaction manager receives a plurality of transactions to apply to a database and adds the transactions to a work queue. One of a plurality of agents processes a batch of transactions from the work queue. Each agent executes a batch of transactions from the work queue against the database independent of the operations of other of the agents executing batches of transactions. The agent applies the transactions in the batch against the database and commits the transactions in the batch to the database in response to completing all of the transactions. | 01-26-2012 |
20120150829 | Asynchronous Deletion of a Range of Messages Processed by a Parallel Database Replication Apply Process - Mechanisms are provided for replicating transactions at a source database node on a target database node of the data processing system. A transaction message, for a transaction, is stored in a receive queue data structure of the target database node. An agent thread applies a change to data of the target database node based on a specification of the change in the transaction message. An identifier of the transaction message is stored in a done message data structure of the target database node and the identifier of the transaction message is also stored in a prune queue data structure of the target database node. A prune thread determines if a contiguous range of identifiers of transaction messages equal to or greater than a predetermined batch size is present in the prune queue data structure. If so, then a range of transaction messages is deleted from the done message data structure. | 06-14-2012 |
20120191680 | Asynchronous Deletion of a Range of Messages Processed by a Parallel Database Replication Apply Process - Mechanisms are provided for replicating transactions at a source database node on a target database node of the data processing system. A transaction message, for a transaction, is stored in a receive queue data structure of the target database node. An agent thread applies a change to data of the target database node based on a specification of the change in the transaction message. An identifier of the transaction message is stored in a done message data structure of the target database node and the identifier of the transaction message is also stored in a prune queue data structure of the target database node. A prune thread determines if a contiguous range of identifiers of transaction messages equal to or greater than a predetermined batch size is present in the prune queue data structure. If so, then a range of transaction messages is deleted from the done message data structure. | 07-26-2012 |
20120284227 | INITIALIZATION PROTOCOL FOR A PEER-TO-PEER REPLICATION ENVIRONMENT - Techniques for initializing a connection in a peer-to-peer database replication environment. A message is received from an initiator node, indicating that the initiator node will begin replicating changes made to a particular data entity. One or more replicated changes relating to the database entity are received from the initiator node. If an updated instance of the data entity does not currently exist on a target node then one or more load operations are performed to create the updated instance. The stored replicated changes may then be processed against the updated instance of the database entity. | 11-08-2012 |
20120317134 | DATABASE TABLE COMPARISON - Techniques are disclosed for comparing database tables. In one embodiment, the database tables are partitioned. Queries are generated for retrieving each partition. For each generated query, a stored procedure is invoked, using the respective generated query as an input parameter to the stored procedure. The stored procedure is configured to generate a checksum based on the partition retrieved from executing the respective query. The application compares the generated checksums to determine if the partitions and/or tables are consistent. | 12-13-2012 |
20140279891 | REPLICATION GROUP PARTITIONING - Methods and systems for replication group partitioning include analyzing historical workload data for a plurality of data elements to generate one or more transaction patterns and generating a recommended partitioning of the plurality of data elements into one or more replication groups, based on the one or more transaction patterns, that are optimized toward a partitioning goal. | 09-18-2014 |
20140279892 | REPLICATION GROUP PARTITIONING - Systems for replication group partitioning include a workload profiling module configured to analyze historical workload data for a plurality of data elements to identify and categorize one or more transaction patterns; and a recommendation module configured to generate a recommended partitioning of the plurality of data elements into one or more replication groups, based on the one or more transaction patterns, that are optimized toward a partitioning goal. | 09-18-2014 |
20140279897 | USING AVERAGE REPLICATION LATENCY TO INFLUENCE ROUTING QUERY TRANSACTIONS - A data processing system and method of operation are disclosed. The data processing system includes a first site for processing data; a second site for processing data; and a transaction replay program configured to send a copy of data from the first site to the second site. A processor defines a maximum replication latency threshold and a reset threshold for the system, estimates a replication latency of a workload the system, switches the system to a first replication latency state when the estimated replication latency rises above the maximum replication latency and switches the system out of the first replication latency state to a second replication latency state when the estimated replication latency falls below the reset threshold. | 09-18-2014 |
20140282596 | ACHIEVING CONTINUOUS AVAILABILITY FOR PLANNED WORKLOAD AND SITE SWITCHES WITH NO DATA LOSS - Embodiments of the disclosure are directed to methods, systems and computer program products for performing a planned workload switch. A method includes receiving a request to switch a site of an active workload and stopping one or more long running processes from submitting a new request to the active workload. The method also includes preventing a new network connection from accessing the active workload and processing one or more transactions in a queue of the active workload for a time period. Based on a determination that the queue of the active workload is not empty after the time period, the method includes aborting all remaining transactions in the queue of the active workload. The method further includes replicating all remaining committed units of work to a standby workload associated with the active workload. | 09-18-2014 |
20140372374 | DIFFERENCE DETERMINATION IN A DATABASE ENVIRONMENT - Techniques are disclosed to determine differences between a source table and a target table in a database environment, as being persistent or transient. A first set of differences between the source table and the target table is determined at a first point in time. A second set of differences between the source table and the target table is determined at a second point in time subsequent to the first point in time. At least one of a set of persistent differences and a set of transient differences is determined. The set of persistent differences includes a set intersection of the first and second sets of differences, the set intersection being filtered based on matching non-key values of the differences. The set of transient differences includes a relative complement of the second set of differences in the first set of differences. | 12-18-2014 |
20150058281 | MANAGEMENT AND SYNCHRONIZATION OF BATCH WORKLOADS WITH ACTIVE/ACTIVE SITES OLTP WORKLOADS - A computer system for managing a plurality of workloads executing on both a primary system and on a secondary system, and synchronizing both a plurality of software data and hardware data stored on the primary system with the secondary system is provided. The computer system may include receiving a region switch request and stopping the execution of the plurality of workloads on the primary system; suspending the replication of the plurality of software and hardware data stored on the primary system with the plurality of software and hardware data stored on the secondary system; and switching the replication of the plurality of software data and the plurality of hardware data that occurs from the primary system to the secondary system to occur from the secondary system to the primary system. The computer system may include activating the execution of and synchronizing the plurality of workloads on the secondary system. | 02-26-2015 |
20150058864 | MANAGEMENT AND SYNCHRONIZATION OF BATCH WORKLOADS WITH ACTIVE/ACTIVE SITES OLTP WORKLOADS - A method for managing a plurality of workloads executing on both a primary system and on a secondary system, and synchronizing both a plurality of software data and a plurality of hardware data stored on the primary system with the secondary system is provided. The method may include receiving a region switch request and stopping the execution of the plurality of workloads on the primary system; suspending the replication of the plurality of software and hardware data stored on the primary system with the plurality of software and hardware data stored on the secondary system; and switching the replication of the plurality of software data and the plurality of hardware data that occurs from the primary system to the secondary system to occur from the secondary system to the primary system. The method may further include activating the execution of and synchronizing the plurality of workloads on the secondary system. | 02-26-2015 |
20150081637 | DIFFERENCE DETERMINATION IN A DATABASE ENVIRONMENT - Techniques are disclosed to determine differences between a source table and a target table in a database environment, as being persistent or transient. A first set of differences between the source table and the target table is determined at a first point in time. A second set of differences between the source table and the target table is determined at a second point in time subsequent to the first point in time. At least one of a set of persistent differences and a set of transient differences is determined. The set of persistent differences includes a set intersection of the first and second sets of differences, the set intersection being filtered based on matching non-key values of the differences. The set of transient differences includes a relative complement of the second set of differences in the first set of differences. | 03-19-2015 |