⚠️ Work in Progress ⚠️
A benchmark on clickhouse bulk insertion for thousands of rows with JSONEachRow. (in different languages). Languages to be tested:
- Rust
- Go
- Python
- Java
- Scala
- Swift
This way I'll be able to decide wich language (and sdk) is better for my thesis log parsing and insertion component.
- id (uuid)
- devEui (String)
- device_name (String)
- metric_id (Int64)
- metric_name (String)
- metric_type (String)
- value (String)
- event_time (DateTime64)
Insert one by one 5000 and 10 000 logs into clickhouse.
Insert in bulk 5000 and 10 000 logs into clickhouse.
| Language | SDK | Payload Size | Time 1 | Time 2 | Time 3 |
|---|---|---|---|---|---|
| Rust | clickhouse-rs | 5000 | |||
| Rust | clickhouse-rs | 10000 | |||
| Go | clickhouse-go | 5000 | |||
| Go | clickhouse-go | 10000 | |||
| Go | ch-go | 5000 | |||
| Go | ch-go | 10000 | |||
| Java | JDBC | 5000 | |||
| Java | JDBC | 10000 | |||
| Java | Client | 5000 | |||
| Java | Client | 10000 | |||
| Python | clickhouse-connect | 5000 | 0.051 | 0.040 | 0.047 |
| Python | clickhouse-connect | 10000 | 0.090 | 0.089 | 0.072 |