3 posts tagged with "benchmark"

View All Tags

How databases handle 10 million devices in high-cardinality benchmarks

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

If you're working with large amounts of data, you've likely heard about high-cardinality or ran into issues relating to it. It might sound like an intimidating topic if you're unfamiliar with it, but this article explains what cardinality is and why it crops up often with databases of all types. IoT and monitoring are use cases where high-cardinality is more likely to be a concern. Still, a solid understanding of this concept helps when planning general-purpose database schemas and understanding common factors that can influence database performance.

How we achieved write speeds of 1.4 million rows per second

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

The journey to today's version of QuestDB began with the original prototype in 2013, and we've described what happened since in a post published during our HN launch last year. In the early stages of the project, we were inspired by vector-based append-only systems like kdb+ because of the advantages of speed and the simple code path this model brings. We also required that row timestamps were stored in ascending order, resulting in fast time series queries without an expensive index.

Aggregating billions of rows per second with SIMD

Tancrede Collard

Tancrede Collard

QuestDB Team

SIMD instructions are specific CPU instruction sets for arithmetic calculations that use synthetic parallelization. This approach allows us to perform the same calculations and operations on numerous data points simultaneously. This post describes how SIMD works with typical operation performance and describes additional optimizations we managed to achieve.