Aggregator Service Active Table Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing compliance reporting systems face delays in data retrieval, leading to user requests timing out or being aborted, as they take too long to gather necessary information, even though they are designed to manage growing data volumes and enforce records policies across multiple repositories.
Innovation Solution
Implementing an aggregator service in an off-cloud environment that works with federated compliance and file intelligence services to cache data in two tables, where the most recent successful search results are stored in an active table, allowing immediate data retrieval without the need for repeated searches, thus reducing delays and timeouts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the system performs comprehensive data searches across multiple repositories to ensure complete and accurate compliance reporting, then the data completeness and accuracy are improved, but the data retrieval time increases significantly causing user requests to timeout
Solution Approach 1:
The system performs data searches and aggregations in advance before user requests are made. The aggregator service proactively queries multiple repositories, aggregates the data, and stores it in cached tables. When a user requests compliance data, the pre-aggregated data is immediately available from the cache, eliminating the need for time-consuming real-time searches across multiple repositories and preventing timeouts.
Solution Approach 2:
The system divides the data retrieval process into separate phases: a data collection phase where the aggregator service queries multiple repositories and aggregates data into intermediate tables, and a data delivery phase where pre-aggregated data is served to users. This segmentation allows comprehensive data gathering without blocking user requests, as the aggregation work is performed independently in advance.
2Adaptability or versatility
If the system maintains multiple tables to store data from different repositories, then the system's ability to manage diverse data sources is improved, but the system complexity increases
Solution Approach 1:
The aggregator service acts as a universal intermediary that handles multiple repository types through a single unified interface. Instead of managing complex relationships between multiple tables directly, the aggregator service abstracts the complexity by providing a standardized data aggregation and caching mechanism that works across all repository types, simplifying the overall system architecture while maintaining multi-repository support.
3Duration of action of stationary object
If the system performs real-time data aggregation to ensure data freshness, then the data currency is improved, but the processing speed decreases and user requests timeout
Solution Approach 1:
The system performs data aggregation in advance and stores the results in cached tables. The aggregator service proactively queries repositories and pre-processes the data before user requests arrive. When users make requests, the system serves pre-aggregated data from cache, achieving both data freshness (through periodic updates) and high processing speed (through immediate retrieval without real-time aggregation).
Data Source
AI summary
Systems and methods for data reporting using a data aggregator and a data retrieval tool such as a file intelligence service. The data aggregator stores two sets of data reporting tables and designates a first one of the sets of tables as an active set and the second one of the sets as a non-active set. The active set of tables stores data corresponding to a most recently successfully completed search. The non-active set stores data retrieved by the data retrieval tool from disparate data sources according to current search. The data in the active set of tables is immediately available for use in requested reports. When the data aggregator completes the current search, it designates the non-active set of tables as the active set so that the data therein becomes available for use in requested reports.


