time-series: QuestDB vs InfluxDB 3 vs TimescaleDB benchmark (post 25)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
# Brings up QuestDB 10.0.1, InfluxDB 3 Core 3.12.0 and TimescaleDB 2.25.1
|
||||
# (PG17), creates the InfluxDB 3 database + admin token, and exports
|
||||
# INFLUXDB3_TOKEN for the test run. Source this script, don't execute it:
|
||||
# source scripts/services-up.sh
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")/.."
|
||||
|
||||
docker compose up -d
|
||||
|
||||
echo "waiting for InfluxDB 3 Core..."
|
||||
until curl -sf http://localhost:8181/health >/dev/null 2>&1 || curl -s http://localhost:8181/health | grep -q error; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# create (or reuse) an admin token - regenerating is fine for a local sandbox
|
||||
TOKEN_OUTPUT=$(docker exec time-series-influxdb3-1 influxdb3 create token --admin 2>&1 || true)
|
||||
export INFLUXDB3_TOKEN=$(echo "$TOKEN_OUTPUT" | grep -oP '(?<=Token: )\S+' || true)
|
||||
if [ -z "${INFLUXDB3_TOKEN:-}" ]; then
|
||||
echo "could not parse a fresh token (one may already exist) - set INFLUXDB3_TOKEN manually" >&2
|
||||
else
|
||||
docker exec time-series-influxdb3-1 influxdb3 create database sensors --token "$INFLUXDB3_TOKEN" 2>&1 || true
|
||||
echo "INFLUXDB3_TOKEN exported for this shell."
|
||||
fi
|
||||
|
||||
echo "waiting for TimescaleDB..."
|
||||
until PGPASSWORD=postgres psql -h localhost -p 5433 -U postgres -d sensors -c '\q' 2>/dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "waiting for QuestDB..."
|
||||
until PGPASSWORD=quest psql -h localhost -p 8812 -U admin -d qdb -c '\q' 2>/dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "all three engines are up."
|
||||
Reference in New Issue
Block a user