Abstract:
A composite resource is established that includes a plurality of members. Each of the members is capable of providing a comparable service. A coordinator monitors a state of each member of the composite resource. A component requests the service from the coordinator. The coordinator arranges for the service to be provided to the component by a particular member of the composite resource. When the particular member ceases to be active, the service is automatically provided to the component by another member in the composite resource. A state of the composite resource is maintained independently of the state of each member in the composite resource.
Abstract:
A method and apparatus are provided for improving the performance associated with transferring a data item and obtaining a lock in a multi-node system by interpreting the block transfer message as a lock grant message. Typically when a Holder of a data item transfers a data item (e.g. block) to a Requestor of that data item, the Holder will down-convert its lock for that data item and send a message to the Master of this data item indicating that a down-convert has been performed. Subsequently, the Master sends a lock grant message to the Requestor of the data item to inform the Requestor that it has been granted a lock for the data item. By interpreting the block transfer message as a lock grant message, the down-convert message and the lock grant message can be eliminated, which results in improved performance.
Abstract:
A composite resource is established that includes a plurality of members. Each of the members is capable of providing a comparable service. A coordinator monitors a state of each member of the composite resource. A component requests the service from the coordinator. The coordinator arranges for the service to be provided to the component by a particular member of the composite resource. When the particular member ceases to be active, the service is automatically provided to the component by another member in the composite resource. A state of the composite resource is maintained independently of the state of each member in the composite resource.
Abstract:
A shared-nothing database system is provided in which the rows of each table are assigned to "slices", and multiple copies ("duplicas") of each slice are stored across the persistent storage of multiple nodes. Requests to read data from a particular row of the table may be handled by any node that stores a duplica of the slice to which the row is assigned. For each slice, a single duplica of the slice is designated as the "primary duplica". All DML operations are performed by the node that has the primary duplica of the slice to which the target row is assigned. The changes are then propagated other duplicas ("secondary duplicas") of the same slice.
Abstract:
Approaches are used for efficiently and effectively managing the dynamic allocation of resources of multi-node database systems between services provided by the multi-node database server. A service is a category of work that is hosted on the database server. The approaches manage allocation of resources at different levels. For services that use a particular database, the performance realized by the services is monitored. Resources assigned to the database are allocated between these services to ensure performance goals for each are met. Resources assigned to a cluster of nodes are allocated between the databases to ensure that performance goals for all the services that use the databases are met. Resources assigned to a farm of clusters are assigned amongst clusters based on service level agreements and back-end policies. The approach uses a hierarchy of directors to manage resources at the different levels.
Abstract:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
Abstract:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.
Abstract:
Techniques are provided for managing caches in a system with multiple caches that may contain different copies of the same data item. Specifically, techniques are provided for coordinating the write-to-disk operations performed on such data items to ensure that older versions of the data item are not written over newer versions, and to reduce the amount of processing required to recover after a failure. Various approaches are provided in which a master is used to coordinate with the multiple caches to cause a data item to be written to persistent storage. Techniques are also provided for managing checkpoints associated with the caches, where the checkpoints are used to determine the position at which to begin processing recovery logs in the event of a failure.