Distributed Event Stream Processing with HBase and Map-Reduce

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database models are not well-suited for processing continuous data streams, as they are designed for finite data sets and lack the capability to handle real-time, unbounded sequences of events effectively, leading to inefficiencies in maintaining state and processing queries in continuous event processing (CEP) systems.

Innovation Solution

The processing of Continuous Query Language (CQL) queries is distributed across multiple processing nodes, allowing for the use of HBase as a data source and sink, and employing Map-Reduce frameworks to manage event streams efficiently, with various distribution flows such as load-balancing, partitioning, and fan-in/fan-out strategies to optimize event processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional database models are used for processing continuous data streams, then data storage and querying capability are maintained, but the system cannot effectively handle real-time unbounded sequences of events

Engineering Contradiction:
Improveevent processing capabilityVSAvoidsuitability for continuous streams
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system segments the continuous event stream into discrete events that can be processed individually by CEP queries. Each event is handled as a separate unit while maintaining state information across events, allowing traditional database models to be adapted for stream processing through event discretization and state management.

Inventive Principle:
Principle #1Segmentation

2Productivity

If CEP involves maintenance of significant state information, then continuous event processing capability is achieved, but the processing becomes single-threaded

Engineering Contradiction:
Improvecontinuous event processingVSAvoidthreading complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system transitions from a single-threaded temporal dimension to a multi-threaded parallel dimension by distributing CEP queries across multiple processing threads. Each thread maintains its own state information, enabling parallel processing of event streams while preserving the stateful nature of CEP through thread-local state management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of time

If CQL queries are applied repeatedly to incoming event streams, then real-time processing is achieved, but processing efficiency decreases compared to batch processing

Engineering Contradiction:
Improvereal-time processing delayVSAvoidprocessing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system maintains continuous processing of event streams through CEP queries while optimizing efficiency by reusing state information across consecutive events. The stateful nature of CEP allows the system to avoid re-processing historical data, maintaining continuous useful action on new events while improving efficiency through state retention and incremental processing.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10217256B2Visually exploring and analyzing event streams
Publication Date: 2019.02.26 ORACLE INT CORP
  • US10217256B2 patent drawing
  • US10217256B2 patent drawing
  • US10217256B2 patent drawing

AI summary

Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.