influxdata / influxdata/telegraf

feat(outputs.sql): add new output target kaiwudb-lite

Open
#17,559 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.