# Sequential Access

Record: `arch:sequential-access`
Kind: pattern
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: file, stream, iterator
Canonical: https://banes-lab.com/ontology#arch-sequential-access

## Repair

- Refactored by: Use Buffer/Index or Stream Sequentially
- Detected by: seek/index assumptions on sequential source
- Violated by: random access over stream-only source
- Measured by: access pattern cost
- Enforced by: performance tests

## requires

- [Ordered Read Model](https://banes-lab.com/records/lex/ordered-read-model.md)

## reinforces

- [Memory Efficiency](https://banes-lab.com/records/arch/memory-efficiency.md)

## enables

- [Large Data Processing](https://banes-lab.com/records/lex/large-data-processing.md)

## tensions-with

- [Lookup Performance](https://banes-lab.com/records/lex/lookup-performance.md)
- [Random Access Requirement](https://banes-lab.com/records/lex/random-access-requirement.md)

## tensions

- [Sequential Access Lookup Performance](https://banes-lab.com/records/tension/lookup-performance-sequential-access.md)
- [Sequential Access Random Access Requirement](https://banes-lab.com/records/tension/random-access-requirement-sequential-access.md)
