swarm64 / s64da-benchmark-toolkit

Swarm64 DA Benchmark Toolkit
https://swarm64.com/
MIT License
30 stars 12 forks source link

htap benchmark changes to evaluate columnstore improvements #110

Closed lucvlaming closed 3 years ago

lucvlaming commented 3 years ago
- introduce target TPS
- introduce global timestamp generation
- add oltp stats about latency & TPS per query type
- add stats about columnstore effectiveness
- make timestamp generation uniform between ingest and benchmark
- olap workers now select a fixed amount of data
- olap workers wait until enough data is available before they start running queries
- improve monitor display to include:
  - tps
  - timeouts
  - data range so far ingested
  - planned & processed row counts
  - displaying only certain parts (like e.g. only oltp output if there's no olap workers)
- add support for explain-analyze
- support writing out plans
- add support for server side cursors
- always output proper json for explain output
- add support for writing out statistics to csv, for tpcc and tpch separately
- improve olap monitor view

- make some constants into variables
- fix rowcount for history table
- fix date generation order for orders and order lines to be relative to order and not district
- add a delivery date offset to the order lines on ingestion
- use correct values from helpers.py in transactions.py
- use the official methods to propagate errors from forks to the parent of
  the multiprocess pool: wait() and get()
- rework controller to use simpler datatypes so that we can use synchronized
  timstamp generation somewhat easily
- simplify controller by making the worker functions part of the class
- remove unused code (e.g. latest timestamp from statistics)
- correct again rowcounts for certain tables
- remove columnstores on very small tables (<8MB)