Memory Spill Management for Bursty Data Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional database systems are inefficient in handling continuous and unbounded data streams due to their design assumptions based on finite data sets, leading to memory shortages and performance issues when processing bursty data streams.

Innovation Solution

Implementing memory management techniques that automatically spill data from processing memory to persistent storage based on an evict policy, allowing for efficient handling of data streams by storing tuples in pages and evicting them to disk when memory usage reaches a threshold, thereby maintaining system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data streams are stored in memory for processing, then processing speed is improved, but memory capacity is exceeded when handling bursty data streams

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent introduces a hierarchical storage architecture that adds a second dimension of storage by utilizing persistent storage (disk) in addition to memory. This creates a two-level storage system where frequently accessed data resides in memory while less frequently accessed data is stored on disk, effectively expanding the available storage capacity without sacrificing processing speed for active data.

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

Solution Approach 2:

The patent segments the storage system into multiple components: memory storage for active processing and persistent storage for archival. This segmentation allows the system to handle bursty data streams by moving data between these segments based on access patterns, thereby managing memory capacity constraints while maintaining processing efficiency.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If traditional database systems are used for data streams, then data storage is simplified, but performance degrades due to design assumptions based on finite data sets

Engineering Contradiction:
Improvestorage system complexityVSAvoiddata processing productivity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic memory management that adapts to varying data stream characteristics. The system dynamically determines when to spill data to persistent storage and when to load it back, based on memory pressure and access patterns. This dynamic approach allows the system to maintain high productivity for finite datasets while efficiently handling unbounded data streams, resolving the performance degradation issue of traditional static database systems.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8352517B2Infrastructure for spilling pages to a persistent store
Publication Date: 2013.01.08 ORACLE INT CORP
  • US8352517B2 patent drawing
  • US8352517B2 patent drawing
  • US8352517B2 patent drawing

AI summary

Techniques for managing memory usage in a processing system are provided. This may be achieved by receiving a data stream including multiple tuples and determining a query plan that was generated for a continuous query applied to the multiple tuples in the data stream. The query plan may include one or more operators. Before scheduling an operator in the query plan, it is determined when an eviction is to be performed based a level of free memory of the processing system. An eviction candidate is determined and a page associated with the eviction candidate is evicted from the memory to a persistent storage.