Data Model: Points, Tags & Cardinality
Points, Measurements, Tags & Fields
A point is a measurement name + tag set + field set + timestamp — the fundamental write unit, roughly a "row." A measurement (roughly a "table") groups related series, e.g. "cpu_usage."
# line protocol
cpu_usage,host=server01,region=us-west value=64.2 1633024800000000000
# ^^^^^^^^^^^^^^^^^^^^^^^^ tags (indexed) ^^^^^ field (not indexed)Tags are indexed, string-only metadata for filtering/grouping (host, region). Fields hold the actual measured values and are NOT indexed. Filtering by a tag uses the index (fast); filtering by a field scans directly (slower) — this asymmetry drives all tag/field modeling decisions.
Series Cardinality
Every unique measurement + tag-set combination is a distinct series. Putting a high-cardinality value (a unique request ID, a raw sensor reading) into a tag instead of a field can explode series count and degrade both write and query performance — the single most common InfluxDB modeling mistake.
Buckets (2.x) vs. Database + Retention Policy (1.x)
InfluxDB 2.x's bucket combines what 1.x split into a separate database + retention policy into one named storage location with its own retention duration.
Batching Writes
Sending one write request per point wastes per-request overhead at high write volumes — batch many points into a single write request to significantly improve throughput.
Keep your own version of these notes — editable, searchable, and organised by your stack.
Start free