4Bn rows/sec query benchmark: Clickhouse vs QuestDB vs Timescale
Blog post from QuestDB
QuestDB 6.3 introduces significant performance enhancements by enabling parallel SQL filter execution and JIT compiled filters by default, which notably reduces query execution times. In a benchmark competition against TimescaleDB and ClickHouse, QuestDB demonstrated superior performance in executing queries, especially without the need for index-based scans, thanks to its parallelism-friendly storage model. The benchmark involved generating and querying a large dataset of IoT device measurements, where QuestDB consistently outperformed its competitors in both cold and hot query execution scenarios. The introduction of parallel SQL filter execution allows QuestDB to efficiently utilize multi-core systems by dividing data into chunks or "page frames" and processing them concurrently, which is particularly useful for queries with large datasets or multiple partitions. Furthermore, the batch-based filter processing model, similar to JIT compilation, enables faster execution by tightly looping through filter functions and storing results in an intermediate array. These optimizations mark a significant step in QuestDB's ongoing development, with plans for further improvements in processing aggregate queries and function push-down optimizations. Users are encouraged to try the new release and provide feedback, with community contributions welcomed.