Schema-less problem


#1

Hi
Influxdb is a scheama-less and it means if we try to feed up data through UDP, it will store data as soon as received.
But problem occured when we define a pattern like this:
influxdb.measure1.fields.tags

Everything okay till sender follow above rule, but if sender send something like this:

influxdb…measure1.fields.tags

All data will be messed up!

Now the question is how can I prevent these kind of issue and create certain rule that if source of data sender , send wrong pattern prevent to write into the influxdb ?

Should I need to use tool (e.g telegraf) which tool can solve this problem? and how?

Thanks,


#2

The data format in InfluxDB does not use period-delineated strings. The examples:

influxdb.measure1.fields.tags

and

influxdb...measure1.fields.tags

do not make sense in the context of InfluxDB. Data in InfluxDB is represented as a measurement, with associated fields and tags. The key concepts documentation has a good overview of these ideas. The best way to represent that data is using Line Protocol, as follows:

measurement1,tag1=location1 value1=10

That means that it would be possible for a user to write a value as follows:

measurement1,tag_1=location1 value1=10

where the tag key is different from the first example. These would show up as two tag keys in the database. There is no way to enforce a schema within the database; the best way to make sure that your tag and field keys are consistent is to deal with that at the application level.