Asynchronous Database Object Enrichment via Change Streams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database systems can only capture row-level changes, which are not suitable for customer-facing applications that require object-level changes, leading to inefficiencies and increased complexity, as they fail to maintain the object-level view due to asynchronous change capture and additional computation overhead.
Innovation Solution
The system converts row-level database changes to object-level changes using an enrichment database, leveraging existing change data capture technologies to build object-level changes asynchronously, thereby maintaining scalability and minimizing impact on customer traffic without additional computing costs or changes to the existing object relational mapping system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If row-level change capture is used, then scalability is maintained, but object-level changes cannot be provided
Solution Approach 1:
The patent segments the change capture functionality into two independent layers: row-level change capture in the primary database maintains scalability, while object-level change construction is performed separately by consuming row-level changes and applying ORM mappings. This segmentation allows each layer to operate independently without compromising the other.
Solution Approach 2:
The patent introduces an intermediary component that sits between row-level change capture and object-level change consumption. This intermediary consumes row-level changes, applies ORM object mappings, and constructs object-level changes, thereby bridging the gap between database operations and application-level object models without directly modifying either end.
2Reliability
If synchronous change capture is implemented, then object-level view is maintained, but computing overhead increases
Solution Approach 1:
The patent implements periodic (asynchronous) action for object-level change construction by having a separate process consume row-level changes at intervals and construct object-level changes using ORM mappings. This periodic construction approach maintains object-level view accuracy while avoiding the continuous computing overhead of synchronous capture, allowing the system to process changes in manageable batches.
3Adaptability or versatility
If object-level change streams are generated, then functionality is expanded, but additional computing costs are incurred
Solution Approach 1:
The patent implements self-service by having the ORM framework automatically perform object mappings and construct object-level changes from row-level changes without requiring additional external computation. The system leverages existing ORM infrastructure to serve the object-level change stream generation needs, thereby expanding functionality while minimizing additional computing costs through resource reuse.
Data Source
AI summary
A first copy of a database object may be constructed prior to applying a designated database update request to a first database. The database object may be represented by a plurality of database table rows in the first database, and the request may update one or more of the plurality of rows. The request may be applied to the first database to update the one or more of the plurality of rows in the first database. A second copy of the database object may be constructed after applying the database update request to the first database. A message identifying a difference between the first copy of the database object and a second copy of the database object may be transmitted to a remote computing device.


