You can configure units and interpolations for each TSP through a formatter. Find the formatter by navigating to a time series object type in Ontology Manager and locating the Time Series Properties section of the Capabilities tab. Alternatively, you can edit units and interpolations in the Properties tab, similar to any other value formatter.
Prior to the development of sensor object types, the platform used Measures as a time series model. Measures are being deprecated and you can use sensor object types in similar workflows. For more information, see the following pages:
Review the Advanced setup documentation for more information.
Creating a time series sync on your time series dataset will automatically create a time series projection on the time series dataset. A time series projection is a materialized copy of the dataset that provides optimizations similar to those of a SQL database index.
When the time series sync builds, it generates metadata about the time series dataset transaction(s) from which it derives, informing Foundry's time series database of the data available to index.
When using time series, you read indexed data from the time series database. The time series database acts like a cache; data is only hydrated at read time, and the least recently hydrated series are evicted first once the database disk space is constrained.
A projection is a materialized copy of a dataset that optimizes for certain queries. In the case of time series, the projection optimizes for the queries made when the time series dataset is read to hydrate data to the time series database. This process involves filtering the time series dataset to select the series IDs and time ranges that are being hydrated. In this way, the projection maintains good partitioning and a sort over the time series data, effectively indexing the time series dataset by series ID and timestamp.
If an error states that ‘no time series data exists’, your series IDs may not be mapping correctly between your time series dataset/sync and time series object type backing dataset. The set of series IDs in each dataset should intersect and, ideally, be equal sets for the time series properties to correctly reference time series data. Be sure to also check that the series ID property on your time series object type is correctly configured.
Particularly when dealing with large scale time series, it is possible that hydrating data to the time series database can fail outright. This may occur due to a failure in (or lack of) optimizations:
The most common reason for time series data loading slowly is that data was not already indexed in the time series database. Index hydration occurs the first time a certain time series (series ID) is queried or after any subsequent snapshot transactions are synced by the time series sync. A synced snapshot transaction informs the time series database to hydrate a series from the full dataset view to its index. There is a chance that a snapshot hydration will be triggered due to the queried time series data being evicted from the index; time series are evicted based on disk space requirements, with the least recently hydrated series being evicted first.
After a time series is initially hydrated, queries should be much faster. If your pipeline is incrementally adding time series data, then the new data will be incrementally hydrated by the time series database and your time series should load quickly after the first snapshot hydration of the data.
We recommend running incremental pipelines to improve subsequent indexing performance.
If there is a lot of data to hydrate incrementally, a query can still take a long time to load. For example, load times will increase if an incremental transaction is very large, or if there are many incremental transactions that have not been hydrated due to the time series not being regularly queried.
In some extreme cases, both snapshot and incremental hydrations will be slow if the time series repartition or sort is not applied to the time series dataset, or too many partitions are written for the volume of data as this can require reading many files. This will only apply for transactions that have not yet been projected by the time series projection. When transforming data in Pipeline Builder and mapping it to a time series sync output, the time series dataset is correctly formatted for you.
For all your time series data to be indexed in the time series database, its time series sync must be up-to-date. This means that the sync must have been built since the latest transactions on your time series dataset was built, otherwise the data from those transactions cannot be hydrated.
If your time series dataset is not stored in the Soho format, no unprojected data will be hydrated to the time series database. When transforming data in Pipeline Builder and mapping it to a time series sync output, the materialized time series dataset backing the sync is converted to the Soho format for you. You can also complete one of the following tasks to have more updated data available: