Problem Statement:
Synthetic Time Series in CDF are dynamically calculated based on expressions, but lack persistent identifiers. This limits usability when users need:
- Persistent IDs for discovery and access.
- Simplified queries via API, SDK.
- Centralized definition of expressions as part of the data model, avoiding the need for each backend to redefine them.
Suggested Approach:
Introduce a Synthetic Time Series Definition object that:
- Allows defining synthetic series with a persistent external_id.
- Stores metadata like expressions, descriptions, and units.
- Enables dynamic evaluation without requiring data storage.
- Supports defining expressions as part of a model, enabling reuse across different systems without requiring redundant definitions in backends.
Benefits:
- Usability: Persistent identifiers for easier access and queries.
- Consistency: Eliminates repetitive expression definitions.
- Scalability: Centralized expression definitions simplify updates and maintenance.