InfluxDB explained

Glossary

Database
A logical container for users, retention policies, continuous queries, and time series data.
Measurement
Analogous to an SQL table, houses a collection of points
Field
Key-value pair of a field name and its associated value. Fields are always associated with a timestamp
Tag
Similar to fields, except Tags are indexed and so can be used to search much quicker
Point
A field set, tag set, timestamp, and the measurement that this point belongs to
Series
A container for a measurement and retention policy, together with a tag set. The values in the tag set will be used to filter only points from the measurement that match the tag set of the series

Heirarchy

Database: campus_data

Contains many measurements:

Measurement: campus_animals

Contains many points:

2019/11/04 13:55:32 ducks=5 geese=4 campus=west
2019/11/04 14:00:07 geese=40 rabbits=2 campus=east
2019/11/04 14:05:24 ducks=6 geese=20 rabbits=1 campus=west
2019/11/04 14:10:49 geese=15 rabbits=50 campus=east

Measurement: datacenter_metrics

Contains many points:

2019/11/04 00:00:00 temperature=20.1 power=1043 datacenter=tfta zone=1
2019/11/04 00:00:01 temperature=18.9 power=987 datacenter=tfta zone=2
2019/11/04 00:00:01 temperature=23.4 power=1301 datacenter=bs
2019/11/04 00:00:02 temperature=25.1 power=1424 datacenter=tfta zone=3

Series: westcampus_animals

campus_animals

campus=west

2019/11/04 13:55:32 ducks=5 geese=4 campus=west
2019/11/04 14:05:24 ducks=6 geese=20 rabbits=1 campus=west

IRC logs with User_4575

23:31 ldm what I'd really like to understand is the _heirarchy_
23:32 User_4574 hierarchy?
23:32 ldm in SQL-like DBs, you have a database, which contains many tables, each of which have a schema (column definition) and rows, each row has a set number of key-value pairs that correspond to the column definition
23:32 User_4574 right
23:32 ldm in influx, I can't tell which is "nested" inside which
23:35 User_4574 so, sort of, but not really, because it's sqlike not sql, you have databases (databases) which contain series (tables) which contain fields (columns)
23:35 ldm okay, where do measurements come into it?
23:35 User_4574 rows, sorta
23:36 ldm what's the caveat that makes it a sorta?
23:37 User_4574 sorry, i got that the wrong, this is exactly what confuses me
23:37 User_4574 measurements are tables, not rows
23:37 ldm aha that's fair
23:37 User_4574 and a "series" is the weird one
23:37 User_4574 it kind of encapsulates the measurement with a tagset and a retention policy
23:38 User_4574 https://docs.influxdata.com/influxdb/v1.7/concepts/key_concepts is a really good overview
23:39 User_4574 a *point* is a row
23:39 ldm User_4574: I hadn't read ^ enough times for it to fully sink in :D
23:39 ldm ah okay
23:39 User_4574 i try to remember it in terms of the queries you make
23:40 ldm > A point represents a single data record that has four components: a measurement, tag set, field set, and a timestamp. A point is uniquely identified by its series and timestamp.
23:40 User_4574 yeah
23:40 ldm so it has a measurement in that it "belongs to" or is "part of" that measurement
23:40 User_4574 so a series is a measurement with some tags and an RP
23:40 ldm the tag and field sets are the "y" values at x = timestamp
23:41 ldm okay, here's more confusion
23:41 ldm why does the series have tags
23:41 ldm but the points also have tags
23:41 User_4574 a series is SORT of like a view as i see it
23:41 User_4574 so a point has tags
23:42 User_4574 and the series is like "create view select fields from measurement where tag = thing and tag = otherthing"
23:42 User_4574 I THINK
23:42 User_4574 that is my understanding
23:43 ldm ahh got you
23:44 ldm so if you have a measurement of number of geese on campus
23:44 ldm a point in that measurement might be (field) geese = 100 (tag) campus = west
23:44 ldm and another might be (field) geese = 40 (tag) campus = east
23:45 User_4574 yes
23:45 ldm you would create a series which is that measurement but you _set_ the campus = east
23:45 ldm and the points that belong to that series would only show geese on east
23:45 User_4574 im just looking at it and im becoming increasingly concerned that series arent actually things
23:45 ldm 😂
23:46 User_4574 they're just a thing you can imagine, not a concrete thing in the db
23:46 ldm yeah
23:46 User_4574 influx is stupid.
23:46 ldm Well, I now understand it a lot better, so thank you for that!
23:46 User_4574 fields are the things you're measuring, and tags are the metadata for those... measurements...
23:47 ldm series are not part of the data storage but can be useful to the application to save it some collation
23:47 User_4574 you could "INSERT campus_animals,campus=west geese=100,ducks=200"
23:48 ldm A series doesn't have a tag key so any series you'd create from campus_animals would always have the geese and ducks results
23:49 ldm I think?
23:49 ldm So you can "filter" by tags but not by present fields
23:49 User_4574 but you can select which fields you want
23:49 User_4574 SELECT geese FROM campus_animals WHERE campus=west
23:49 ldm ah and it won't return points for null-valued ones
23:49 User_4574 i believe not