Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
78f2a4c
Add onboarding guide for InfluxDB v3
trevorbonas May 22, 2026
1e2cff7
Add InfluxDB v2 onboarding guide
trevorbonas May 22, 2026
c03c078
Add schema-design.md for InfluxDB v2
trevorbonas May 26, 2026
db88bf1
Merge branch 'main' of github.com:Bit-Quill/mcp into influxdb-power-s…
trevorbonas May 28, 2026
57535aa
docs(timestream-influxdb-mcp-server): Add InfluxDB v2 and v3 query an…
trevorbonas Jun 3, 2026
1585ddc
docs(timestream-influxdb-mcp-server): Add migration guides and versio…
trevorbonas Jun 10, 2026
be25700
docs(timestream-influxdb-mcp-server): Add dashboard guides for v2 and…
trevorbonas Jun 11, 2026
7e99bdb
Update POWER.md, glossary.md, troubleshooting.md, and troubleshooting.md
trevorbonas Jun 11, 2026
cc40c47
Refine POWER.md, direct users to ingestion files for line protocol
trevorbonas Jun 11, 2026
d4fd993
Populate line-protocol.md
trevorbonas Jun 11, 2026
e15720f
Rename power to kiro_power and populate README.md
trevorbonas Jun 11, 2026
54ecf1a
Fix incorrect links in README.md
trevorbonas Jun 11, 2026
b5551bb
Add more links in getting-started.md
trevorbonas Jun 11, 2026
9dedf6b
Populate troubleshooting guides
trevorbonas Jun 11, 2026
ed3c4ef
Fix InfluxDB v3 max tables, database, and column limits
trevorbonas Jun 11, 2026
852bbd8
Add backlinks to ingestion documents for line protocol
trevorbonas Jun 11, 2026
f876e8c
Cover parameter group casing
trevorbonas Jun 11, 2026
cca2722
Update src/timestream-for-influxdb-mcp-server/README.md
trevorbonas Jun 11, 2026
994ad79
Add more details about MCP setup
trevorbonas Jun 11, 2026
7e21f28
Merge branch 'influxdb-power-schema' of github.com:Bit-Quill/mcp into…
trevorbonas Jun 11, 2026
08f9ce2
Add InfluxDB v2 parameters.md
trevorbonas Jun 12, 2026
0b14914
Add note about read replica deployment in parameters.md
trevorbonas Jun 12, 2026
cd68a89
Change migration guides to describe migrating to a version not from
trevorbonas Jun 12, 2026
f7d62e4
Fix 422 status codes being inaccurate for v3
trevorbonas Jun 15, 2026
a9f905f
Fix broken bold styling in glossary.md
trevorbonas Jun 15, 2026
035b7de
Change wording of turnkey phrase
trevorbonas Jun 15, 2026
ccc9c54
Add more information about overcoming Core limitations
trevorbonas Jun 15, 2026
92a2e89
Document Core vs Enterprise features
trevorbonas Jun 15, 2026
4ab2d56
Fix table rendering for Core vs Enterprise table
trevorbonas Jun 15, 2026
9e9732b
Add header link for Core vs Enterprise section
trevorbonas Jun 15, 2026
4553404
Move mention of v2 422 status code to influxdb-2-vs-3.md
trevorbonas Jun 15, 2026
d52b3a1
Clarify 400 HTTP status code differences
trevorbonas Jun 15, 2026
654b59e
Remove mention of table limit for v2
trevorbonas Jun 15, 2026
79dabe7
Fix incorrect reference to Core table limits
trevorbonas Jun 15, 2026
5cb603b
Specify Enterprise-only parameter options
trevorbonas Jun 15, 2026
11a1023
Use Token authentication in v2 writes
trevorbonas Jun 15, 2026
391b08f
Remove inaccurate description of storage not being updatable
trevorbonas Jun 16, 2026
83c94ed
Remove all references to InfluxDB v2 storage not being updatable
trevorbonas Jun 16, 2026
9f39d19
Link to v2 vs v3 guide for v2 schema guide
trevorbonas Jun 16, 2026
776c42d
Remove mention of v2 in v3 troubleshooting guide
trevorbonas Jun 16, 2026
5aecc05
Recommend Bearer token for v2 HTTP API calls
trevorbonas Jun 17, 2026
f353573
Link to LA to V3 migration plugin
trevorbonas Jun 17, 2026
09ecaf0
Note that SELECT count(*) is expensive
trevorbonas Jun 17, 2026
a52fe97
Remove note that Core does not have a processing engine
trevorbonas Jun 17, 2026
5ebeef1
Refine note for processing engine triggers
trevorbonas Jun 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 68 additions & 3 deletions src/timestream-for-influxdb-mcp-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ An AWS Labs Model Context Protocol (MCP) server for Timestream for InfluxDB. Thi
- You need an AWS account with appropriate permissions
- Configure AWS credentials with `aws configure` or environment variables
- Consider starting with Read-only permission if you don't want the LLM to modify any resources
4. *(Only for InfluxDB v3 data operations)* Install **Node.js ≥ 20.11** — required to build and run the separate InfluxDB 3 MCP server (see [InfluxDB v3 data operations](#influxdb-v3-data-operations)).

## Installation

Expand Down Expand Up @@ -48,6 +49,8 @@ You can modify the settings of your MCP client to run your local server (e.g. fo
}
}
```
> **Note:** The `INFLUXDB_URL` / `INFLUXDB_TOKEN` / `INFLUXDB_ORG` variables are **optional** and apply to **InfluxDB v2** data operations only (default port **8086**). Control-plane tools (clusters, instances, parameter groups, tags) work with AWS credentials alone. For **InfluxDB v3** data operations (port 8181), see [InfluxDB v3 data operations](#influxdb-v3-data-operations).

### Windows Installation

For Windows users, the MCP server configuration format is slightly different:
Expand Down Expand Up @@ -93,8 +96,7 @@ The Timestream for InfluxDB MCP server provides the following tools:
- `DeleteDbCluster`: Delete a Timestream for InfluxDB database cluster
- `ListDbClusters`: List all Timestream for InfluxDB database clusters
- `UpdateDbCluster`: Update a Timestream for InfluxDB database cluster
- `ListDbClusters`: List all Timestream for InfluxDB database clusters
- `ListDbInstancesForCluster`: List DB instances belonging to a specific cluster
- `LsInstancesOfCluster`: List DB instances belonging to a specific cluster

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

are these typos or did this actually change? same as below on 108

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is accurate.

In Kiro, /tools shows this (excerpt):

Name                         Source                                          Status                Description
 CreateDbParamGroup           mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 DeleteDbCluster              mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 DeleteDbInstance             mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 GetDbCluster                 mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 GetDbInstance                mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 GetDbParameterGroup          mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBCreateBucket         mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBCreateOrg            mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBListBuckets          mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBListOrgs             mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBQuery                mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBWriteLP              mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 InfluxDBWritePoints          mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 ListClustersByStatus         mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 ListDbClusters               mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 ListDbInstances              mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 ListDbParamGroups            mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 ListTagsForResource          mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 LsInstancesByStatus          mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 LsInstancesOfCluster         mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...
 TagResource                  mcp:awslabs.timestream-for-influxdb-mcp-server  ◌ approval required   (MCP tool from...

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you take a look at the inconsistency with the MCP and figure out what's outdated?
https://github.com/awslabs/mcp/tree/main/src/timestream-for-influxdb-mcp-server#database-instance-management

and have you tried invoking those tools to see if it works?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Their README is incorrect. From what I see, the inconsistencies are just those two, LsInstancesByStatus and LsInstancesOfCluster.

I've tested these tools, by asking Kiro to use them, and they work:

● LsInstancesOfCluster
    ╰ db_cluster_id=x6zd85hgol
    {
      "content": [
        {
    ...+67 lines (ctrl+o to toggle)

- `ListClustersByStatus`: List DB clusters filtered by status

##### Database Instance Management
Expand All @@ -103,7 +105,7 @@ The Timestream for InfluxDB MCP server provides the following tools:
- `DeleteDbInstance`: Delete a Timestream for InfluxDB database instance
- `ListDbInstances`: List all Timestream for InfluxDB database instances
- `UpdateDbInstance`: Update a Timestream for InfluxDB database instance
- `ListDbInstancesByStatus`: List DB instances filtered by status
- `LsInstancesByStatus`: List DB instances filtered by status

##### Parameter Group Management
- `CreateDbParamGroup`: Create a new DB parameter group
Expand Down Expand Up @@ -131,3 +133,66 @@ The Timestream for InfluxDB MCP server provides the following tools:
##### Organization Management
- `InfluxDBListOrgs`: List all organizations in InfluxDB
- `InfluxDBCreateOrg`: Create a new organization in InfluxDB

## InfluxDB v3 data operations

This MCP server covers the **AWS control plane** (clusters, instances, parameter groups, tags) and **InfluxDB v2 data** operations (Flux query, writes, buckets, organizations). **InfluxDB v3 data operations** (SQL queries, v3 schema, v3 token management) are provided by a separate, InfluxData-maintained MCP server: [`influxdata/influxdb3_mcp_server`](https://github.com/influxdata/influxdb3_mcp_server). The [Kiro Power](#kiro-power)'s `kiro_power/mcp.json` references both servers.

### Set up the InfluxDB 3 MCP server

Requires **Node.js ≥ 20.11**. It is not published to npm yet, so clone and build it (or use the Docker option in its README):

```bash
git clone https://github.com/influxdata/influxdb3_mcp_server.git
cd influxdb3_mcp_server
npm install
npm run build # produces build/index.js
```

Then add it to your MCP client config alongside this server:

```json
{
"mcpServers": {
"influxdb3": {
"command": "node",
"args": ["/absolute/path/to/influxdb3_mcp_server/build/index.js"],
"env": {
"INFLUX_DB_INSTANCE_URL": "https://your-influxdb-v3-endpoint:8181/",
"INFLUX_DB_TOKEN": "your-influxdb-v3-token",
"INFLUX_DB_PRODUCT_TYPE": "core"
}
}
}
}
```

- `INFLUX_DB_PRODUCT_TYPE`: use `core` for a single-node V3 cluster, `enterprise` for multi-node.
- If the `node` on your PATH is older than 20.11, point `command` at an absolute path to a Node ≥ 20.11 binary.

See the [InfluxDB 3 MCP server README](https://github.com/influxdata/influxdb3_mcp_server) for Cloud Dedicated/Clustered/Serverless variants and the full tool list.

## AI Rules

This repository also contains AI Rules (Steering). These markdown files serve as simple
context and guidance for best practices and patterns that AI assistants automatically apply
when generating code to improve the quality of agentic development.

Recommended path:
* [Kiro Power](#kiro-power) - button-click installation

Alternative:
The [Timestream for InfluxDB power](https://github.com/awslabs/mcp/tree/main/src/timestream-for-influxdb-mcp-server/kiro_power/) can also be cloned into your tool's respective `rules` directory
for use with other coding assistants.

### Kiro Power

To setup the Kiro power:
1. Install directly from the [Kiro Powers Registry](https://kiro.dev/launch/powers/amazon-timestream-for-influxdb/)
2. Once redirected to the Power in the IDE either:
1. Select the **`Try Power`** button. Suggested for people who want:
- The AI to guide MCP server setup
- An interactive onboarding experience with Timestream for InfluxDB to create a new instance or cluster
2. Open a new Kiro chat and ask anything related to Timestream for InfluxDB
- The Kiro agent will automatically activate the power if it identifies the power as valuable for completing
the user's task.
135 changes: 135 additions & 0 deletions src/timestream-for-influxdb-mcp-server/kiro_power/POWER.md
Comment thread
fredjoonpark marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
---
name: "amazon-timestream-for-influxdb"
displayName: "Build a Time-Series Database with Amazon Timestream for InfluxDB"
description: "Query and analyze time-series data with Amazon Timestream for InfluxDB - built for IoT monitoring, DevOps metrics, real-time analytics, and high-cardinality data at scale. Deploy v2 and v3 instances, manage schemas, handle migrations and more."
keywords: ["influxdb","timestream","time-series","iot","observability","metrics","monitoring","devops","analytics","sql","telemetry"]
author: "AWS"
---

# Amazon Timestream for InfluxDB Power

## Overview
The Amazon Timestream for InfluxDB Power provides access to Amazon Timestream for InfluxDB, a fully managed time-series database service compatible with InfluxDB 2 and InfluxDB 3. InfluxDB is purpose-built for high-ingest, high-cardinality workloads such as IoT telemetry, observability, metrics, and real-time analytics.

This Power enables you to deploy and operate Timestream for InfluxDB instances and clusters, write and query time-series data using InfluxDB APIs and query languages, and manage schemas, retention, and migrations while leveraging AWS-managed scaling, durability, and security.

- **Dual Version Support**: Deploy and manage both InfluxDB 2 and InfluxDB 3 instances and clusters

- **Multi-Protocol Query Support**: Run Flux, InfluxQL, or SQL queries directly against your Timestream for InfluxDB instance

- **Ingest Line Protocol**: Write high-throughput time-series data using InfluxDB's native line protocol

- **Migration Support**: Handle migrations across InfluxDB versions

- **Schema Management**: Create and manage buckets/databases, measurements/tables, and retention policies


## Available Steering Files

- `getting-started.md` - InfluxDB guidelines and operational Rules
- ALWAYS load before implementing schema changes or database operations
- MAY load when planning database application design

- `influxdb-2-vs-3.md` - Highlights key differences between InfluxDB 2 and 3
- ALWAYS load when there is ambiguity in InfluxDB versions
- ALWAYS load on migrations between InfluxDB 2 and 3

- `glossary.md` - Glossary of terms related to InfluxDB
- SHOULD load when there is vagueness in terminology or overlapping concepts

- `troubleshooting.md` - Common errors while working with InfluxDB and how to solve them
- SHOULD load on errors or when debugging

- `line-protocol.md` - Details the text-based format used when writing to InfluxDB v2 and v3
- SHOULD load when writing or using line protocol

- `influxdb3/`
- `development-guide.md` - Contains guide for managing instances/clusters, queries/writes, example workflows
- `query-guide.md` - Query examples (SQL, InfluxQL)
- `troubleshooting.md` - Common errors in InfluxDB 3 and how to solve them
- `migrations.md`
- ALWAYS load when migrating TO Timestream for InfluxDB 3 from another source
- Timestream for LiveAnalytics -> Timestream for InfluxDB 3
- Timestream for InfluxDB (2) -> Timestream for InfluxDB 3
- InfluxDB v1 -> Timestream for InfluxDB 3
- InfluxDB OSS 2.x -> Timestream for InfluxDB 3
- `dashboard-guide.md` - Generate grafana dashboards and visualizations
- SHOULD load when building Grafana dashboards or visualizations
- `schema-design.md` - Schema modeling: tables, tags vs. fields, cardinality
- ALWAYS load when designing or modifying schema (table/tag/field choices, cardinality planning)
- `ingestion.md` - Data ingestion & writing: line protocol, batching, write endpoints
- ALWAYS load when writing data or ingesting via line protocol
- `parameters.md` - InfluxDBv3 Core/Enterprise parameter reference and duration formats
Comment thread
fredjoonpark marked this conversation as resolved.
- SHOULD load when configuring or tuning cluster/database parameters
- `gotchas.md` - Common gotchas & pain points: batching, cardinality, replica lag, limits
- SHOULD load when ingesting at scale or diagnosing performance/limit issues
- `onboarding.md` - Interactive get-started: provision cluster, retrieve token, first write/query
- SHOULD load when getting started or provisioning a new cluster

- `influxdb2/`
- `development-guide.md` - Contains guide for managing instances/clusters, queries/writes, example workflows
- `query-guide.md` - Query examples (Flux, InfluxQL)
- `troubleshooting.md` - Common errors in InfluxDB 2 and how to solve them
- `migrations.md`
- ALWAYS load when migrating TO Timestream for InfluxDB 2 from another source
- InfluxDB OSS 2.x -> Timestream for InfluxDB (2)
- InfluxDB v1 -> Timestream for InfluxDB (2)
- Timestream for LiveAnalytics -> Timestream for InfluxDB (2)
- `dashboard-guide.md` - Generate grafana dashboards and visualizations
- SHOULD load when building Grafana dashboards or visualizations
- `schema-design.md` - Schema modeling: buckets/measurements, tags vs. fields, cardinality
- ALWAYS load when designing or modifying schema (measurement/tag/field choices, cardinality planning)
- `ingestion.md` - Data ingestion & writing: line protocol, batching, write endpoints
- ALWAYS load when writing data or ingesting via line protocol
- `parameters.md` - InfluxDBv2 parameter reference
- SHOULD load when configuring or tuning instance parameters
- `gotchas.md` - Common gotchas & pain points: cardinality, batching, limits
- SHOULD load when ingesting at scale or diagnosing performance/limit issues
- `onboarding.md` - Interactive get-started: provisioning through first write and query
- SHOULD load when getting started or provisioning a new instance


## Available MCP Tools

1. [Timestream for InfluxDB MCP Server](https://github.com/awslabs/mcp/tree/main/src/timestream-for-influxdb-mcp-server#available-tools)

The Timestream for InfluxDB MCP server provides tools for managing Amazon Timestream for InfluxDB clusters, instances, and parameter groups, along with InfluxDB-specific operations for writing data, querying with Flux, and managing buckets and organizations.

2. [InfluxDB 3 MCP Server](https://github.com/influxdata/influxdb3_mcp_server?tab=readme-ov-file#available-tools)

The InfluxDB 3 MCP Server provides tools for data operations (read/write), database lifecycle management (create/update/delete), schema inspection, and authentication token management across all InfluxDB versions (Core, Enterprise, Cloud).


## Configuration

#### Timestream for InfluxDB MCP

Prerequisites:
- A configured AWS profile
- (Optional) Provide instance (or cluster) details:
- `INFLUXDB_URL`: "https://your-influxdb-2-endpoint:8086"
- `INFLUXDB_TOKEN`: "your-influxdb-2-token"
- `INFLUXDB_ORG`: "your-influxdb-org"

Note that this MCP server can be used to deploy both instances (V2) and clusters (V2, V3).

#### InfluxDB 3 MCP

Prerequisites:
- Set up the InfluxDB 3 MCP Server. [See here](https://github.com/influxdata/influxdb3_mcp_server?tab=readme-ov-file#2-integration-with-mcp-clients) for instructions.
- An existing InfluxDB 3 instance (or cluster). The following details are required:
- `INFLUX_DB_INSTANCE_URL`: "https://your-influxdb-3-endpoint:8181"
- `INFLUX_DB_TOKEN`: "your-influxdb-3-token"
- `INFLUX_DB_PRODUCT_TYPE`: "core"

> See [mcp.json](./mcp.json) for an example configuration.

## Additional Resources

- [Timestream for InfluxDB 3](https://docs.aws.amazon.com/timestream/latest/developerguide/influxdb3.html)
- [Timestream for InfluxDB (InfluxDB 2)](https://docs.aws.amazon.com/timestream/latest/developerguide/timestream-for-influxdb.html)
- [Code Samples Repository](https://github.com/awslabs/amazon-timestream-tools)

#### MCP Servers
- [Amazon Timestream for InfluxDB MCP Server](https://github.com/awslabs/mcp/tree/main/src/timestream-for-influxdb-mcp-server) (Apache-2.0 license)
- [InfluxDB 3 MCP Server](https://github.com/influxdata/influxdb3_mcp_server/tree/main) (Apache-2.0 license)
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

Timestream for InfluxDB is the PREFERRED time-series database. This decision was made for handling high-ingest, high-cardinality workloads among other advantages.

For all documentation and guides related to InfluxDB 3 (Timestream for InfluxDB 3), refer to the documentation in the `influxdb3` directory.
For all documentation and guides related to InfluxDB 3 (Timestream for InfluxDB 3), refer to the documentation in the [`influxdb3`](./influxdb3) directory.

For all documentation and guides related to InfluxDB 2 (Timestream for InfluxDB), refer to the documentation in the `influxdb2` directory.
For all documentation and guides related to InfluxDB 2 (Timestream for InfluxDB), refer to the documentation in the [`influxdb2`](./influxdb2) directory.

## Best Practices

- SHOULD ask user about which version of InfluxDB they are using if not specified.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's include onboarding guides here for as well, as it's the main getting started doc

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added.

- SHOULD refer to `influxdb-2-vs-3` when working across both versions.
- SHOULD refer to `line-protocol.md` when dealing with Line Protocol.
- SHOULD refer to [`influxdb-2-vs-3.md`](./influxdb-2-vs-3.md) when working across both versions.
- SHOULD refer to [`line-protocol.md`](./line-protocol.md) when dealing with Line Protocol.


## Troubleshooting
Expand Down
Comment thread
fredjoonpark marked this conversation as resolved.
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Glossary

Terms used across Amazon Timestream for InfluxDB (v2 and v3). Where a term differs
between versions, the version is noted. For a fuller treatment of version
differences, see [influxdb-2-vs-3.md](./influxdb-2-vs-3.md).

## Version & terminology map

InfluxDB 2 (Timestream for InfluxDB) and InfluxDB 3 (Timestream for InfluxDB 3)
name several concepts differently:

| InfluxDB 2 | InfluxDB 3 | Notes |
|---|---|---|
| Organization (`org`) | — (no orgs) | V3 has no organization concept |
| Bucket | Database (`db`) | Top-level write/query namespace |
| Measurement | Table | A measurement becomes a table in V3 (auto-created on first write) |
| Flux / InfluxQL | SQL / InfluxQL | V3 has no Flux; SQL is primary |
| Tasks (Flux) | Processing engine (Python) | Scheduled automation |
| TSM + TSI | Parquet on S3 + DataFusion | Storage + query engine |
| Port 8086 | Port 8181 | Default endpoint port |

## Data model

- **Line protocol** — InfluxDB's text format for writing data:
`measurement,tag=val field=1.0 timestamp`. Unchanged across versions. See
[line-protocol.md](./line-protocol.md).
- **Point** — a single data record: a measurement + tag set + field set + timestamp.
- **Measurement** (V2) / **Table** (V3) — logical container for points of the same
kind (e.g. `cpu`).
- **Tag** — indexed key/value metadata (e.g. `host=server01`), used for filtering and
grouping. High tag cardinality is the main driver of V2 performance limits.
- **Tag set** — the unique combination of all tag key/values on a point.
- **Field** — the measured value(s) (e.g. `usage=42.0`). Not indexed. Field type is
inferred on first write and then locked.
- **Field set** — all field key/values on a point.
- **Timestamp** — the time of a point; default precision is nanoseconds. Always specify
precision explicitly to avoid silent shifts.
- **Series** — a unique combination of measurement + tag set + field key.
- **Series cardinality** — the number of unique series. V2 (TSM/TSI) degrades above
~10M series; V3 is effectively unbounded.

## Namespaces & auth

- **Organization (org)** — V2-only top-level tenant that groups buckets.
- **Bucket** — V2 named container for data with a retention period; the write/query
target (`bucket`).
- **Database (db)** — V3 top-level namespace (replaces org/bucket).
- **Retention period / policy** — how long data is kept before it expires.
- **Token** — data-plane credential. V2 and V3 use `Authorization: Bearer <token>`.
Operator/all-access tokens differ in scope.
- **Control plane vs data plane** — the control plane (create/manage instances and
clusters) uses AWS SigV4/IAM; the data plane (read/write) is authorized only by the
engine token (IAM does not gate it).

## Engines & storage

- **TSM (Time-Structured Merge Tree)** — V2's on-disk storage engine.
- **TSI (Time-Series Index)** — V2's index over tags; large indexes drive memory use
and the cardinality limit.
- **Apache Parquet** — V3's columnar on-disk (S3) file format.
- **Apache DataFusion** — V3's SQL query engine/optimizer.
- **Apache Arrow / Arrow Flight SQL** — Arrow is V3's in-memory columnar format; Flight
SQL is its high-performance gRPC query protocol.
- **WAL (write-ahead log)** — durability buffer for recent writes before they are
persisted to Parquet.
- **Compaction** — background merging of files for query efficiency; V3 Enterprise can
use a dedicated compactor node.
- **Last Value Cache (LVC)** — V3 cache of the most recent value per field (fast
"last point" lookups).
- **Distinct Value Cache (DVC)** — V3 cache of unique tag/field values (fast metadata
lookups, e.g. template-variable queries).

## Query & automation

- **Flux** — V2's functional data-scripting language (primary in V2; absent in V3).
- **InfluxQL** — SQL-like legacy language; supported in both V2 and V3 (via a
compatibility endpoint).
- **SQL** — V3's primary query language (DataFusion).
- **Tasks** — V2 scheduled Flux scripts (downsampling, alerting).
- **Processing engine** — V3's embedded Python VM that runs plugins on schedule, HTTP invocation, or on
WAL-flush events (replaces V2 Tasks).
- **Telegraf** — InfluxData's plugin-based metrics collection agent; writes line
protocol to either version.

## Deployment

- **Instance** — V2 single-node deployment (`create-db-instance`); optionally with a
multi-AZ standby (failover only, does not serve reads).
- **Read-replica cluster** — V2 multi-node deployment that adds read-serving nodes
(adds a license fee).
- **Cluster** — V3's only deployment shape (`create-db-cluster`).
- **Core** — single-node V3 cluster; no dedicated compactor; best for
recent data. Uses an open-source binary with more limitations than Enterprise.
- **Enterprise** — multi-node V3 cluster (up to 15 nodes) with
role separation; adds a per-node AWS Marketplace license.
- **Parameter group** — immutable named set of engine parameters; change by creating a
new group and reassigning it (which triggers a reboot).
Loading
Loading