Claims
- 1. A method for managing data, the method comprising the steps of:
maintaining a plurality of persistent data items on persistent storage accessible to a plurality of nodes; assigning ownership of each of the persistent data items to at least one of the plurality of nodes; shipping an operation that involves a particular data item of said plurality of persistent data items to a particular node assigned to the particular data item to cause the particular node to perform the operation on the particular data item, wherein said particular data item resides at a particular location on said persistent storage; while the first node continues to operate, reassigning ownership of the particular data item from the particular node to another node without moving the particular data item from said particular location on said persistent storage; after the reassignment, when any node wants an operation performed that involves said particular data item, the node that desires the operation to be performed ships the operation to said other node for the other node to perform the operation on the particular data item as said particular data item resides at said particular location.
- 2. The method of claim 1 wherein the plurality of nodes are nodes of a multi-node database system.
- 3. The method of claim 2 wherein the multi-node database system includes nodes that do not have access to said persistent storage.
- 4. The method of claim 2 wherein the step of reassigning ownership of the particular data item from the particular node to another node is performed as part of a gradual transfer of ownership from said particular node to one or more other nodes.
- 5. The method of claim 4 wherein the gradual transfer is initiated in response to detecting that said particular node is overworked relative to one or more other nodes in said multi-node database system.
- 6. The method of claim 1 wherein method includes the step of:
determining whether the particular node held exclusive-mode or shared-mode access to the data item;
- 7. The method of claim 1 further comprising the step of:
in response to transferring ownership of said particular data item to said other node, aborting an in-progress operation that involves said particular data item;
- 8. The method of claim 7, further comprising the step of:
after ownership of the particular data item has been transferred to said particular node, re-executing the in-progress operation.
- 9. The method of claim 1 wherein:
an operation that involves said particular data item is in-progress at the time the transfer of ownership of said particular data item is to be performed; the method further includes the step of determining whether to wait for said in-progress operation to complete based on a set of one or more factors; and if it is determined to not wait for said in-progress operation to complete, aborting said in-progress operation.
- 10. The method of claim 9 wherein said set of one of more factors includes how much work has already been performed by said in-progress operation.
- 11. A method of managing data, the method comprising the steps of:
maintaining a plurality of persistent data items on persistent storage accessible to a plurality of nodes; assigning ownership of each of the persistent data items to one of the nodes by assigning each data item to one of a plurality of ownership groups; and assigning each ownership group to one of the plurality of nodes;
wherein the node to which a ownership group is assigned is established to be owner of all data items assigned to the ownership group; when a first node wants an operation performed that involves a data item owned by a second node, the first node ships the operation to the second node for the second node to perform the operation.
- 12. The method of claim 11 wherein the number of ownership groups is greater than the number of nodes, and the ownership group-to-node relationship is a many-to-one relationship.
- 13. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 1.
- 14. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 2.
- 15. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 3.
- 16. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 4.
- 17. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 5.
- 18. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 6.
- 19. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 7.
- 20. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 8.
- 21. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 9.
- 22. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 10.
- 23. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 11.
- 24. A computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors to perform the method recited in claim 12.
RELATED APPLICATION
[0001] This application claims domestic priority as a continuation application of prior U.S. application Ser. No. 09/896,373, filed Jun. 28, 2001, titled “Partitioning Ownership of a Database Among Different Database Servers to Control Access to the Database,” naming as inventor Gianfranco Putzolu, which claims domestic priority as a continuation application of prior U.S. application Ser. No. 09/222,577, filed Dec. 28, 1998, issued on Nov. 20, 2001 as U.S. Pat. No. 6,321,238, titled “Hybrid Shared Nothing/Shared Disk Database System,” naming as inventor Gianfranco Putzolu. The entire disclosure of U.S. application Ser. No. 09/896,373 and U.S. application Ser. No. 09/222,577 is hereby incorporated by reference for all purposes as if fully set forth herein.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09896373 |
Jun 2001 |
US |
Child |
10787965 |
Feb 2004 |
US |
Parent |
09222577 |
Dec 1998 |
US |
Child |
09896373 |
Jun 2001 |
US |