How we built inter-thread messaging from scratch

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

Inter-thread messaging is a fundamental part of any asynchronous system. It is the component responsible for the transportation of data between threads. Messaging forms the infrastructure, scaffolding multi-threaded applications, and just like real-world transport infrastructure, we want it to be inexpensive, fast, reliable, and clean. For QuestDB, we wrote our own messaging system, and this post is about how it works and how fast it is.

Demo geospatial and timeseries queries on 250k unique devices

Vlad Ilyushchenko

Vlad Ilyushchenko

QuestDB Team

The last significant features we shipped dealt with out-of-order data ingestion, and we focused our efforts on hitting the highest write-throughput that we could achieve for that release. Our latest feature highlight adds space as a new dimension that our database can manage and allows users to work with data sets that have spatial and time components.

Join Hacktoberfest 2021 and contribute to QuestDB!

Pei-Shan Wu

Pei-Shan Wu

QuestDB Team

Hacktoberfest 2021 is starting today! For the first time, QuestDB is participating as an open source project. We're super excited to meet with other open source contributors and maintainers.

For those who're not familiar with Hacktoberfest, it's a month-long online celebration for open source software and communities. By contributing to open source projects, you can get a special edition Hacktoberfest T-shirt 馃憰 or choose to plant a tree for our planet. 馃尨

QuestDB 6.0.5 September release, geospatial support

Brian Smith

Brian Smith

QuestDB Team

The latest QuestDB release introduces support for geospatial data via the addition of geohash types. Geohashes encode geographic areas as base-32 strings, and native support for this type allows for fast and efficient querying and storage of geodata. Also included are helper functions for rounding timestamps, performance improvements for existing functions, alongside other fixes and features. Here's the full roundup of changes that have just landed!

Launch a QuestDB droplet in 1-click via the DigitalOcean marketplace

Brian Smith

Brian Smith

QuestDB Team

We're happy to announce that QuestDB is available with an official listing on the DigitalOcean marketplace. Deploying QuestDB via 1-click app means it's quick and easy to get started with a high-performance SQL database for time series. In this announcement, we'll show you how to get started and show how you can make use of some free DigitalOcean credit for new users.

QuestDB 6.0.4 July release, Prometheus metrics support

Brian Smith

Brian Smith

QuestDB Team

We've published the latest QuestDB release, and it focuses on community-driven topics raised with us recently by our users. The features included are performance improvements, increased parallelization of existing code, and calendar alignment for SAMPLE BY queries. Also included is the introduction of a framework for exposing Prometheus metrics by our community member Piotr R偶ysko. Here's the full roundup of changes that have just landed!

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.