FeatureHistoryScenario
Economics scenarios · Implementation: mlsysim/engine/scenario_definitions/economics.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
Full-snapshot feature history: entities x features values every update_interval, kept for retention, each row a value, an entity key, and timestamps timestamps.
Notes
Equation: Stored versions are retention/update_interval; row bytes add value, key, and repeated timestamps.
Assumptions: Full snapshots at regular intervals and equal row widths for every entity-feature pair.
Excludes: Compression, delta storage, indexing, replication, and partial interval rounding.
References
Derivation: Regular full snapshots retain retention/update_interval versions of every entity-feature pair. Every version stores its value plus a repeated key and timestamps, so multiplying version count by complete row width includes metadata explicitly.
Examples
>>> from mlsysim import Scenarios
>>> s = Scenarios.RecommendationFeatureHistory
>>> s.total_bytes.to("byte").magnitude > 0
TrueAttributes
| Name | Description |
|---|---|
| entities | |
| features | |
| key_bytes | |
| metadata_share | Dimensionless fraction of each history row occupied by keys and timestamps. |
| retention | |
| row_bytes | Bytes per retained value including its key and timestamp metadata. |
| timestamp_bytes | |
| timestamps | |
| total_bytes | Full snapshot-history footprint in bytes, including repeated metadata. |
| update_interval | |
| value_bytes | |
| values | Total stored feature-version count across entities and features. |
| versions_per_feature | Dimensionless retained snapshot count from retention duration over update interval. |
entities
Type: float.
Declared default: required.
features
Type: int.
Declared default: required.
retention
Type: Quantity.
Declared default: required.
update_interval
Type: Quantity.
Declared default: required.
value_bytes
Type: Quantity.
Declared default: required.
key_bytes
Type: Quantity.
Declared default: required.
timestamp_bytes
Type: Quantity.
Declared default: required.
timestamps
Type: int.
Declared default: 2.
versions_per_feature
engine.scenario_types.FeatureHistoryScenario.versions_per_feature
Dimensionless retained snapshot count from retention duration over update interval.
Equation: (retention / update_interval).to('').magnitude.
values
engine.scenario_types.FeatureHistoryScenario.values
Total stored feature-version count across entities and features.
Equation: entities * features * versions_per_feature.
row_bytes
engine.scenario_types.FeatureHistoryScenario.row_bytes
Bytes per retained value including its key and timestamp metadata.
Equation: (value_bytes + key_bytes + timestamps * timestamp_bytes).to('byte').
total_bytes
engine.scenario_types.FeatureHistoryScenario.total_bytes
Full snapshot-history footprint in bytes, including repeated metadata.
Equation: values * row_bytes.