I don't consider TimescaleDB to be a serious contender as long as I need a 2000 line script to install functions and views to have something essential for time-series data like dimensions:
https://github.com/timescale/timescale-prometheus/blob/maste...
https://github.com/timescale/timescale-prometheus/blob/maste...
(TimescaleDB engineer here). This is a really unfair critique.
The project you cite is super-optimized for the Prometheus use-case and data model. TimescaleDB beats InfluxDB on performance even without these optimization. It's also not possible to optimize in this way in most other time-series databases.
These scripts also work hard to give users a UIUX experience that mimicks PromQL in a lot of ways. This isn't necessary for most projects and is a very specialized use-case. That takes up a lot of the 2000 lines you are talking about.
> TimescaleDB beats InfluxDB on performance even without these optimization
Would you mind sharing the schema used for this comparison? Maybe I missed it in your documentation of use-cases. When implementing dynamic tags in my own model, my tests showed that your approach is very necessary.
Pretty much it's a table with time, value, tags_id. Where the tags table is id, jsonb