Patent application number | Description | Published |
20080281846 | High performant row-level data manipulation using a data layer interface - Performing an operation directly on data stored in a database table provides for avoiding generation and processing of SQL statements. A Data Layer interface, comprising a set of APIs, allows internal database server components to call directly to the Data Layer for making fast row changes to a table. According to an embodiment, before making any row change to a table through this Data Layer interface, a shared state data structure is created to hold the metadata about the table. A single shared state can be used for all DML changes to a particular table regardless of what columns are updated or inserted during each DML operation. When a process needs to change a row, the process uses a mutable state based on the shared state of the table. | 11-13-2008 |
20090037422 | COMBINING CAPTURE AND APPLY IN A DISTRIBUTED INFORMATION SHARING SYSTEM - In accordance with an embodiment of the present invention, an information sharing mechanism comprising a memory structure may be provided in a database system. In an embodiment, mined information transferred by a capture process to an associated apply process can be written into the memory structure without taking any latch. Similarly, the mined information can be read by the apply process from the memory structure without taking any latch. The capture and apply processes may work cooperatively to establish a safe point in log mining under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of information sharing. In some embodiments, the information sharing mechanism supports both checkpoint-free and checkpoint modes of log mining by the capture process. In addition, both the capture process and the apply process may employ an eager apply approach to increase processing capacity. | 02-05-2009 |
20090037442 | Reconfiguring Propagation Streams in Distributed Information Sharing - Splitting and merging database object information sharing streams. Streams are also referred to herein as “propagations”. Splitting and merging information sharing streams can be used to improve performance in a information sharing environment when a failed or slow DBS impacts the performance. In one embodiment, an auto split process monitors the progress of applying changes at each node and detects the presence of a failed or a slow node. Once the failed or slow node is identified, the auto split process splits the propagation such that the offending node is sent through a separate propagation. Furthermore, an auto merge process can be started to monitor the newly created separate propagation. At a later point, the new propagation can be merged back into the original stream. For example, if the offending node catches up with other nodes, the auto merge process merges the newly created propagation back to the original propagation. | 02-05-2009 |
20090037494 | CHECKPOINT-FREE IN LOG MINING FOR DISTRIBUTED INFORMATION SHARING - A checkpoint free log mining mechanism comprising a capture process and an apply process that are logically associated with each other may be provided in a database system. In an embodiment, log mining information published by the capture process to the apply process comprises a complete set of log information for each interesting transaction. A system change number of a start transaction record of a transaction may be used to represent a start time of the entire transaction. The capture and apply processes may work cooperatively to establish a safe time point in the form of a particular system change number in logs to begin mining, under various circumstances such as in an initial startup state, in a steady state, in a process restart scenario in the middle of checkpoint free log mining, or in a transition between the checkpoint mode and the checkpoint free mode. | 02-05-2009 |
20090037553 | Configuring or Reconfiguring a Multi-Master Information Sharing Environment - Configuring an n-way multi-master information sharing topology. Adding a new node (e.g., database server) to the information sharing topology can be implemented as follows. Initially, the new node is added as a slave of a particular co-master in the information sharing topology. The objects to replicate are instantiated on the new node by propagating data from the particular co-master to the new node. Furthermore, a capture process is created on the particular co-master to send changes to the objects to the slave. Meanwhile, the co-masters continue to propagate changes to each other. To promote the slave to a master, changes to objects stored at the slave are propagated to each of the co-masters. Furthermore, changes at each of the masters are propagated to the promoted node. | 02-05-2009 |
20090119346 | AUTOMATIC ERROR CORRECTION FOR REPLICATION AND INSTANTANEOUS INSTANTIATION - An approach is provided to automatically resolve conflict between instantiation and ongoing data replication operations. In an embodiment, incremental change records that describe one or more database operations are received at a sink entity. Here, all of the one or more database operations have occurred in a second database after a particular time. A first database operation in the one or more database operations to a particular row in the first database is applied. When a conflict with a second database operation that operates on the particular row is detected, one or more compensating actions, which may, but are not limited to, be a different database operation and/or an operation that creates a conflict log entry, may be performed. Here, the second database operation has occurred in the second database prior to the particular time. When the second database operation is to be performed, an appropriate operation may be performed. | 05-07-2009 |
20090125563 | REPLICATING AND SHARING DATA BETWEEN HETEROGENEOUS DATA SYSTEMS - In accordance with an embodiment of the present invention, a heterogeneous data sharing mechanism comprising a capture process and an apply process may be provided in a database system. The capture process mines or receives, at the source entity, a plurality of records that belong to a plurality of transactions. Here, first records from a first transaction in the plurality of transactions are interleaved with one or more records from one or more different transactions in the plurality of transactions. The capture process orders the plurality of records into a stream of ordered records such that all records that belong to a transaction are stored contiguously in a single block of records in the stream. Subsequently, the capture process sends the stream of ordered records from the source entity to the sink entity. Alternatively, the apply process retrieves the stream of ordered records from the capture process. | 05-14-2009 |
20100036810 | AUTOMATED TOPOLOGY-BASED STATISTICS MONITORING AND PERFORMANCE ANALYSIS - A computer is programmed to parse a network that interconnects databases in a distributed database system, into a number of paths, wherein each path starts in a source database that is a source of changes and ends in a destination database that uses the changes to replicate the source database. The computer identifies databases that occur within each path in the network, and queries the identified databases to obtain statistics for each path. Statistics along each path are analyzed automatically, to identify a component in each path as a candidate for further investigation. The identified component may be marked as a bottleneck e.g. if there are no other paths connected to it. Alternatively the identified component may be a source of changes for another path that has a bottleneck or that has another candidate for further investigation. The identified bottleneck is displayed to the user with recommendations for improvement. | 02-11-2010 |
20100198920 | HIGH PERFORMANT INFORMATION SHARING AND REPLICATION FOR SINGLE-PUBLISHER AND MULTIPLE-SUBSCRIBER CONFIGURATION - A method for sharing information between a publisher and multiple subscribers is provided. The publisher uses a latch-free, single publisher, multiple subscriber shared queue to share information. Logical change records representing changes made to a database are enqueued in the shared queue as messages in a stream of messages, and subscribers read the logical change records. Subscribers may filter logical change records before sending to apply processes for processing. An identifying property of the source instance of a change encapsulated in a logical change record may be included with each message enqueued. | 08-05-2010 |
20110010392 | Checkpoint-Free In Log Mining For Distributed Information Sharing - Techniques for replicating data between database systems without taking checkpoints are provided. In an embodiment, a capture process restarts. Upon restarting, the capture process reestablishes an association with an apply process. A particular logical time maintained by the apply process is then communicated to the capture process. Upon receiving the particular logical time, the capture process restarts mining from this particular logical time. | 01-13-2011 |
20110029585 | AUTOMATIC AND DYNAMIC PROVISIONING OF DATABASES - Approaches described herein may be used for provisioning of databases that requires a bulk transfer of data within a distributed computing environment, such as a grid. The approaches do not require the manual intervention of a DBA to, for example, transfer a tablespace between the file systems of operating systems. Instead, the tablespaces may be provisioned automatically and dynamically by a grid computing system whenever it determines the need to dynamically provision a database. In addition, as copies of tablespaces are provisioned, synchronization mechanisms can also be automatically provisioned to keep the tablespaces and their copies in sync. | 02-03-2011 |
20110302136 | RECOVERABLE EXECUTION - Systems and methods for providing a one-step API that executes a series of atomic transactions in a database system. In one implementation, each atomic transaction is associated with a forward block of code that effects changes, an undo block of code that reverses the changes made by the forward block, and a state block of code that mimics successful execution of the forward block by setting internal states. In the event of a failure, the forward blocks, undo blocks, and state blocks can be used to roll forward or roll back changes as a whole. In one implementation, a one-step API for replicating data in a database is provided. | 12-08-2011 |
20120109889 | Automated Topology-Based Statistics Monitoring And Performance Analysis - A computer is programmed to parse a network that interconnects databases in a distributed database system, into a number of paths, wherein each path starts in a source database that is a source of changes and ends in a destination database that uses the changes to replicate the source database. The computer identifies databases that occur within each path in the network, and queries the identified databases to obtain statistics for each path. Statistics along each path are analyzed automatically, to identify a component in each path as a candidate for further investigation. The identified component may be marked as a bottleneck e.g. if there are no other paths connected to it. Alternatively the identified component may be a source of changes for another path that has a bottleneck or that has another candidate for further investigation. The identified bottleneck is displayed to the user with recommendations for improvement. | 05-03-2012 |
20140081907 | Client-Side Handling Of Transient Duplicates For Row-Level Replication - Transient duplicate key violations of unique key constraints are handled during row updates. Row changes are buffered until a point is reached that those changes are safe to execute. Row changes are effectively reordered to avoid constraint violations during execution of updates. In response to receiving a constraint key violation from a server after an attempted update, a client locally stores a record containing information regarding the failed update. Later, in response to the lack of receipt of an error in response to another update to the same column of the same table, the client uses the information in this record to instruct the server to attempt to repeat a failed update that previously attempted to change the value of a row to a value that was present in a uniqueness-constrained column at the time of the failure, but is no longer present due to the successful update. | 03-20-2014 |