Grafana with SQL Server Data Source - Performance

Hello,

My current use case is using Grafana with a SQL Server data source and now our solution will evolve, so we have some decision to do in order to avoid scalability and performance issues in the future.

After some research i am more confused with the right architecture to choose.

SQL Server Data

  • 3 000 000 rows per month.
  • 5 to 10 metrics per row.

Grafana Dashboards

  • Up to 20/30 panels visible at the same time.
  • Possible to use templating variables.

Question 1:
To those who have experience designing Grafana solutions, this requirements sounds easy to fullfill connecting directely Grafana to SQL Server datasource or i have to use some time series database in the middle like InfluxDB/Prometheus,etc?

Question 2:
Does the Grafana time window (1hour, 1weak, 1year…) may have huge performance impact?

Question 3:
Should I must be more concerned with data source architecture (add more power to sql server database) or with grafana queries optimization (aggregate data to avoid more than 100 data points per panel)?

I will appreciate if you want to share you architecture use case (data source and data volume) in order to know some limitations that i may found in the future.

Thanks all.

Personally I think that these are not very rough conditions,

I think PostgreSQL would be good, and even better if you use it with [TimeScaleDB] (https://www.timescale.com/) (plugin for postgres). You can also explore [CrateDB] (https://crate.io/) which is a SQL tool.

If you create a good database structure and indexes it, it will work. but in any case it is recommendable that you only bring necessary data for a previous analysis, and as you find abnormality you analyze your data more thoroughly.