Time-series databases
what is a time series database? a time series database (tsdb) is a specialized type of database optimized for storing and retrieving data points that change over time in the context of factry historian, it is the storage engine used to record measurements, calculations, and other values with timestamps unlike general purpose databases (which typically store relational data), a time series database is designed to efficiently handle high volume, time ordered data for both data ingestion and data retrieval why does it matter? industrial systems generate large amounts of time stamped data temperatures, speeds, pressures, energy usage, setpoints, alerts, and more a time series database makes it possible to store these values at high frequency and scale query them quickly over time ranges downsample and aggregate data for visualizations and reporting retain long term history without performance loss without a proper tsdb, querying process data over weeks, months, or years would be slow or even infeasible how does it fit in the system? factry historian uses a time series database under the hood to store all dynamic data this includes raw measurements docid\ xqwlemdcnfff3 0h gmms collected by collectors docid\ wp81bftwmpuk gfimcj6u calculated values generated with calculations docid\ opiodkgnngyjedx6zkg d data quality indicators and timestamps internal statistics about historian's performance each value stored has at minimum a timestamp a measurement name a value optionally, tags or metadata (such as a quality flag, tags & labels docid\ zb70hnsdfnj3sj42myjxi ) the time series database is tightly integrated into the historian and is typically not accessed directly by users instead, users interact with the data through dashboards using the factry historian datasource plugin for grafana, and the rest apis support for multiple time series databases factry historian supports configuring multiple tsdb backends , which gives you flexibility depending on your infrastructure and use case currently supported influxdb v1 x influxdb v2 x you can configure factry historian to write measurements docid\ xqwlemdcnfff3 0h gmms or calculations docid\ opiodkgnngyjedx6zkg d to different databases this setup allows you to optimize for performance, retention, or compatibility with other tools support for additional tsdbs is planned in future releases example you collect the following values from a flow meter every second timestamp measurement value 2025 08 13 08 00 01 flowrate 342 5 2025 08 13 08 00 02 flowrate 341 8 2025 08 13 08 00 03 flowrate 343 0 these values are stored in the time series database and can later be used in visualizations, kpis, event detection, or reporting when you use it as a user, you typically don't directly interact with the time series database instead, you use its data through dashboards and trend views historical analysis tools apis and data exports calculations that process values over time understanding the role of the tsdb helps in interpreting system behavior, especially regarding data retention, aggregation, or performance common misconceptions the tsdb is not a general purpose database it is optimized for sequential data and efficient reads over time windows although you can store arbitrary metadata as tags, this has several disadvantages see tags & labels docid\ zb70hnsdfnj3sj42myjxi each measurement is stored in a format that favors write performance and time based queries, not complex joins best practices retrieve data through the factry historian rest api, and not directly through the underlying database however, the underlying databases can be queried if needed avoid unnecessarily high storage frequency, but collect only what you need use aggregations and downsampling where appropriate to reduce query load more information creating a time series database connection docid\ sq5uvlchyg7umi930nyml updating or deleting a time series database connection docid\ ohmarp1wzthozshgvidfq