Expand description
Streaming graph processing for dynamic and large-scale graphs
This module provides data structures and algorithms for processing graph streams where edges arrive (and optionally depart) over time. It supports:
- Edge stream processing: Incremental edge additions and deletions
- Approximate degree distribution: Maintained incrementally
- Streaming triangle counting: Doulion-style sampling and MASCOT-style edge sampling for approximate triangle counts
- Sliding window model: Maintain a graph over the most recent W edges
- Memory-bounded processing: Configurable memory limits with eviction
§Design
The streaming model assumes edges arrive one at a time. Algorithms maintain approximate statistics without storing the entire graph, making them suitable for graphs that do not fit in memory.
Structs§
- Degree
Distribution - Degree distribution statistics.
- Doulion
Triangle Counter - Approximate streaming triangle counter using edge sampling (Doulion algorithm).
- Mascot
Triangle Counter - MASCOT (Memory-efficient Accurate Sampling for Counting Local Triangles) streaming triangle counter.
- Memory
Bounded Config - Configuration for memory-bounded stream processing.
- Memory
Bounded Processor - A memory-bounded stream processor that enforces a memory budget.
- Sliding
Window Graph - A sliding window graph that maintains only the most recent
Wedges. - Stream
Edge - A single edge in a graph stream.
- Stream
Event - A stream event: an edge with an operation type.
- Streaming
Graph - A streaming graph that supports incremental edge additions and deletions.
- Triangle
Counter Stats - Statistics from a streaming triangle counter.
Enums§
- Eviction
Strategy - Strategy for evicting data when memory budget is exceeded.
- Stream
Op - Type of stream operation.