# Windowing

Record: `arch:windowing`
Kind: mechanism
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: data processing, streaming, aggregation
Canonical: https://banes-lab.com/ontology#arch-windowing

## Repair

- Refactored by: Aggregate over Windows
- Detected by: unbounded accumulator over a stream
- Violated by: aggregating an unbounded stream into ever-growing state
- Measured by: aggregation state growth rate
- Enforced by: streaming design review

## requires

- [Event Time](https://banes-lab.com/records/lex/event-time.md)

## reinforces

- [Streaming Architecture](https://banes-lab.com/records/arch/streaming-architecture.md)
- [Bounded State](https://banes-lab.com/records/lex/bounded-state.md)

## enables

- [Bounded Aggregation over Unbounded Streams](https://banes-lab.com/records/lex/bounded-aggregation-over-unbounded-streams.md)

## conflicts-with

- [Unbounded Accumulation](https://banes-lab.com/records/lex/unbounded-accumulation.md)

## tensions-with

- [Late-Data Handling](https://banes-lab.com/records/lex/late-data-handling.md)

## tensions

- [Windowing Late-Data Handling](https://banes-lab.com/records/tension/late-data-handling-windowing.md)
