Ingesting over 4 million rows a second on a single instance
2023-06-19 , Maschinenhaus

When we set up to write an open source fast time series database, we realised we would need every trick in the book to make it as performant as possible. This talk will show what's inside.


How would you build a database to support sustained ingestion of several hundreds of thousands rows per second while running near real-time queries on top?

In this session I will go over some of the technical decisions and trade-offs we applied when building QuestDB, an open source time-series database developed mainly in JAVA, and how we can achieve over four million row writes per second on a single instance without blocking or slowing down the reads. There will be code and demos, of course.

We will also review a history of some of the changes we have gone over the past two years to deal with late and unordered data, non-blocking writes, read-replicas, or faster batch ingestion.

See also: Slides (2.3 MB)

As a Developer Advocate at QuestDB, I help developers make the most of their (fast) data, I make sure the core team behind QuestDB listens to absolutely every piece of feedback I get, and I facilitate collaboration in our open source repository.

I love data storage, big and small. I have extensive experience with SQL, NoSQL, graph, in-memory databases, Big Data, and Machine Learning. I like distributed, scalable, always-on systems.