influxdata / influxdata/telegraf
feat(outputs.sql): add new output target kaiwudb-lite
- Dominant language
- Go
- Stars
- 17.8k
- Forks
- 5.8k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 161
Description
## Proposal
Introduce a new output target `kaiwudb-lite` for plugin `outputs.sql` that allows writing metrics into the KaiwuDBLite (kaiwudb-lite) database.
## Motivation
KaiwuDBLite is a lightweight, high-performance time-series and analytics database designed for edge and embedded environments. Add support for KaiwuDBLite and introduce `enable_compact_schema` mode to allow storing tags as JSON/MAP and fields as JSON.
## Features
- Support for both compact schema (timestamp + tags JSON/MAP + fields JSON) and expanded schema (dedicated columns for tags and fields).
- Configurable table creation, existence check, and update templates.
- Type conversion mapping from Telegraf metric types to KaiwuDBLite SQL types.
- Batch transactions support.
## Example Configuration
```toml
[[outputs.sql]]
driver = "kaiwudb-lite"
data_source_name = "host=127.0.0.1 port=36257 user=admin database=metadata"
enable_compact_schema = true
multi_row_insert = true
```
Contributor guide
Research direction
Start by locating the outputs.sql plugin entry point and reviewing how its current output targets are configured. Compare the proposal's compact and expanded schemas, table templates, type mappings, and batch transactions with existing behavior; done means kaiwudb-lite accepts the shown configuration and supports each listed feature.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, sql
- Domain
- database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100