https://github.com/questdb/qdb-blaster
Blast QuestDB with test data
https://github.com/questdb/qdb-blaster
Last synced: 4 months ago
JSON representation
Blast QuestDB with test data
- Host: GitHub
- URL: https://github.com/questdb/qdb-blaster
- Owner: questdb
- License: apache-2.0
- Created: 2025-08-11T11:51:58.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T17:36:09.000Z (5 months ago)
- Last Synced: 2025-08-11T19:30:53.601Z (5 months ago)
- Language: Rust
- Size: 27.3 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qdb-blaster
Blast QuestDB with test data.
* Send data to multiple tables over ILP.
* Each table has a pool of threads.
* The data is randomly generated.
## Set up your database
For ingestion, in enterprise you need to set up appropriate users and permissions
```sql
CREATE USER test_user WITH PASSWORD 'pass';
GRANT HTTP, PGWIRE TO test_user;
GRANT CREATE TABLE TO test_user;
GRANT ADD COLUMN, INSERT ON ALL TABLES TO test_user;
GRANT SELECT ON ALL TABLES TO test_user;
GRANT DROP TABLE ON ALL TABLES TO test_user;
GRANT SELECT ON ALL TABLES TO test_user;
GRANT HTTP TO test_user;
GRANT CREATE TABLE TO test_user;
GRANT ADD COLUMN, INSERT ON ALL TABLES TO test_user;
-- for ILP/HTTP
ALTER USER test_user CREATE TOKEN TYPE REST WITH TTL '3650d';
-- for ILP/TCP
CREATE SERVICE ACCOUNT test_ilp_user;
GRANT CREATE TABLE TO test_ilp_user;
GRANT ILP TO test_ilp_user;
GRANT INSERT, ADD COLUMN ON ALL TABLES TO test_ilp_user;
ALTER SERVICE ACCOUNT test_ilp_user CREATE TOKEN TYPE JWK;
```
## Configuring the blaster
* Copy a config.
* Alter the connection settings adding in any tokens and passwords as appropriate.
* Generate the config with a script if too big (see `gen_big_toml.py`)
## Running the blaster
```
cargo run --release path_to_config.toml
```