Event Processing Using Append-Only Tables and Materialized Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for processing sequences of events are inefficient, as they require complex SQL queries that consume significant resources and are burdensome to develop and maintain, especially when dealing with large volumes of time-correlated events.

Innovation Solution

The approach involves storing and processing events as an append-only sequence, allowing for efficient querying and evaluation of events at any time by using a method that selects and stores events in a manner that supports append-only operations, enabling the evaluation of base and compound events with logical updates without modifying existing records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex SQL queries are used to process time-correlated events stored in different tables, then the ability to evaluate time-correlated events is achieved, but computing resource consumption increases significantly

Engineering Contradiction:
Improveability to evaluate time-correlated eventsVSAvoidcomputing resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent combines multiple event tables from different databases into a single materialized view that pre-joins and stores time-correlated event data. This merging eliminates the need for complex SQL queries to join multiple tables at query time, significantly reducing computing resource consumption while maintaining the ability to evaluate time-correlated events.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary processing by pre-joining event tables and materializing the results before actual querying occurs. The materialized view stores pre-computed time-correlated event sequences, so when queries are executed, they operate on already-processed data rather than performing complex joins during query execution, thereby reducing runtime computing resources.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If complex SQL queries are used to process time-correlated events, then event evaluation capability is provided, but query complexity increases making it beyond user ability

Engineering Contradiction:
Improveevent evaluation capabilityVSAvoidquery complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By merging multiple event tables into a single materialized view that contains pre-joined time-correlated events, the patent simplifies the query interface. Users can evaluate time-correlated events using simple queries against the materialized view rather than constructing complex multi-table SQL queries, making the system accessible to non-expert users.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If custom code is included to store and query event-generated data, then flexibility in monitoring events is achieved, but development time and testing burden increase

Engineering Contradiction:
Improveflexibility in monitoring eventsVSAvoiddevelopment time and testing burden
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent uses a materialized view as a copy of the underlying event data that can be queried without modifying the original event storage structures. This allows flexible event monitoring capabilities to be added through the materialized view interface without requiring custom code development, copying the flexibility benefit while avoiding the development and testing overhead.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If custom code is included to query event-generated data, then event monitoring flexibility is provided, but system maintenance burden increases

Engineering Contradiction:
Improveevent monitoring flexibilityVSAvoidsystem maintenance burden
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The materialized view acts as a maintained copy of event data that automatically updates when source events are inserted. This eliminates the need for custom maintenance code, as the materialized view structure handles data synchronization automatically, reducing system maintenance burden while preserving event monitoring flexibility.

Inventive Principle:
Principle #26Copying

5Stability of the object's composition

If events are stored in separate tables in different databases, then data organization is achieved, but querying efficiency decreases

Engineering Contradiction:
Improvedata organizationVSAvoidquerying efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent merges data from separate event tables into a materialized view that physically stores pre-joined time-correlated events in a unified structure. This merging maintains the organizational benefits of separate source tables while dramatically improving querying efficiency, as queries operate on the pre-integrated materialized view rather than performing expensive cross-database joins.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The materialized view performs preliminary data integration by pre-joining events from separate tables during data insertion rather than at query time. This preliminary action organizes data efficiently in advance, enabling fast querying of time-correlated events without the performance penalty of on-the-fly joins across multiple databases.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7840575B2Evaluating event-generated data using append-only tables
Publication Date: 2010.11.23 ORACLE INT CORP
  • US7840575B2 patent drawing
  • US7840575B2 patent drawing
  • US7840575B2 patent drawing

AI summary

Techniques are provided for evaluating base events, compound events, and logical update events in an event processing system. In one embodiment, the base events, compound events, and logical update events are definitions in a particular syntax language that specify conditions for evaluating input event data. In this embodiment, base event definitions are evaluated over the input event data; logical update event definitions are evaluated by determining whether the effect of any earlier event is changed by the arrival of a new event; and compound event definitions are evaluated over records representing events that have been selected by evaluating the base event definitions over the input event data.