摘要:
Techniques for making a replica of a particular group of database objects on a particular node of a network include receiving, during a transfer period, a first copy of the particular group of objects at the particular node from a first node on the network. The particular node receives, from a second node on the network, data indicating changes to the particular group of database objects on the second node, where the changes indicated in the data are changes that were made at the second node during the transfer period. The first copy of the particular group of database objects is modified based on the data indicating changes.
摘要:
Techniques for making a replica of a particular group of database objects of a database on a particular node that does not initially have the particular group of database objects include determining whether conditions for copying a full database from a first node are satisfied. If conditions for copying the full database from the first node are not satisfied, then a database-object-copy routine is employed for each database object in the particular group of database objects. If conditions for copying the full database from the first node are satisfied, then a full-database-copy routine for performing a copy of an entire database is employed.
摘要:
A method and system are provided for duplicating at a destination site changes made to data at a source site. According to the method a plurality of streams are established between the source site and the destination site. The plurality of streams are used in parallel to propagate changes made at the source site to the destination site. A record of transactions that made changes that need to be propagated from the source site to the destination site is maintained at the source site. Before propagating changes made by a transaction to the destination site on a stream of the plurality of streams, the record of transactions is inspected to identify a set of transactions whose changes are not known to have been made permanent at the destination site. It is then determined whether the transaction could possibly depend on any transaction in the set of transactions. If the transaction could not possibly depend on any transaction in the set of transactions, then the changes made by the transaction are propagated to the destination site using one of the plurality of streams.
摘要:
A multi-tier caching system is provided for a computing device. The system comprises a first cache implemented in operating system or kernel space (e.g., in memory managed by or allocated to an operating system). The system also comprises a second cache implemented in application or user space (e.g., in memory managed by or allocated to an application program). Also provided is a method of operating the multi-tier caching system to serve one type of data from the first cache and a second type of data from the second cache. The first cache may store frequently requested data items and/or those that require little processing of a data request in order to identify a responsive data item. The first cache may also store data items that can be served in response to data requests having different forms, types, parameters, qualifiers or other indicia. Data that may vary according to the form or content of a data request, and data items that are responsive to data requests that must be fully parsed, examined or processed may be stored in the second cache. A content analysis engine may be configured to determine which of said first cache and said second cache a data item should be stored in. Such determinations may be made by analyzing data requests and/or data items served in response to the requests, guidelines set by a system administrator, and other criteria.
摘要:
An efficient set of indexes to cover a plurality of anticipated query types is determined by building a directed acyclic graph whose nodes correspond to anticipated query types. A minimum leaf spanning tree for the equivalent graph is determined by repeatedly finding an augmenting path for a current spanning tree and producing a reduced leaf spanning tree based on the current spanning tree and the augmenting path until an augmenting path can no longer be found. The leaves of the minimum leaf spanning tree indicate which indexes should be built.
摘要:
A method and system are provided for processing records from a set of records, where records are repeatedly being added to the set of records, and where each record in the set of records has to be processed once for each of a plurality of entities. According to the method, each record that is added to the set of records is marked with a default batch value. For each entity of the plurality of entities, a batch of the records is processed by performing the steps of: reading a last batch value associated with the entity, processing the records in the set of records that are marked with batch values that are more recent than the last batch value associated with the entity, and updating the last batch value associated with the entity to a most recent batch value of the records processed for the entity. Between processing consecutive batches for an entity of the plurality of entities, the set of records are marked by performing the steps of: updating a batch counter value to reflect a more recent batch number; and marking all records in the set of records that have the default batch value with the batch counter value.
摘要:
A method and system are provided for recovering after a failure in a data replication environment. According to the method, a transaction is executed at a source site that makes changes that must be replicated at a destination site. The changes are made permanent at the source site. The changes are made permanent at the source site without the source site being informed as to whether the changes were successfully applied at the destination site. The changes are sent to the destination site. The changes are applied at the destination site. If the changes are successfully applied before the failure, then the changes are made permanent at the destination site and a record is added to a set of records at the destination site. The record indicates that the changes where made permanent at the destination site. After a failure, the set of records at the destination site are used to determine which changes must be sent from the source site to the destination site after the failure.