Skip to main content

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
True

Attributes

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.

metadata_share

engine.scenario_types.FeatureHistoryScenario.metadata_share

Dimensionless fraction of each history row occupied by keys and timestamps.

Equation: float(((row_bytes - value_bytes) / row_bytes).to('').magnitude).

Back to top