Patent ID: 8626716

Claim:
A method for managing application data transactions comprising: receiving by a query processor a data request from an application to update at least one data element; storing a transaction record in a transaction data store based on the data request; determining, using a logical data model, one or more data stores and one or more data warehouses to update based on the one or more data stores and the one or more data warehouses maintaining the at least one data element of the data request, wherein the one or more data warehouses contain copies of data contained in the one or more data stores; responsive to receiving the data request, updating the at least one data element maintained by the one or more data stores based on the data request; determining whether the one or more data stores were successfully updated; where the one or more data stores were not successfully updated, returning data updated responsive to the data request in the one or more data stores to a prior data store state using a compensating transaction; responsive to receiving the data request, updating the at least one data element maintained by the one or more data warehouses based on the data request; determining whether the one or more data warehouses were successfully updated; where one or more of the one or more data warehouses were not successfully updated, returning data in the one or more data warehouses that has been updated responsive to the data request to a prior data warehouse state using a compensating transaction; and where one or more of the one or more data warehouses were not successfully updated, the at least one data element updated in the one or more data stores responsive to the data request remains updated.