Skip to main content

Module streaming

Module streaming 

Source
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§

DegreeDistribution
Degree distribution statistics.
DoulionTriangleCounter
Approximate streaming triangle counter using edge sampling (Doulion algorithm).
MascotTriangleCounter
MASCOT (Memory-efficient Accurate Sampling for Counting Local Triangles) streaming triangle counter.
MemoryBoundedConfig
Configuration for memory-bounded stream processing.
MemoryBoundedProcessor
A memory-bounded stream processor that enforces a memory budget.
SlidingWindowGraph
A sliding window graph that maintains only the most recent W edges.
StreamEdge
A single edge in a graph stream.
StreamEvent
A stream event: an edge with an operation type.
StreamingGraph
A streaming graph that supports incremental edge additions and deletions.
TriangleCounterStats
Statistics from a streaming triangle counter.

Enums§

EvictionStrategy
Strategy for evicting data when memory budget is exceeded.
StreamOp
Type of stream operation.