Working with Time-Series Databases (TSDBs)

On This Page

The platform comes pre-deployed with the Iguazio V3IO TSDB library ("V3IO TSDB") for working with data in time-series databases (TSDBs). This library exposes a high-performance API for creating, updating, querying, and deleting time series databases, and comes with a complementary command-line interface (CLI) tool (tsdbctl) to simplify the use of this API. V3IO TSDB was developed by Iguazio as an open-source project. You can find the full V3IO TSDB source code in the public V3IO TSDB GitHub repository. For a seamless integration with the platform, the V3IO TSDB CLI is pre-deployed as part of the default platform installation.

As an alternative to the TSDB CLI, you can also use the TSDB APIs that are provided by the following pre-deployed platform application services:

  • V3IO Frames, which exposes a Python API. See the V3IO Frames TSDB-backend API reference
  • TSDB Nuclio functions, which exposes an API for ingesting TSDB data and submitting TSDB queries using Nuclio serverless functions. This API can be used from the dashboard's Projects | <project name> | Functions page, Docker, Git, or Jupyter Notebook. For more information, see the documentation in the v3io/tsdb-nuclio GitHub repository and the examples in the platform's tutorial Jupyter notebooks, which are available as part of the platform's Jupyter Notebook service.
    To use a Nuclio function to ingest data into a recreated TSDB table — i.e., a table that's created in the same path as a previously deleted TSDB table — note that it's not enough to suspend the ingestion into the table while it's being deleted and recreated; you must restart the function before ingesting data into to the newly created table.
For restrictions related to the platform's TSDB support, refer to the Software Specifications and Restrictions.

See Also