# Space-Based Architecture

> A convention of holding working state in a replicated in-memory space, so no central database limits scaling.

Record: `architecture:space-based-architecture`
Kind: style
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Severity: contextual
Scope: application, scalability, distributed state
Canonical: https://banes-lab.com/ontology#architecture-space-based-architecture

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Service-Oriented Architecture](https://banes-lab.com/records/architecture/service-oriented-architecture.md) and before [Stated Invariant](https://banes-lab.com/records/architecture/stated-invariant.md).

## Repair

- Refactored by: Adopt a Replicated Data Space
- Detected by: single datastore as the scaling limit
- Violated by: all reads/writes funneled through one central database
- Measured by: central-datastore contention rate
- Enforced by: [architecture review](https://banes-lab.com/records/architecture/architecture-review.md)

## Requires

- [Replicated In-Memory State](https://banes-lab.com/records/lexicon/replicated-in-memory-state.md)

## Reinforces

- [Horizontal Scaling](https://banes-lab.com/records/architecture/horizontal-scaling.md)
- [Elasticity](https://banes-lab.com/records/architecture/elasticity.md)

## Enables

- [Database-Bottleneck Removal](https://banes-lab.com/records/lexicon/database-bottleneck-removal.md)

## Conflicts with

- [Central Database Bottleneck](https://banes-lab.com/records/lexicon/central-database-bottleneck.md)

## In tension with

- [Consistency](https://banes-lab.com/records/architecture/consistency.md)

## Tensions

- [Space-Based Architecture / Consistency](https://banes-lab.com/records/tension/consistency-space-based-architecture.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Codebase / System Architecture Styles](https://banes-lab.com/records/architecture-category/codebase-system-architecture-styles.md)

## Linked from

- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Transactions / State / Concurrency](https://banes-lab.com/ontology/principles/architecture-category-transactions-state-concurrency.md)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/lexicon/lexicon-category-codebase-system-architecture-styles.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
