10540346

Offloading Constraint Enforcement in a Hybrid Dbms

PublishedJanuary 21, 2020
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
11 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for enforcing constraints on data in a data processing system, the data processing system comprising a transactional engine maintaining a first dataset and an analytical engine maintaining a second dataset, the second dataset comprising at least part of the first dataset, the method comprising: providing a set of constraints on the data; receiving a first data update request at the transactional engine; executing the first data update request on the first dataset; determining a second data update request associated with the received data update request; sending, by the transactional engine, the second data update request to the analytical engine; checking, by the analytical engine, the set of constraints of the data on the second dataset; executing, by the analytical engine, the second data update request on the second dataset, resulting in a set of changes in the second dataset; committing, by the analytical engine, the set of changes in response to the set of constraints being met, otherwise aborting the set of changes; communicating, by the analytical engine, results of checking the set of constraints to the transactional engine; committing, by the transactional engine, an update of the first dataset before or after receiving the results of the checking of the set of constraints, wherein the committing of the update of the first dataset being performed before receiving the results of the checking of the set of constraints; and aborting the update on the first dataset, by the transactional engine, if the results indicate that the set of constraints are not met, wherein the aborting comprises undoing the set of changes caused by the execution of the first data update request and indicating that the committed set of changes, by the transactional engine, do not fulfil the set of constraints.

2

2. The method of claim 1 , wherein the committing of the update of the first dataset is performed in response to receiving the results of the checking of the set of constraints indicating that the set of constraints are met.

3

3. The method of claim 1 , further comprising setting a transaction isolation level such that transactions can access preliminarily committed data resulting from the committing of the update of the first dataset before receiving the results of the checking of the set of constraints.

4

4. The method of claim 1 , wherein the committing of the update of the first dataset being performed at a predefined time indicated in the received first data update request.

5

5. The method of claim 1 , wherein the first data update request being received as part of a set of requests, the method further comprising performing each operation of the executing, determining, sending, checking and executing operations on a whole set of requests at once.

6

6. The method of claim 1 , wherein the set of constraints comprises conditions on at least one attribute of the attributes of the first dataset, wherein the second dataset comprises at least a first set data values of the at least one attribute.

7

7. The method of claim 6 further comprising replicating, by the transactional engine to the analytical engine, the first set of data values of the at least one attribute before replicating a second set of data values of the remaining attributes of the first dataset to the analytical engine.

8

8. The method of claim 1 , wherein the data processing system is a hybrid online transaction processing (OLTP) and online analytical processing (OLAP) database system, wherein the transactional engine is configured for performing OLTP processes, wherein the analytical engine is configured for performing OLAP processes.

9

9. The method of claim 1 , wherein the transactional engine has a limited amount of resources.

10

10. A data processing system for enforcing constraints on data, the data processing system comprising a transactional engine maintaining a first dataset and an analytical engine maintaining a second dataset, the second dataset comprising at least part of the first dataset, the data processing system being configured for: providing a set of constraints on the data; receiving a first data update request at the transactional engine; executing the first data update request on the first dataset; determining a second data update request associated with the received data update request; sending, by the transactional engine, the second data update request to the analytical engine; checking, by the analytical engine, the set of constraints of the data on the second dataset; executing, by the analytical engine, the second data update request on the second dataset, resulting in a set of changes in the second dataset; committing, by the analytical engine, the set of changes in response to the set of constraints being met, otherwise aborting the set of changes; communicating, by the analytical engine, results of checking the set of constraints to the transactional engine; committing, by the transactional engine, the update of the first dataset before or after receiving the results of the checking of the set of constraints, wherein the committing of the update of the first dataset being performed before receiving the results of the checking of the set of constraints; and aborting the update on the first dataset, by the transactional engine, in response to receiving the results of the checking of the set of constraints and in case the results indicate that the set of constraints are not met, wherein the aborting comprises undoing the set of changes caused by the execution of the first data update request and indicating that the committed set of changes, by the transactional engine, do not fulfil the set of constraints.

11

11. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising: providing a set of constraints on the data; receiving a first data update request at the transactional engine; executing the first data update request on the first dataset; determining a second data update request associated with the received data update request; sending, by the transactional engine, the second data update request to the analytical engine; checking, by the analytical engine, the set of constraints of the data on the second dataset; executing, by the analytical engine, the second data update request on the second dataset, resulting in a set of changes in the second dataset; committing, by the analytical engine, the set of changes in response to the set of constraints being met, otherwise aborting the set of changes; communicating, by the analytical engine, results of checking the set of constraints to the transactional engine; committing, by the transactional engine, the update of the first dataset before or after receiving the results of the checking of the set of constraints, wherein the committing of the update of the first dataset being performed before receiving the results of the checking of the set of constraints; and aborting the update on the first dataset, by the transactional engine, in response to receiving the results of the checking of the set of constraints and in case the results indicate that the set of constraints are not met, wherein the aborting comprises undoing the set of changes caused by the execution of the first data update request and indicating that the committed set of changes, by the transactional engine, do not fulfil the set of constraints.

Patent Metadata

Filing Date

Unknown

Publication Date

January 21, 2020

Inventors

Daniel Martin
Andreas Brodt
Oliver Schiller
Felix Beier
Knut Stolze

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “OFFLOADING CONSTRAINT ENFORCEMENT IN A HYBRID DBMS” (10540346). https://patentable.app/patents/10540346

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.