OpenTSDB by default support up to 8 tags in a database (see here) and you can modify this in configuration. Since CnosDB is adopting similar tag-set model, is there any limit on the number of tags we can create in a single database here then?
I assume the limitation (if exists) is there to avoid the high series cardinality, which could lead to OOM, right?
By default, there are some settings about tags and series in config file.
max-series-per-database = 1000000
The maximum number of series allowed per database before writes are dropped. The default setting is 1000000. Change the setting to 0 to allow an unlimited number of series per database.If a point causes the number of series in a database to exceed max-series-per-database, CnosDB will not write the point, and it returns error.
max-values-per-tag = 100000
The maximum number of tag values allowed per tag key. The default value is 100000. Change the setting to 0 to allow an unlimited number of tag values per tag key. If a tag value causes the number of tag values of a tag key to exceed max-values-per-tag, then CnosDB will not write the point, and it returns a partial write error.Any existing tag keys with tag values that exceed max-values-per-tag will continue to accept writes, but writes that create a new tag value will fail.
The more tags you have, the more series you have. By default, you can't create unlimited series in a CnosDB instance. If you want to write more series and tags to a CnosDB instance, you can edit the config file and use the command cnosdb --config /config/file/directory
to import the config file. Then restart the CnosDB instance, the new config file will go into effect.
Click here for more information about the config file of CnosDB.