Claims
- 1. A system for database replication comprising the steps of:
capturing change operations made to an application database; aggregating the change operations performed upon the application database; and applying the aggregated change operations to a replica application database in a single operation.
- 2. The system of claim 1 wherein the aggregated change operations are applied to a replica application database upon the occurrence of a triggering event.
- 3. The system of claim 2 wherein the triggering event is the occurrence of a change in execution direction of the change operation.
- 4. The system of claim 2 wherein the triggering event is the occurrence of a change in a table of the database upon which the operation is acting.
- 5. The system of claim 2 wherein the triggering event is the occurrence of a predetermined number of aggregated change operations being reached.
- 6. The system of claim 2 wherein the triggering event is the first occurrence of either of a change in execution direction of the change operation or a predetermined number of aggregated change operations being reached.
- 7. The system of claim 1 wherein the step of aggregating the change operations performed upon the application database aggregates the change operations to be applied to the replica database in table hierarchy order.
- 8. The system of claim 1 further comprising the step of transmitting the change operations performed upon the application database from a primary location to a replica location.
- 9. The system of claim 8 wherein a computer at the replica location initiates the retrieval of the change operation information from the primary location.
- 10. The system of claim 8 further comprising the step of compressing the change operation information before it is transmitted.
- 11. The system of claim 10 wherein the change information is compressed by a computer located at the primary location.
- 12. The system of claim 1 further comprising the step of tracking change operations that have been applied to the replica database.
- 13. The system of claim 1 further comprising the step of tracking change operations that have been retrieved from a primary location to a secondary location.
- 14. The system of claim 1 further comprising the steps of:
logically dividing application tables into groups of application tables having no interrelationship with any other group; and wherein the steps of aggregating the change operations performed upon the application database and applying the aggregated change operations to a replica application database in a single operation are performed independently for each of the groups such that aggregation and application can be performed in parallel for each group.
- 15. The system of claim 14 wherein the step of logically dividing the application tables into groups is performed by logically dividing each application table having a foreign key level of one and the application table's associated children tables.
- 16. The system of claim 14 wherein the step of logically dividing the application tables into groups is performed by randomly logically dividing application tables having a foreign key level of zero into groups of a predetermined size.
- 17. A system for replicating a primary database to a replica database comprising:
a capture process that captures change operations performed upon the primary database; and a replica database process aggregating the change operations performed upon the application database and applies the aggregated change operations to a replica application database in a single operation.
- 18. The system of claim 17 wherein the change operations aggregated by the replica database process are applied to the replica application database upon the occurrence of a triggering event.
- 19. The system of claim 18 wherein the triggering event is the occurrence of a change in execution direction of the change operation.
- 20. The system of claim 18 wherein the triggering event is the occurrence of a change in a table of the database upon which the operation is acting.
- 21. The system of claim 18 wherein the triggering event is the occurrence of a predetermined number of aggregated change operations being reached.
- 22. The system of claim 18 wherein the triggering event is the first occurrence of either of a change in execution direction of the change operation or a predetermined number of aggregated change operations being reached.
- 23. The system of claim 17 wherein the aggregated change operations are aggregated in table hierarchy order.
- 24. The system of claim 17 wherein the replica database process retrieves the captured change operations by the capture process.
- 25. The system of claim 17 further comprising a capture process that compresses the change operation information.
- 26. The system of claim 17 further comprising a process for tracking change operations that have been applied to the replica database.
- 27. The system of claim 24 further comprising a tracking process that tracks change operations that have been retrieved.
- 28. The system of claim 1 wherein the replica database process logically divides application tables into groups of application tables having no interrelationship with one another and wherein the replica database process aggregates the change operations performed upon the application database and applies the aggregated change operations to a replica database in a single operation that is performed independently for each of the groups such that aggregation and application can be performed in parallel for each group.
- 29. The system of claim 28 wherein the application tables are logically divided into groups by the replica database process by logically dividing each application table having a foreign key level of one and the application table's associated children tables.
- 30. The system of claim 29 wherein the groups are logically divided by randomly logically dividing application tables having a foreign key level of zero into groups of a predetermined size.
RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of U.S. patent application Ser. No. 10/795,701, filed Mar. 8, 2004, which claims priority to U.S. Provisional Patent Application Ser. No. 60/452,627, filed Mar. 6, 2003. The contents of both applications are expressly incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60452627 |
Mar 2003 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
| Parent |
10795701 |
|
US |
| Child |
10885844 |
Jul 2004 |
US |