Cloud Data Catalog Metrics via Event-Driven Aggregation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based data catalogs face scalability issues due to the linear growth of resource queries with the number of supported resource types, making traditional pull-based approaches inefficient.
Innovation Solution
Implementing a push-based approach where events from data sources are emitted to a message queue, allowing workers to process subsets of events and update status, enabling efficient aggregation and processing without requiring new queries for new resource types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a pull-based approach is used to collect resource metrics, then the system can maintain simplicity in architecture, but the number of resource queries grows linearly with the number of supported resource types, reducing scalability
Solution Approach 1:
The patent inverts the traditional pull-based metrics collection approach by implementing a push-based approach where resource events are automatically published to a message queue and workers consume events to update metrics. This reversal eliminates the need for continuous polling queries while maintaining architectural simplicity through event-driven architecture.
Solution Approach 2:
The patent introduces a message queue as an intermediary component between resource event sources and metrics processing workers. This mediator decouples the production of resource events from their consumption and processing, enabling scalable metrics collection without direct point-to-point queries between components.
2Measurement precision
If continuous polling is used to check resource status, then the system can ensure up-to-date metrics, but it generates excessive queries that reduce system efficiency
Solution Approach 1:
The patent implements a self-service mechanism where resource event sources automatically publish status change events to the message queue when their state changes. This eliminates the need for external polling systems to continuously query resource status, reducing query overhead while maintaining metrics freshness through event-driven updates.
Solution Approach 2:
The patent ensures continuous metrics updates through an event-driven architecture where resource status changes trigger immediate event publication and processing. This continuous useful action replaces periodic polling, maintaining up-to-date metrics without generating excessive queries by only processing when changes occur.
3Reliability
If the system processes all events from the message queue, then complete metrics coverage is achieved, but processing time increases with queue size
Solution Approach 1:
The patent segments the message queue processing by introducing partitioned queues and multiple workers that process different segments of events in parallel. This segmentation enables complete metrics coverage across all partitions while reducing overall processing time through concurrent event processing across multiple worker instances.
Solution Approach 2:
The patent implements selective event processing where workers process subsets of events from the message queue based on filtering criteria and priority levels. This partial action approach processes only the most critical or relevant events first, achieving sufficient metrics coverage without processing every single event, thereby reducing total processing time while maintaining reliability for key metrics.
Data Source
AI summary
In some aspects, an aggregation system of a cloud system may receive, by an aggregation system of a cloud system and from a data catalog, one or more events from one or more data sources of the cloud system, the one or more data sources having one or more resource types. The aggregation system may store event data to a message queue. The aggregation system of a cloud system may process, by one or more workers of the cloud system, a subset of events from the message queue at a time. The aggregation system may for each event in the subset of events: determine whether an event source has been updated based on information in the event. The aggregation system may in accordance with a determination that the event source has been updated, send an updated status to a dashboard, the dashboard configured to be displayed on a user device.


