Advice howto structure my collected data

Hi,
i’m a sysadmin working for multiple companies. New to influxdb and telegraf i’m looking for some advice howto structure my data. All in one database? One database per company? Or keep i totally separated between the companies?
Maybe can give some advice from experience or link me a paper about this topic.
Thanks

Definitely not all in one database.

  • a customer might ask for a copy of their data one day - how do you strip
    out the other companies’ data before sending it to them?

  • it’s quite possibly in breach of some countries’ data protection laws

I don’t know what difference you mean between “one database per company” and
“totally separated between the companies” - please elaborate.

Antony.

Welcome @Gavilaan to the Influx forum.

Normally I would agree with @Pooh but the latest language of InfluxDB3 Enterprise says:

The database server contains logical databases, which have tables, which have columns. Compared to previous versions of InfluxDB you can think of a database as a bucket in v2 or as a db/retention_policy in v1. A table is equivalent to a measurement , which has columns that can be of type tag (a string dictionary), int64 , float64 , uint64 , bool , or string and finally every table has a time column that is a nanosecond precision timestamp.

In my v2 system (a single InfluxDB install set up on Ubuntu), we have dozens of buckets, each with their own retention scheme. We can delete and create new buckets as we wish. I would agree with @pooh that companies normally do not want their data shared, but maybe the nature of this data is such that they would not object.

source:

I could implement one vm per company with their own influxdb/grafana installation.

The database server contains logical databases … you can think of a
database as a bucket in v2

In my v2 system (a single InfluxDB install set up on Ubuntu), we have
dozens of buckets

So, if you have dozens of buckets, and a database can be thought of as a
bucket, this means you have dozens of databases.

Therefore you are not putting every customer’s data into one big database.

Antony.

I would say the question of “one VM per company” vs. “one server with one DB
per company” comes down to access controls.

You previously talked about influxDB and telegraf - now you have mentioned
Grafana - so you need either to run a Grafana instance per customer, with
appropriate access credentials for everyone who needs to work with it, or you
need to set up one big Grafana instance and set up access controls so that
each customer can only interact with their own dashboards and data sources.

I personally would feel far more comfortable with a separate Grafana instance
per customer, however depending on your expertise and confidence with setting
up Grafana’s access rights, a single system might be made to work well.

I do think it’s a different question from where to store the underlying data,
though.

Antony.

Thanks for the advice. I think i will start with one influxdb, one database per company and one vm with grafana per company. So i can make my first steps and have enough flexibility to change things later.
Gavilaan