TL;DR InfluxDB Tech Tips – May 5, 2016

Regan Kuchan — May 4, 2016

In this post we recap the week’s most interesting InfluxDB and TICK-stack related issues, workarounds, how-tos and Q&A from GitHub, IRC and the InfluxDB Google Group that you might have missed.

Calculating your series cardinality

Q: Is series cardinality for a single measurement really just the product of the number of tag values per tag?

For example, I have a single measurement with the tags `firstname`, `lastname`, and `email`. If `firstname` has 5 different values, `lastname` has 5 different values, and `email` has 5 different values, then is my series cardinality 125 (5 * 5 * 5)?

A: Series cardinality for a single measurement is actually the number of the tag sets that exist.

Working with your example, if we have the tags `firstname`, `lastname`, and `email`, the total cardinality is purely driven by the email tag. Although there are many possible first and last names, a given email address will only ever have one associated first and last name (assuming no one ever changes their name.) `firstname` and `lastname` are dependent variables, and email is the independent variable, so your series cardinality is actually five.

If we then add `phone_number` as another tag, that is a semi-independent variable. Any given email may be associated with zero or more phone numbers, and each number might be associated with more than one email (phone numbers get recycled over time.) Adding `phone_number` will increase the series cardinality, but not in a purely multiplicative way. For most emails there will still be only one phone number, and vice versa.

Move data to a different database

Q: How can I move data from one database to another database in InfluxDB?

A: An `INTO` query can copy data from one measurement or database to another. For example, move data from the measurement `initial_meas` in the database old to the measurement `final_meas` in the database `new`:

> SELECT * INTO new."default".final_meas FROM old."default".initial_meas

For more on `INTO` queries, check out our documentation in Data Exploration.

New DELETE series functionality

Q: I’m having trouble removing some bad data. How can I delete data based on their timestamp?

A: In InfluxDB 013, users will be able to use `DELETE`. Unlike `DROP SERIES`, `DELETE` does not drop series from the index and it supports time intervals in the `WHERE` clause. For example, delete all data in the database that occur before January 01, 2016:

> DELETE WHERE time < '2016-01-01'

InfluxDB 0.13 is available in the nightly downloads.

For more InfluxDB tips, check out our Frequently Encountered Issues page and feel free to post your questions in the InfluxDB users group.

What’s next?

  • Download and get started with InfluxDB!
  • Attend one of our FREE virtual training seminars.
  • Got a question and need an immediate answer from the InfluxData Support team? Support subscriptions with unlimited incidents start at just $399 a month. Check out all the support options here.