Database Replication Log Archiving Event Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database systems face challenges in handling data archiving, as they require all subscribers to process deletions uniformly, which can impact transaction processing and do not allow for individualized handling of archived data, and centrally deactivating logging of deletions initiated by archiving events is not feasible.
Innovation Solution
Moving data archiving handling from database triggers to subscriber-specific data reconstruction and transfer processes, allowing for individualized processing of archived data and providing an option to centrally deactivate capture of deletions initiated by archiving events, thereby improving transaction processing and enabling subscriber-specific handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database triggers are used to handle data archiving deletions, then data replication can be maintained, but transaction processing is negatively impacted and all subscribers must process deletions uniformly
Solution Approach 1:
The patent extracts the data archiving handling logic from the database trigger layer and moves it to the application layer. Specifically, archiving events are captured by triggers but processed by application code that reads from a log table, allowing subscribers to handle archiving deletions differently without affecting the replication mechanism itself.
Solution Approach 2:
The patent segments the deletion handling process into two independent parts: (1) capture mechanism (database triggers that log all deletions) and (2) processing mechanism (application-level logic that determines how to process each deletion). This segmentation allows the capture layer to maintain reliability while the processing layer can optimize for different subscriber needs.
2Device complexity
If all subscribers process data archiving deletions uniformly, then processing logic is simplified, but individualized handling of archived data is not possible
Solution Approach 1:
The patent introduces dynamic processing where each subscriber can configure their own handling logic for archiving deletions. The system reads subscriber-specific settings from configuration tables and applies different processing behaviors accordingly - some subscribers delete archived data, others retain it, and others mark it as archived. This dynamic configuration allows complex individualized handling without requiring complex universal logic.
3Loss of information
If database triggers log all data deletions, then complete data archiving tracking is achieved, but the number of records in logging tables increases
Solution Approach 1:
The patent extracts archiving event identification from the trigger logic and implements it at the application level. Triggers simply log all deletions to a table, then application code reads these logs and identifies archiving events by checking user identifiers against an archiving users list, reducing trigger complexity and allowing more selective processing.
4Quantity of substance
If centrally deactivated logging of archiving deletions is implemented, then the number of captured records is reduced, but individualized processing options are limited
Solution Approach 1:
The patent segments the logging and processing into separate configurable layers. The logging layer can be centrally configured to exclude archiving deletions, reducing record volume. The processing layer maintains flexibility through subscriber-specific configuration tables that allow individual subscribers to enable or disable archiving event processing independently, regardless of central logging settings.
Data Source
AI summary
Systems and methods include detection of deletion of a record of a database table due to a database transaction, creation of a log entry including one or more key field values of the record of the database table, an identifier of a user associated with the database transaction, and an indicator of a delete operation, determination of whether the identifier identifies an archiving user, and, in a case that the identifier identifies an archiving user, change the indicator to an indicator of an archive operation to create a changed log entry.


