Graph Event Processing with In-Memory Views
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graph applications face challenges in providing low-latency and high-throughput event processing for graph-structured data, as traditional relational databases and graph stores are ill-suited for real-time query performance and data freshness, and previous approaches lack support for graph views and event-driven processing.
Innovation Solution
An event processing system that provides distributed, in-memory graph storage with transactional semantics and server-side event processing, allowing for graph views to be defined and monitored, enabling efficient asynchronous event processing and analysis, and supporting low-latency, interactive graph queries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional relational databases are used for graph storage, then data storage capability is provided, but query performance and data freshness deteriorate due to table joins overhead
Solution Approach 1:
The patent segments graph data into distinct vertex and edge structures with separate storage mechanisms. Vertices store node information while edges store relationship information, allowing independent optimization of query operations without the overhead of traditional table joins. This segmentation enables faster traversal and query performance while maintaining complete graph data.
Solution Approach 2:
The patent introduces an intermediary event processing layer that sits between data storage and application logic. This event-driven architecture mediates between the graph database and applications, providing real-time notifications when graph elements change, thereby ensuring data freshness without requiring applications to continuously query the database.
2Productivity
If high-throughput event processing is implemented, then real-time analysis capability is improved, but system complexity increases
Solution Approach 1:
The patent implements self-service mechanisms where graph elements automatically generate and publish events when their state changes. Each vertex and edge can independently notify subscribed applications of changes without requiring a centralized event management system, thereby achieving high throughput while minimizing system complexity.
Solution Approach 2:
The patent establishes event subscription and notification mechanisms in advance, before events occur. Applications pre-register their interests in specific graph elements, and the system maintains these subscriptions ready for immediate notification. This preliminary setup enables high-throughput real-time processing without complex runtime decision-making.
3Measurement precision
If graph views are defined for monitoring, then query specificity is improved, but processing overhead increases
Solution Approach 1:
The patent applies local quality by allowing different graph views to monitor only their specific subsets of graph elements. Each view is configured to receive events only from relevant vertices and edges, rather than processing all graph changes. This localized event filtering reduces computational overhead while maintaining precise monitoring of view-specific data.
Data Source
AI summary
Examples of the present disclosure may include methods, systems, and computer readable media with executable instructions. An example method for event processing for graph-structured data can include storing graph structured data. The graph structured data includes a plurality of vertex, edge, and/or property graph elements. The example method further includes defining a first graph view of a characteristic of vertex, edge, and/or property graph elements. A subgraph is determined as a subset of the plurality of vertex, edge, and/or property graph elements that have the characteristic of vertex, edge, and/or property graph elements defined by the first graph view. The vertex, edge, and/or property graph elements of the subgraph are processed responsive to a predefined event that occurs on at least one of the vertex, edge, and/or property graph elements of the subgraph.


